summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnkitr192017-07-04 15:33:41 +0530
committerAnkitr192017-07-04 15:33:41 +0530
commit5b9f48de8fe9af5d4b4a3bea0eb3baacd2bc7950 (patch)
tree7f2f4c1784898f975c05095b505f047d77361d87
parentafae3013c86d26dc1b233228431be208705acff0 (diff)
parenta3dfa2a4069740517ca6e83f99dd4e0dbb71c377 (diff)
downloadScilab2C_fossee_old-5b9f48de8fe9af5d4b4a3bea0eb3baacd2bc7950.tar.gz
Scilab2C_fossee_old-5b9f48de8fe9af5d4b4a3bea0eb3baacd2bc7950.tar.bz2
Scilab2C_fossee_old-5b9f48de8fe9af5d4b4a3bea0eb3baacd2bc7950.zip
New functions added and rpi issues resolved
-rw-r--r--Doc/how_to_use_scilab2c.pdfbin0 -> 321865 bytes
-rw-r--r--Makefile53
-rw-r--r--SCI2CTmpResultsReports/ASTStack.datbin8736 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FileInfo.datbin47536 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FunctionList/Converted.datbin6256 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0OpEquald0.datbin21000 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0d0OpColond2.datbin32792 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0disp.datbin21000 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d2OpEquald2.datbin21000 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d2lengthd0.datbin21000 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/main.datbin27456 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/return.datbin13088 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FunctionList/SCI2CAvailableC.datbin197088 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FunctionList/ToBeConverted.datbin8712 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/FunctionList/USER2CAvailableC.datbin6256 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/GBLVAR.datbin2152 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/SCI2CGeneralReport.txt642
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRADCSetup.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalIn.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalOut.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalPortSetup.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalSetup.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRGetTimerValue.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM0SetDuty.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM0Setup.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM1SetDuty.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM1Setup.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM2SetDuty.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM2Setup.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRReadADC.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRSleep.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRTimerSetup.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTReceiveChar.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTSetup.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTTransmit.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Abs.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Atan.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BALANC.acls22
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BASE2DEC.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BIN2DEC.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CONVSTR.acls15
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CUMSUM.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_AdaptiveThreshold.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Blur.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Canny.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CornerHarris.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CreateImage.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CvtColor.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Dilate.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_DistanceTransform.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_GetImgSize.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_LoadImage.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_MedianBlur.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_ShowImage.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Threshold.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_WaitKey.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cepstrum.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Convol.acls21
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cosd.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cotd.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Coth.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Csc.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cscd.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Csch.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2BASE.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2BIN.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2HEX.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2OCT.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DIFF.acls15
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Disp.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Double.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DoubleComplex.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Expm.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FACTOR.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FACTORIAL.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FFT.acls20
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FFTShift.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FLIPDIM.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Find.acls26
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Float.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FloatComplex.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Frmag.acls26
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Global.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/HEX2DEC.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IFFT.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Int16.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Int8.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Interp1.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IsEmpty.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IsNan.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/KRON.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/LQE.acls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/LQR.acls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Length.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Lev.acls24
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Max.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mclose.acls7
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Meanf.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mget.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mopen.acls39
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mput.acls7
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mseek.acls6
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/NORM.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OBSCONT.acls13
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OCT2DEC.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/ODE.acls30
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpApex.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpBackSlash.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpCc.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpColon.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpDotHat.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpDotStar.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpEqual.acls13
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpExt.acls15
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpIns.acls6
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpLogEq.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpLogNot.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpMinus.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpPlus.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpRc.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpSlash.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpStar.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/PRIMES.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Part.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RCOND.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DelayMilli.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DigitalIn.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DigitalSetup.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_GetMilli.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_PinISR.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SerialDataAvail.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SerialSendData.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SetupSerial.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_ThreadCreate.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Return.acls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/SCHUR.acls106
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRCMP.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRRCHR.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRREV.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRSUBST.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/SYSLIN.acls15
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sec.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Secd.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sech.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sign.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sin.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Size.acls18
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Spec.acls13
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sqrt.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Strindex.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/String.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sum.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/TRIU.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Trace.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Uint16.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Uint8.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Zeros.acls21
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitand.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitcmp.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitget.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitset.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cat.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_analog_in.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_analog_out.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_dcmotor_run.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_dcmotor_setup.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_digital_in.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_digital_out.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_attach.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_detach.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_move.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/diag.acls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/linspace.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/rand.acls21
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/sleep.acls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRADCSetup.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalIn.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalOut.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalPortSetup.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalSetup.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRGetTimerValue.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM0SetDuty.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM0Setup.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM1SetDuty.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM1Setup.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM2SetDuty.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM2Setup.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRReadADC.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRSleep.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRTimerSetup.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTReceiveChar.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTSetup.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTTransmit.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_AdaptiveThreshold.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Blur.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Canny.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CornerHarris.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CreateImage.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CvtColor.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Dilate.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_DistanceTransform.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Erode.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_GaussianBlur.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_GetImgSize.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_LoadImage.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_MedianBlur.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_SaveImage.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_ShowImage.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Threshold.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_WaitKey.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/Cepstrum.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpApex.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpBackSlash.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpCc.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpColon.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotApex.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotBackSlash.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotHat.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotSlash.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotStar.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpEqual.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpExt.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpHat.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpIns.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogAnd.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogEq.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogGe.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogGt.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogLe.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogLt.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogNe.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogNot.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogOr.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpMinus.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpPlus.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpRc.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpSlash.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpStar.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DelayMicro.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DelayMilli.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalIn.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalOut.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalSetup.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_GetMicros.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_GetMillis.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetClock.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetMode.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetRange.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMWrite.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_PinISR.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialClose.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialDataAvail.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialFlush.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialGetChar.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialSendData.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialSetup.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_ThreadCreate.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/SCI2Cresize.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/abs.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acos.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acosd.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acosh.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acot.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acotd.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acoth.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acsc.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acscd.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acsch.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asec.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asecd.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asech.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asin.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asind.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asinh.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atan.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atand.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atanh.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/balanc.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/base2dec.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bin2dec.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitand.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitcmp.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitget.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitor.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitset.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitxor.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cat.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ceil.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/chol.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_analog_in.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_analog_out.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_dcmotor_run.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_dcmotor_setup.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_digital_in.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_digital_out.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_attach.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_detach.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_move.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/conj.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/convol.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/convstr.ann2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cos.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cosd.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cosh.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cotd.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/coth.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/csc.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cscd.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/csch.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cumprod.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cumsum.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2base.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2bin.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2hex.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2oct.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/det.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/diag.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/diff.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/disp.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/double.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/doublecomplex.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/exp.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/expm.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/eye.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/factor.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/factorial.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fft.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fftshift.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/find.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fix.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/flipdim.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/float.ann2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/floatcomplex.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/floor.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/frmag.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/global.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/hex2dec.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ifft.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/imag.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int16.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int8.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/interp1.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/inv.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/isempty.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/isnan.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/kron.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/length.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lev.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/linspace.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log10.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log1p.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/logspace.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lqe.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lqr.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/max.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mclose.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mean.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/meanf.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mget.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/min.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mopen.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mput.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mseek.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/norm.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/obscont.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/oct2dec.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ode.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ones.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/part.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/primes.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/prod.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/rand.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/rcond.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/real.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/return.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/round.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/schur.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sec.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/secd.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sech.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sin.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sinh.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/size.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sleep.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/spec.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sqrt.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/st_deviation.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/stdevf.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strcmp.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strindex.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/string.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strrchr.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strrev.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strsubst.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sum.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/syslin.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tan.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tanh.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/trace.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tril.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/triu.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/type.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/uint16.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/uint8.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/variance.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/variancef.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/zeros.ann1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRADCSetup.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalIn.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalOut.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalPortSetup.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalSetup.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRGetTimerValue.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM0SetDuty.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM0Setup.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM1SetDuty.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM1Setup.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM2SetDuty.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM2Setup.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRReadADC.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRSleep.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRTimerSetup.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTReceiveChar.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTSetup.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTTransmit.lcls15
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Abs.lcls16
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Atan.lcls24
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BALANC.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BASE2DEC.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BIN2DEC.lcls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CONVSTR.lcls5
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CUMSUM.lcls18
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_AdaptiveThreshold.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Blur.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Canny.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CornerHarris.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CreateImage.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CvtColor.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Dilate.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_DistanceTransform.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_GetImgSize.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_LoadImage.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_MedianBlur.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_ShowImage.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Threshold.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_WaitKey.lcls6
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cepstrum.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Convol.lcls65
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cosd.lcls4
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cotd.lcls4
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Coth.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Csc.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cscd.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Csch.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2BASE.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2BIN.lcls20
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2HEX.lcls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2OCT.lcls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DIFF.lcls28
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Disp.lcls19
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Double.lcls12
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DoubleComplex.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Expm.lcls4
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FACTOR.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FACTORIAL.lcls4
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FFT.lcls24
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FFTShift.lcls24
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FLIPDIM.lcls26
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Find.lcls40
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Float.lcls24
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FloatComplex.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Frmag.lcls16
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Global.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/HEX2DEC.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IFFT.lcls12
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Int16.lcls12
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Int8.lcls12
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Interp1.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IsEmpty.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IsNan.lcls16
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/KRON.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/LQE.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/LQR.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Length.lcls12
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Lev.lcls12
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Max.lcls48
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mclose.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Meanf.lcls48
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mget.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mopen.lcls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mput.lcls24
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mseek.lcls6
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/NORM.lcls9
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OBSCONT.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OCT2DEC.lcls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/ODE.lcls12
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpApex.lcls16
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpBackSlash.lcls48
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpCc.lcls32
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpColon.lcls48
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpDotHat.lcls52
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpDotStar.lcls56
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpEqual.lcls10
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpExt.lcls28
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpIns.lcls82
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpLogEq.lcls64
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpLogNot.lcls16
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpMinus.lcls64
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpPlus.lcls68
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpRc.lcls32
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpSlash.lcls60
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpStar.lcls121
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/PRIMES.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Part.lcls4
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RCOND.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DelayMilli.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DigitalIn.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DigitalSetup.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_GetMilli.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_PinISR.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SerialDataAvail.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SerialSendData.lcls13
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SetupSerial.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_ThreadCreate.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Return.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/SCHUR.lcls12
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRCMP.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRRCHR.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRREV.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRSUBST.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/SYSLIN.lcls17
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sec.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Secd.lcls4
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sech.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sign.lcls16
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sin.lcls16
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Size.lcls25
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Spec.lcls20
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sqrt.lcls24
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Strindex.lcls4
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/String.lcls18
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sum.lcls65
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/TRIU.lcls32
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Trace.lcls8
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Uint16.lcls12
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Uint8.lcls12
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Zeros.lcls39
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitand.lcls4
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitcmp.lcls4
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitget.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitset.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cat.lcls53
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_analog_in.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_analog_out.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_dcmotor_run.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_dcmotor_setup.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_digital_in.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_digital_out.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_attach.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_detach.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_move.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/diag.lcls30
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/linspace.lcls2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/rand.lcls20
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/sleep.lcls1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRADCSetup.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalIn.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalOut.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalPortSetup.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalSetup.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRGetTimerValue.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM0SetDuty.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM0Setup.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM1SetDuty.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM1Setup.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM2SetDuty.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM2Setup.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRReadADC.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRSleep.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRTimerSetup.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTReceiveChar.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTSetup.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTTransmit.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_AdaptiveThreshold.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Blur.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Canny.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CornerHarris.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CreateImage.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CvtColor.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Dilate.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_DistanceTransform.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Erode.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_GaussianBlur.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_GetImgSize.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_LoadImage.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_MedianBlur.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_SaveImage.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_ShowImage.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Threshold.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_WaitKey.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/Cepstrum.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpApex.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpBackSlash.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpCc.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpColon.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotApex.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotBackSlash.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotHat.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotSlash.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotStar.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpEqual.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpExt.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpHat.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpIns.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogAnd.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogEq.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogGe.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogGt.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogLe.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogLt.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogNe.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogNot.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogOr.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpMinus.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpPlus.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpRc.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpSlash.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpStar.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DelayMicro.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DelayMilli.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalIn.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalOut.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalSetup.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_GetMicros.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_GetMillis.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetClock.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetMode.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetRange.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMWrite.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_PinISR.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialClose.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialDataAvail.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialFlush.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialGetChar.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialSendData.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialSetup.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_ThreadCreate.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/SCI2Cresize.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/abs.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acos.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acosd.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acosh.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acot.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acotd.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acoth.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acsc.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acscd.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acsch.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asec.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asecd.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asech.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asin.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asind.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asinh.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atan.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atand.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atanh.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/balanc.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/base2dec.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bin2dec.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitand.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitcmp.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitget.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitor.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitset.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitxor.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cat.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ceil.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/chol.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_analog_in.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_analog_out.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_dcmotor_run.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_dcmotor_setup.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_digital_in.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_digital_out.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_attach.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_detach.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_move.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/conj.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/convol.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/convstr.lst2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cos.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cosd.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cosh.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cotd.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/coth.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/csc.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cscd.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/csch.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cumprod.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cumsum.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2base.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2bin.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2hex.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2oct.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/det.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/diag.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/diff.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/disp.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/double.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/doublecomplex.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/exp.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/expm.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/eye.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/factor.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/factorial.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fft.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fftshift.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/find.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fix.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/flipdim.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/float.lst2
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/floatcomplex.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/floor.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/frmag.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/global.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/hex2dec.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ifft.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/imag.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int16.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int8.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/interp1.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/inv.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/isempty.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/isnan.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/kron.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/length.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lev.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/linspace.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log10.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log1p.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/logspace.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lqe.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lqr.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/max.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mclose.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mean.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/meanf.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mget.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/min.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mopen.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mput.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mseek.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/norm.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/obscont.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/oct2dec.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ode.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ones.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/part.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/primes.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/prod.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/rand.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/rcond.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/real.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/return.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/round.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/schur.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sec.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/secd.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sech.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sin.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sinh.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/size.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sleep.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/spec.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sqrt.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/st_deviation.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/stdevf.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strcmp.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strindex.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/string.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strrchr.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strrev.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strsubst.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sum.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/syslin.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tan.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tanh.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/trace.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tril.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/triu.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/type.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/uint16.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/uint8.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/variance.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/variancef.lst1
-rw-r--r--SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/zeros.lst1
-rw-r--r--SCI2CTmpResultsReports/SharedInfo.datbin84872 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/lengthfinder.ast48
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/lengthfinder_copy.sci5
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/main.h58
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/main.rpt561
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.datbin22624 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.datbin2152 -> 0 bytes
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/main_declarations.c8
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/main_globaldeclarations.c1
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/main_initvars.c1
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/main_pass1.c30
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/main_pass1free.c12
-rw-r--r--SCI2CTmpResultsReports/lengthfinder/main_pass2.c70
-rw-r--r--builder.sce4
-rw-r--r--cleaner.sce38
-rw-r--r--cosine.sci5
-rw-r--r--etc/scilab2c.start8
-rwxr-xr-xhelp/builder_help.sce4
-rwxr-xr-xhelp/cleaner_help.sce21
-rw-r--r--help/en_US/AVRADCSetup.xml83
-rw-r--r--help/en_US/AVRDigitalIn.xml79
-rw-r--r--help/en_US/AVRDigitalOut.xml82
-rw-r--r--help/en_US/AVRDigitalPortSetup.xml81
-rw-r--r--help/en_US/AVRDigitalSetup.xml83
-rw-r--r--help/en_US/AVRGetTimerValue.xml73
-rw-r--r--help/en_US/AVRPWM0SetDuty.xml66
-rw-r--r--help/en_US/AVRPWM0Setup.xml92
-rw-r--r--help/en_US/AVRPWM1SetDuty.xml66
-rw-r--r--help/en_US/AVRPWM1Setup.xml91
-rw-r--r--help/en_US/AVRPWM2SetDuty.xml65
-rw-r--r--help/en_US/AVRPWM2Setup.xml88
-rw-r--r--help/en_US/AVRReadADC.xml71
-rw-r--r--help/en_US/AVRSleep.xml56
-rw-r--r--help/en_US/AVRTimerSetup.xml37
-rw-r--r--help/en_US/AVRUARTReceive.xml59
-rw-r--r--help/en_US/AVRUARTSetup.xml90
-rw-r--r--help/en_US/AVRUARTTransmit.xml59
-rw-r--r--help/en_US/CV_AdaptiveThreshold.xml86
-rw-r--r--help/en_US/CV_Blur.xml92
-rw-r--r--help/en_US/CV_Canny.xml88
-rw-r--r--help/en_US/CV_CornerHarris.xml93
-rw-r--r--help/en_US/CV_CreateImage.xml76
-rw-r--r--help/en_US/CV_CvtColor.xml81
-rw-r--r--help/en_US/CV_Dilate.xml93
-rw-r--r--help/en_US/CV_DistanceTransform.xml78
-rw-r--r--help/en_US/CV_Erode.xml93
-rw-r--r--help/en_US/CV_GaussianBlur.xml95
-rw-r--r--help/en_US/CV_GetImgSize.xml75
-rw-r--r--help/en_US/CV_LoadImage.xml83
-rw-r--r--help/en_US/CV_MedianBlur.xml77
-rw-r--r--help/en_US/CV_SaveImage.xml77
-rw-r--r--help/en_US/CV_ShowImage.xml77
-rw-r--r--help/en_US/CV_Threshold.xml81
-rw-r--r--help/en_US/CV_WaitKey.xml76
-rw-r--r--help/en_US/build_help.sce3
-rw-r--r--help/en_US/master_help.xml91
-rw-r--r--help/en_US/scilab_en_US_help/AVRADCSetup.html88
-rw-r--r--help/en_US/scilab_en_US_help/AVRDigitalIn.html88
-rw-r--r--help/en_US/scilab_en_US_help/AVRDigitalOut.html91
-rw-r--r--help/en_US/scilab_en_US_help/AVRDigitalPortSetup.html89
-rw-r--r--help/en_US/scilab_en_US_help/AVRDigitalSetup.html91
-rw-r--r--help/en_US/scilab_en_US_help/AVRGetTimerValue.html83
-rw-r--r--help/en_US/scilab_en_US_help/AVRPWM0SetDuty.html80
-rw-r--r--help/en_US/scilab_en_US_help/AVRPWM0Setup.html98
-rw-r--r--help/en_US/scilab_en_US_help/AVRPWM1SetDuty.html83
-rw-r--r--help/en_US/scilab_en_US_help/AVRPWM1Setup.html100
-rw-r--r--help/en_US/scilab_en_US_help/AVRPWM2SetDuty.html81
-rw-r--r--help/en_US/scilab_en_US_help/AVRPWM2Setup.html97
-rw-r--r--help/en_US/scilab_en_US_help/AVRReadADC.html84
-rw-r--r--help/en_US/scilab_en_US_help/AVRSleep.html75
-rw-r--r--help/en_US/scilab_en_US_help/AVRTimerSetup.html66
-rw-r--r--help/en_US/scilab_en_US_help/AVRUARTReceive.html77
-rw-r--r--help/en_US/scilab_en_US_help/AVRUARTSetup.html96
-rw-r--r--help/en_US/scilab_en_US_help/AVRUARTTransmit.html77
-rw-r--r--help/en_US/scilab_en_US_help/CV_AdaptiveThreshold.html94
-rw-r--r--help/en_US/scilab_en_US_help/CV_Blur.html96
-rw-r--r--help/en_US/scilab_en_US_help/CV_Canny.html95
-rw-r--r--help/en_US/scilab_en_US_help/CV_CornerHarris.html98
-rw-r--r--help/en_US/scilab_en_US_help/CV_CreateImage.html85
-rw-r--r--help/en_US/scilab_en_US_help/CV_CvtColor.html90
-rw-r--r--help/en_US/scilab_en_US_help/CV_Dilate.html99
-rw-r--r--help/en_US/scilab_en_US_help/CV_DistanceTransform.html87
-rw-r--r--help/en_US/scilab_en_US_help/CV_Erode.html99
-rw-r--r--help/en_US/scilab_en_US_help/CV_GaussianBlur.html98
-rw-r--r--help/en_US/scilab_en_US_help/CV_GetImgSize.html84
-rw-r--r--help/en_US/scilab_en_US_help/CV_LoadImage.html88
-rw-r--r--help/en_US/scilab_en_US_help/CV_MedianBlur.html86
-rw-r--r--help/en_US/scilab_en_US_help/CV_SaveImage.html86
-rw-r--r--help/en_US/scilab_en_US_help/CV_ShowImage.html86
-rw-r--r--help/en_US/scilab_en_US_help/CV_Threshold.html90
-rw-r--r--help/en_US/scilab_en_US_help/CV_WaitKey.html83
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/DOCSbin0 -> 2855 bytes
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB2
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS1
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONSbin0 -> 12082 bytes
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA2
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/TMAPbin0 -> 10240 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabCaution.pngbin0 -> 603 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabEdit.pngbin0 -> 574 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabExecute.pngbin0 -> 660 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabImportant.pngbin0 -> 717 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabNote.pngbin0 -> 863 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabTip.pngbin0 -> 863 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabWarning.pngbin0 -> 603 bytes
-rw-r--r--help/en_US/scilab_en_US_help/c_code.css54
-rw-r--r--help/en_US/scilab_en_US_help/index.html259
-rw-r--r--help/en_US/scilab_en_US_help/jhelpidx.xml3
-rw-r--r--help/en_US/scilab_en_US_help/jhelpmap.jhm41
-rw-r--r--help/en_US/scilab_en_US_help/jhelpset.hs28
-rw-r--r--help/en_US/scilab_en_US_help/jhelptoc.xml43
-rw-r--r--help/en_US/scilab_en_US_help/scilab_code.css96
-rw-r--r--help/en_US/scilab_en_US_help/section_0da8c7f3adca54f0475553087384b7a7.html259
-rw-r--r--help/en_US/scilab_en_US_help/section_473a2b9e79723ff76a7f243f85d2b6b8.html259
-rw-r--r--help/en_US/scilab_en_US_help/style.css350
-rw-r--r--help/en_US/scilab_en_US_help/xml_code.css94
-rw-r--r--includes/lapack.h9
-rw-r--r--includes/sci2clib.h103
-rw-r--r--interfaces/int_OpApex.h34
-rw-r--r--interfaces/int_OpBackSlash.h109
-rw-r--r--interfaces/int_OpCc.h134
-rw-r--r--interfaces/int_OpColon.h101
-rw-r--r--interfaces/int_OpDotApex.h34
-rw-r--r--interfaces/int_OpDotBackSlash.h153
-rw-r--r--interfaces/int_OpDotHat.h204
-rw-r--r--interfaces/int_OpDotSlash.h176
-rw-r--r--interfaces/int_OpDotStar.h151
-rw-r--r--interfaces/int_OpEqual.h39
-rw-r--r--interfaces/int_OpExt.h109
-rw-r--r--interfaces/int_OpHat.h153
-rw-r--r--interfaces/int_OpIns.h364
-rw-r--r--interfaces/int_OpLogAnd.h179
-rw-r--r--interfaces/int_OpLogEq.h145
-rw-r--r--interfaces/int_OpLogGe.h110
-rw-r--r--interfaces/int_OpLogGt.h103
-rw-r--r--interfaces/int_OpLogLe.h102
-rw-r--r--interfaces/int_OpLogLt.h102
-rw-r--r--interfaces/int_OpLogNe.h136
-rw-r--r--interfaces/int_OpLogNot.h67
-rw-r--r--interfaces/int_OpLogOr.h171
-rw-r--r--interfaces/int_OpMinus.h248
-rw-r--r--interfaces/int_OpPlus.h185
-rw-r--r--interfaces/int_OpRc.h139
-rw-r--r--interfaces/int_OpSlash.h195
-rw-r--r--interfaces/int_OpStar.h223
-rw-r--r--interfaces/int_abs.h50
-rw-r--r--interfaces/int_acos.h42
-rw-r--r--interfaces/int_acosd.h34
-rw-r--r--interfaces/int_acosh.h42
-rw-r--r--interfaces/int_acot.h42
-rw-r--r--interfaces/int_acotd.h33
-rw-r--r--interfaces/int_acoth.h43
-rw-r--r--interfaces/int_acsc.h42
-rw-r--r--interfaces/int_acscd.h34
-rw-r--r--interfaces/int_acsch.h34
-rw-r--r--interfaces/int_asec.h34
-rw-r--r--interfaces/int_asecd.h34
-rw-r--r--interfaces/int_asech.h34
-rw-r--r--interfaces/int_asin.h42
-rw-r--r--interfaces/int_asind.h34
-rw-r--r--interfaces/int_asinh.h34
-rw-r--r--interfaces/int_atan.h44
-rw-r--r--interfaces/int_atand.h34
-rw-r--r--interfaces/int_atanh.h42
-rw-r--r--interfaces/int_base2dec.h27
-rw-r--r--interfaces/int_bin2dec.h37
-rw-r--r--interfaces/int_bitand.h26
-rw-r--r--interfaces/int_bitcmp.h26
-rw-r--r--interfaces/int_bitor.h26
-rw-r--r--interfaces/int_bitxor.h26
-rw-r--r--interfaces/int_cat.h359
-rw-r--r--interfaces/int_ceil.h50
-rw-r--r--interfaces/int_cepstrum.h34
-rw-r--r--interfaces/int_chol.h34
-rw-r--r--interfaces/int_conj.h52
-rw-r--r--interfaces/int_convol.h153
-rw-r--r--interfaces/int_convstr.h27
-rw-r--r--interfaces/int_cos.h50
-rw-r--r--interfaces/int_cosd.h28
-rw-r--r--interfaces/int_cosh.h50
-rw-r--r--interfaces/int_cotd.h28
-rw-r--r--interfaces/int_coth.h32
-rw-r--r--interfaces/int_csc.h32
-rw-r--r--interfaces/int_cscd.h32
-rw-r--r--interfaces/int_csch.h32
-rw-r--r--interfaces/int_cumprod.h54
-rw-r--r--interfaces/int_cumsum.h54
-rw-r--r--interfaces/int_dec2base.h35
-rw-r--r--interfaces/int_dec2bin.h48
-rw-r--r--interfaces/int_dec2hex.h35
-rw-r--r--interfaces/int_dec2oct.h36
-rw-r--r--interfaces/int_det.h34
-rw-r--r--interfaces/int_diag.h85
-rw-r--r--interfaces/int_diffc.h105
-rw-r--r--interfaces/int_disp.h60
-rw-r--r--interfaces/int_dist.h34
-rw-r--r--interfaces/int_exp.h50
-rw-r--r--interfaces/int_exp10.h34
-rw-r--r--interfaces/int_expm.h26
-rw-r--r--interfaces/int_eye.h88
-rw-r--r--interfaces/int_factor.h29
-rw-r--r--interfaces/int_factorial.h31
-rw-r--r--interfaces/int_fft.h71
-rw-r--r--interfaces/int_fftshift.h51
-rw-r--r--interfaces/int_files.h58
-rw-r--r--interfaces/int_fill.h51
-rw-r--r--interfaces/int_find.h184
-rw-r--r--interfaces/int_fix.h50
-rw-r--r--interfaces/int_flipdim.h109
-rw-r--r--interfaces/int_float.h38
-rw-r--r--interfaces/int_floor.h50
-rw-r--r--interfaces/int_frexp.h22
-rw-r--r--interfaces/int_hex2dec.h26
-rw-r--r--interfaces/int_hilbert.h26
-rw-r--r--interfaces/int_ifft.h52
-rw-r--r--interfaces/int_imag.h50
-rw-r--r--interfaces/int_int.h34
-rw-r--r--interfaces/int_int16.h38
-rw-r--r--interfaces/int_int8.h38
-rw-r--r--interfaces/int_invert.h50
-rw-r--r--interfaces/int_isempty.h34
-rw-r--r--interfaces/int_isnan.h34
-rw-r--r--interfaces/int_kron.h43
-rw-r--r--interfaces/int_length.h70
-rw-r--r--interfaces/int_lev.h53
-rw-r--r--interfaces/int_levin.h60
-rw-r--r--interfaces/int_lnp1m1.h26
-rw-r--r--interfaces/int_log.h42
-rw-r--r--interfaces/int_log10.h42
-rw-r--r--interfaces/int_log1p.h41
-rw-r--r--interfaces/int_lpc2cep.h27
-rw-r--r--interfaces/int_max.h53
-rw-r--r--interfaces/int_mean.h71
-rw-r--r--interfaces/int_meanf.h183
-rw-r--r--interfaces/int_min.h53
-rw-r--r--interfaces/int_norm.h53
-rw-r--r--interfaces/int_obscont.h29
-rw-r--r--interfaces/int_oct2dec.h35
-rw-r--r--interfaces/int_ode.h68
-rw-r--r--interfaces/int_ones.h87
-rw-r--r--interfaces/int_pow.h34
-rw-r--r--interfaces/int_primes.h29
-rw-r--r--interfaces/int_prod.h71
-rw-r--r--interfaces/int_pythag.h27
-rw-r--r--interfaces/int_rand.h94
-rw-r--r--interfaces/int_real.h61
-rw-r--r--interfaces/int_round.h50
-rw-r--r--interfaces/int_schur.h60
-rw-r--r--interfaces/int_sec.h34
-rw-r--r--interfaces/int_secd.h28
-rw-r--r--interfaces/int_sech.h32
-rw-r--r--interfaces/int_sign.h50
-rw-r--r--interfaces/int_sin.h50
-rw-r--r--interfaces/int_sinh.h50
-rw-r--r--interfaces/int_size.h72
-rw-r--r--interfaces/int_sqrt.h64
-rw-r--r--interfaces/int_stdevf.h188
-rw-r--r--interfaces/int_string.h52
-rw-r--r--interfaces/int_strrchr.h25
-rw-r--r--interfaces/int_strrev.h25
-rw-r--r--interfaces/int_strsubst.h28
-rw-r--r--interfaces/int_sum.h70
-rw-r--r--interfaces/int_syslin.h78
-rw-r--r--interfaces/int_tan.h50
-rw-r--r--interfaces/int_tanh.h50
-rw-r--r--interfaces/int_trace.h48
-rw-r--r--interfaces/int_transpose.h51
-rw-r--r--interfaces/int_tril.h62
-rw-r--r--interfaces/int_triu.h62
-rw-r--r--interfaces/int_type.h34
-rw-r--r--interfaces/int_uint16.h36
-rw-r--r--interfaces/int_uint8.h36
-rw-r--r--interfaces/int_v2magn.h34
-rw-r--r--interfaces/int_variance.h71
-rw-r--r--interfaces/int_vmagn.h51
-rw-r--r--interfaces/int_xcorr.h176
-rw-r--r--interfaces/int_zeros.h89
-rw-r--r--jar/scilab_en_US_help.jarbin0 -> 86255 bytes
-rwxr-xr-xlocales/en_US.po35
-rw-r--r--locales/en_US/LC_MESSAGES/scilab2c.mobin0 -> 130 bytes
-rwxr-xr-xlocales/en_US/LC_MESSAGES/scilab2c.po35
-rw-r--r--macros/ASTManagement/%equal_string.sci2
-rw-r--r--macros/ASTManagement/%funcall_string.sci9
-rw-r--r--macros/ASTManagement/%operatio_string.sci14
-rw-r--r--macros/ASTManagement/%operation_string.sci2
-rw-r--r--macros/ASTManagement/AST2Ccode.sci90
-rw-r--r--macros/ASTManagement/AST_HandleCC.sci69
-rw-r--r--macros/ASTManagement/AST_HandleEndGenFun.sci36
-rw-r--r--macros/ASTManagement/AST_HandleFunCC.sci176
-rw-r--r--macros/ASTManagement/AST_HandleFunRC.sci178
-rw-r--r--macros/ASTManagement/AST_HandleIfElse.sci6
-rw-r--r--macros/ASTManagement/AST_HandleRC.sci88
-rw-r--r--macros/ASTManagement/AST_HandleWhileStatem.sci60
-rw-r--r--macros/ASTManagement/AST_ParseEqualStruct.sci2
-rw-r--r--macros/ASTManagement/AST_ParseFuncallStruct.sci4
-rw-r--r--macros/ASTManagement/AST_ParseIfExprStruct.sci51
-rw-r--r--macros/ASTManagement/AST_ParseOperStruct.sci11
-rw-r--r--macros/ASTManagement/GenOutArgNames.sci110
-rw-r--r--macros/ASTManagement/_funcall_string.sci9
-rw-r--r--macros/ASTManagement/_operatio_string.sci2
-rw-r--r--macros/ASTManagement/_operation_string.sci2
-rw-r--r--macros/ASTManagement/libbin1832 -> 2136 bytes
-rw-r--r--macros/ASTManagement/names4
-rw-r--r--macros/CCodeGeneration/C_GenDeclarations_Dup.sci187
-rw-r--r--macros/CCodeGeneration/C_GenerateMakefile.sci21
-rw-r--r--macros/CCodeGeneration/C_GenerateMkfle_arduino.sci12
-rw-r--r--macros/CCodeGeneration/C_IfExpression.sci31
-rw-r--r--macros/CCodeGeneration/C_WhileExpression.sci28
-rw-r--r--macros/CCodeGeneration/GetClsFileName.sci4
-rw-r--r--macros/CCodeGeneration/JoinDeclarAndCcode.sci6
-rw-r--r--macros/CCodeGeneration/libbin976 -> 1232 bytes
-rw-r--r--macros/CCodeGeneration/names2
-rw-r--r--macros/ErrorMessages/libbin488 -> 696 bytes
-rw-r--r--macros/FunctionAnnotation/FA_GetFunAnn.sci3
-rw-r--r--macros/FunctionAnnotation/FA_INSZ_RPI.sci5
-rw-r--r--macros/FunctionAnnotation/FA_SZ_U_SVA.sci39
-rw-r--r--macros/FunctionAnnotation/names2
-rw-r--r--macros/FunctionList/libbin556 -> 764 bytes
-rw-r--r--macros/GeneralFunctions/SCI2CFindFile.sci1
-rw-r--r--macros/GeneralFunctions/libbin1100 -> 1308 bytes
-rw-r--r--macros/Hardware/AVR/AVRADCSetup.sci24
-rw-r--r--macros/Hardware/AVR/AVRDigitalIn.sci12
-rw-r--r--macros/Hardware/AVR/AVRDigitalOut.sci10
-rw-r--r--macros/Hardware/AVR/AVRDigitalPortSetup.sci11
-rw-r--r--macros/Hardware/AVR/AVRDigitalSetup.sci13
-rw-r--r--macros/Hardware/AVR/AVRGetTimerValue.sci16
-rw-r--r--macros/Hardware/AVR/AVRPWM0SetDuty.sci17
-rw-r--r--macros/Hardware/AVR/AVRPWM0Setup.sci57
-rw-r--r--macros/Hardware/AVR/AVRPWM1SetDuty.sci20
-rw-r--r--macros/Hardware/AVR/AVRPWM1Setup.sci54
-rw-r--r--macros/Hardware/AVR/AVRPWM2SetDuty.sci11
-rw-r--r--macros/Hardware/AVR/AVRPWM2Setup.sci48
-rw-r--r--macros/Hardware/AVR/AVRReadADC.sci15
-rw-r--r--macros/Hardware/AVR/AVRSleep.sci19
-rw-r--r--macros/Hardware/AVR/AVRTimerSetup.sci45
-rw-r--r--macros/Hardware/AVR/AVRUARTReceive.sci9
-rw-r--r--macros/Hardware/AVR/AVRUARTSetup.sci44
-rw-r--r--macros/Hardware/AVR/AVRUARTTransmit.sci16
-rw-r--r--macros/Hardware/AVR/libbin940 -> 1148 bytes
-rw-r--r--macros/Hardware/RasberryPi/libbin944 -> 1152 bytes
-rw-r--r--macros/ImageProcessing/core/CV_CreateImage.sci18
-rw-r--r--macros/ImageProcessing/core/CV_GetImgSize.sci14
-rw-r--r--macros/ImageProcessing/core/libbin492 -> 700 bytes
-rw-r--r--macros/ImageProcessing/highgui/CV_LoadImage.sci25
-rw-r--r--macros/ImageProcessing/highgui/CV_SaveImage.sci20
-rw-r--r--macros/ImageProcessing/highgui/CV_ShowImage.sci18
-rw-r--r--macros/ImageProcessing/highgui/CV_WaitKey.sci20
-rw-r--r--macros/ImageProcessing/highgui/libbin552 -> 760 bytes
-rw-r--r--macros/ImageProcessing/imgproc/CV_AdaptiveThreshold.sci33
-rw-r--r--macros/ImageProcessing/imgproc/CV_Blur.sci41
-rw-r--r--macros/ImageProcessing/imgproc/CV_Canny.sci36
-rw-r--r--macros/ImageProcessing/imgproc/CV_CornerHarris.sci49
-rw-r--r--macros/ImageProcessing/imgproc/CV_CvtColor.sci25
-rw-r--r--macros/ImageProcessing/imgproc/CV_Dilate.sci53
-rw-r--r--macros/ImageProcessing/imgproc/CV_DistanceTransform.sci24
-rw-r--r--macros/ImageProcessing/imgproc/CV_Erode.sci52
-rw-r--r--macros/ImageProcessing/imgproc/CV_GaussianBlur.sci52
-rw-r--r--macros/ImageProcessing/imgproc/CV_MedianBlur.sci25
-rw-r--r--macros/ImageProcessing/imgproc/CV_Threshold.sci25
-rw-r--r--macros/ImageProcessing/imgproc/libbin720 -> 928 bytes
-rw-r--r--macros/Scilab-Arduino/GetArduinoFunctions.sci3
-rw-r--r--macros/Scilab-Arduino/GetArduinoSetupFunctions.sci4
-rw-r--r--macros/Scilab-Arduino/IsArduinoSetupFunction.sci2
-rw-r--r--macros/Scilab-Arduino/cmd_i2c_dev.sci3
-rw-r--r--macros/Scilab-Arduino/cmd_i2c_read.sci2
-rw-r--r--macros/Scilab-Arduino/cmd_i2c_read_register.sci3
-rw-r--r--macros/Scilab-Arduino/cmd_i2c_write.sci2
-rw-r--r--macros/Scilab-Arduino/cmd_i2c_write_register.sci2
-rw-r--r--macros/Scilab-Arduino/libbin564 -> 892 bytes
-rw-r--r--macros/Scilab-Arduino/names5
-rw-r--r--macros/SymbolTable/ST_AnalyzeScope.sci1
-rw-r--r--macros/SymbolTable/ST_GetInArgInfo.sci15
-rw-r--r--macros/SymbolTable/ST_InsOutArg.sci2
-rw-r--r--macros/SymbolTable/ST_InsOutArg_Dup.sci195
-rw-r--r--macros/SymbolTable/libbin696 -> 928 bytes
-rw-r--r--macros/SymbolTable/names1
-rw-r--r--macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci1560
-rw-r--r--macros/ToolInitialization/INIT_GenSharedInfo.sci4
-rw-r--r--macros/ToolInitialization/INIT_SCI2C.sci4
-rw-r--r--macros/buildmacros.sce6
-rw-r--r--macros/cb_sci2c_gui.sci88
-rw-r--r--macros/findDeps/getAllHeaders.sci67
-rw-r--r--macros/findDeps/getAllInterfaces.sci43
-rw-r--r--macros/findDeps/getAllLibraries.sci3
-rw-r--r--macros/findDeps/getAllSources.sci206
-rw-r--r--macros/findDeps/getArduinoFiles.sci1
-rw-r--r--macros/libbin504 -> 712 bytes
-rw-r--r--macros/runsci2c.sci9
-rw-r--r--macros/sci2c_gui.sci38
-rw-r--r--macros/scilab2c.sci43
-rw-r--r--main.c97
-rw-r--r--main.h58
-rw-r--r--src/c/CACSD/includes/lqr.h2
-rw-r--r--src/c/CACSD/interfaces/int_lqr.h9
-rw-r--r--src/c/CACSD/lqe/dlqea.c2
-rw-r--r--src/c/CACSD/lqr/dlqra.c42
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c32
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c32
-rw-r--r--src/c/elementaryFunctions/includes/int32.h62
-rw-r--r--src/c/elementaryFunctions/includes/isreal.h30
-rw-r--r--src/c/elementaryFunctions/includes/linspace.h3
-rw-r--r--src/c/elementaryFunctions/includes/nextpow2.h (renamed from src/c/string/ascii/int_ascii.h)19
-rw-r--r--src/c/elementaryFunctions/includes/sec.h2
-rw-r--r--src/c/elementaryFunctions/includes/uint32.h62
-rw-r--r--src/c/elementaryFunctions/int32/dint32a.c18
-rw-r--r--src/c/elementaryFunctions/int32/dint32s.c18
-rw-r--r--src/c/elementaryFunctions/int32/i16int32a.c17
-rw-r--r--src/c/elementaryFunctions/int32/i16int32s.c17
-rw-r--r--src/c/elementaryFunctions/int32/i8int32a.c17
-rw-r--r--src/c/elementaryFunctions/int32/i8int32s.c17
-rw-r--r--src/c/elementaryFunctions/int32/sint32a.c18
-rw-r--r--src/c/elementaryFunctions/int32/sint32s.c17
-rw-r--r--src/c/elementaryFunctions/int32/u16int32a.c18
-rw-r--r--src/c/elementaryFunctions/int32/u16int32s.c17
-rw-r--r--src/c/elementaryFunctions/int32/u32int32a.c18
-rw-r--r--src/c/elementaryFunctions/int32/u32int32s.c17
-rw-r--r--src/c/elementaryFunctions/int32/u8int32a.c18
-rw-r--r--src/c/elementaryFunctions/int32/u8int32s.c17
-rw-r--r--src/c/elementaryFunctions/interfaces/int_int32.h46
-rw-r--r--src/c/elementaryFunctions/interfaces/int_isreal.h (renamed from interfaces/int_bitget.h)14
-rw-r--r--src/c/elementaryFunctions/interfaces/int_linspace.h4
-rw-r--r--src/c/elementaryFunctions/interfaces/int_nextpow2.h (renamed from interfaces/int_linspace.h)18
-rw-r--r--src/c/elementaryFunctions/interfaces/int_uint32.h44
-rw-r--r--src/c/elementaryFunctions/isreal/disreals.c17
-rw-r--r--src/c/elementaryFunctions/isreal/sisreals.c17
-rw-r--r--src/c/elementaryFunctions/linspace/slinspacea.c49
-rw-r--r--src/c/elementaryFunctions/linspace/slinspaces.c33
-rw-r--r--src/c/elementaryFunctions/nextpow2/dnextpow2a.c30
-rw-r--r--src/c/elementaryFunctions/uint32/duint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/duint32s.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i16uint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i16uint32s.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i32uint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i32uint32s.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i8uint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i8uint32s.c17
-rw-r--r--src/c/elementaryFunctions/uint32/suint32a.c19
-rw-r--r--src/c/elementaryFunctions/uint32/suint32s.c18
-rw-r--r--src/c/elementaryFunctions/uint32/u16uint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/u16uint32s.c18
-rw-r--r--src/c/elementaryFunctions/uint32/u8uint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/u8uint32s.c18
-rw-r--r--src/c/hardware/rasberrypi/Digital/RPI_digitalReadByte.c21
-rw-r--r--src/c/hardware/rasberrypi/Digital/u8RPI_digitalReads.c21
-rw-r--r--src/c/hardware/rasberrypi/Digital/u8RPI_digitalWriteBytes.c19
-rw-r--r--src/c/hardware/rasberrypi/Digital/u8RPI_digitalWrites.c22
-rw-r--r--src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg16s.c19
-rw-r--r--src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg8s.c19
-rw-r--r--src/c/hardware/rasberrypi/I2C/u16RPI_I2CReads.c19
-rw-r--r--src/c/hardware/rasberrypi/I2C/u16RPI_I2CSetups.c19
-rw-r--r--src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg16s.c19
-rw-r--r--src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg8s.c19
-rw-r--r--src/c/hardware/rasberrypi/I2C/u16RPI_I2CWrites.c19
-rw-r--r--src/c/hardware/rasberrypi/Interrupt/u8RPI_waitForInterrupts.c19
-rw-r--r--src/c/hardware/rasberrypi/Misc/RPI_boardRev.c19
-rw-r--r--src/c/hardware/rasberrypi/Misc/u16RPI_sn3218Setups.c19
-rw-r--r--src/c/hardware/rasberrypi/Misc/u8RPI_padDrives.c17
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/INIT_FillSCI2LivCDirs.backup316
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_adress.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_analogRead.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_analogWrite.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_commande.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_i2cdetect.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_send.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/ISR/i16RPIPinISRs.c (renamed from src/c/hardware/rasberrypi/ISR/i16RPIPinISRs.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/gpio/RPI_DigitalRead.c (renamed from src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c)2
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/gpio/RPI_DigitalWrite.c (renamed from src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c)2
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/gpio/RPI_pinMode.c (renamed from src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c)3
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmClock.c (renamed from src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c)2
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmMode.c (renamed from src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c)2
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmRange.c (renamed from src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c)2
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmWrite.c (renamed from src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c)2
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/dRPISerialSendDataa.c (renamed from src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/dRPISerialSendDatas.c (renamed from src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/gRPISerialSendDatas.c (renamed from src/c/hardware/rasberrypi/serial/gRPISerialSendDatas.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialDataAvails.c (renamed from src/c/hardware/rasberrypi/serial/i16RPISerialDataAvails.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialGetChars.c (renamed from src/c/hardware/rasberrypi/serial/i16RPISerialGetChars.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialSendDataa.c (renamed from src/c/hardware/rasberrypi/serial/i16RPISerialSendDataa.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialSendDatas.c (renamed from src/c/hardware/rasberrypi/serial/i16RPISerialSendDatas.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i8RPISerialSendDataa.c (renamed from src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i8RPISerialSendDatas.c (renamed from src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/sRPISerialSendDataa.c (renamed from src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/sRPISerialSendDatas.c (renamed from src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u16RPISerialSendDataa.c (renamed from src/c/hardware/rasberrypi/serial/u16RPISerialSendDataa.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u16RPISerialSendDatas.c (renamed from src/c/hardware/rasberrypi/serial/u16RPISerialSendDatas.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u16RPISerialSetups.c (renamed from src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialCloses.c (renamed from src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialFlushs.c (renamed from src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialSendChars.c (renamed from src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialSendDataa.c (renamed from src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialSendDatas.c (renamed from src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/threading/u16RPIThreadCreates.c (renamed from src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c)0
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_delay.c (renamed from src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c)4
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_delayMicro.c (renamed from src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c)4
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_micros.c (renamed from src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c)6
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_millis.c (renamed from src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c)6
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/raspi.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/NotToDo/raspi_close.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/SPI/RPI_SPIDataRW.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/SPI/RPI_SPISetup.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64Orientation.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64circle.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64clear.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64ellipse.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64line.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64lineTo.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64point.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64putchar.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64puts.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64rectangle.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64setOrigin.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64setup.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_locks.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_prioritys.c13
-rw-r--r--src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_unlocks.c13
-rw-r--r--src/c/hardware/rasberrypi/Serial/gRPI_serialOpena.c19
-rw-r--r--src/c/hardware/rasberrypi/Serial/u8RPI_serialCloses.c17
-rw-r--r--src/c/hardware/rasberrypi/Serial/u8RPI_serialDataAvails.c19
-rw-r--r--src/c/hardware/rasberrypi/Serial/u8RPI_serialFlushs.c17
-rw-r--r--src/c/hardware/rasberrypi/Serial/u8RPI_serialGetchars.c17
-rw-r--r--src/c/hardware/rasberrypi/Serial/u8RPI_serialPrintfs.c17
-rw-r--r--src/c/hardware/rasberrypi/Serial/u8RPI_serialPutchars.c17
-rw-r--r--src/c/hardware/rasberrypi/Serial/u8RPI_serialPutss.c17
-rw-r--r--src/c/hardware/rasberrypi/Setup/gRPI_pinNumberinga.c28
-rw-r--r--src/c/hardware/rasberrypi/Setup/u8RPI_getAlts.c19
-rw-r--r--src/c/hardware/rasberrypi/Setup/u8RPI_pinModeAlts.c17
-rw-r--r--src/c/hardware/rasberrypi/Setup/u8RPI_pinModes.c31
-rw-r--r--src/c/hardware/rasberrypi/Setup/u8RPI_pullControls.c25
-rw-r--r--src/c/hardware/rasberrypi/Shift/u16RPI_sr595Setups.c20
-rw-r--r--src/c/hardware/rasberrypi/Shift/u8RPI_shiftIns.c19
-rw-r--r--src/c/hardware/rasberrypi/Shift/u8RPI_shiftOuts.c17
-rw-r--r--src/c/hardware/rasberrypi/Timing/RPI_micros.c21
-rw-r--r--src/c/hardware/rasberrypi/Timing/RPI_millis.c21
-rw-r--r--src/c/hardware/rasberrypi/Timing/u32RPI_delayMicros.c19
-rw-r--r--src/c/hardware/rasberrypi/Timing/u32RPI_delays.c19
-rw-r--r--src/c/hardware/rasberrypi/gertBoard/RPI_gertboardSPISetup.c19
-rw-r--r--src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogReads.c19
-rw-r--r--src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogSetups.c19
-rw-r--r--src/c/hardware/rasberrypi/gertBoard/u16RPI_gertboardAnalogWrites.c17
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h11
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralGertboard.h32
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralI2C.h37
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralInterrupt.h (renamed from src/c/hardware/rasberrypi/includes/RPIPeripheralThreading.h)15
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralLCD.h39
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralMcp.h36
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralMisc.h (renamed from interfaces/int_permute.h)21
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralPWM.h16
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralPcf.h30
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralPiGlow.h31
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralPinMap.h (renamed from src/c/hardware/rasberrypi/includes/RPIPeripheralPinISR.h)14
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h36
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralSetup.h35
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralShift.h31
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralSoft.h37
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h10
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralDigital.h13
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralGertboard.h32
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralI2C.h35
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralInterrupt.h (renamed from src/c/string/strchr/int_strchr.h)20
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD.h40
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMcp.h33
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralMisc.h31
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPWM.h19
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPcf.h30
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPiGlow.h32
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinMap.h (renamed from src/c/string/strcspn/int_strcspn)21
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSerial.h39
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSetup.h32
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralShift.h31
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSoft.h34
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h14
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdCharDefs.c (renamed from interfaces/int_logspace.h)14
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdClears.c17
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursorBlinks.c17
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursors.c (renamed from interfaces/int_bitset.h)16
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdDisplays.c17
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdHomes.c17
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdInits.c19
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdPositions.c17
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdPrintfs.c17
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutchars.c17
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdPutss.c17
-rw-r--r--src/c/hardware/rasberrypi/lcd/u8RPI_lcdSendCommands.c17
-rw-r--r--src/c/hardware/rasberrypi/mcp/u16RPI_mcp23008Setups.c19
-rw-r--r--src/c/hardware/rasberrypi/mcp/u16RPI_mcp23016Setups.c19
-rw-r--r--src/c/hardware/rasberrypi/mcp/u16RPI_mcp23017Setups.c19
-rw-r--r--src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s08Setups.c19
-rw-r--r--src/c/hardware/rasberrypi/mcp/u16RPI_mcp23s17Setups.c19
-rw-r--r--src/c/hardware/rasberrypi/pcf/u16RPI_pcf8574Setups.c19
-rw-r--r--src/c/hardware/rasberrypi/pcf/u16RPI_pcf8591Setups.c19
-rw-r--r--src/c/hardware/rasberrypi/piGlow/u8RPI_piGlow1s.c17
-rw-r--r--src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowLegs.c17
-rw-r--r--src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowRings.c17
-rw-r--r--src/c/hardware/rasberrypi/piGlow/u8RPI_piGlowSetups.c17
-rw-r--r--src/c/hardware/rasberrypi/pinMap/u8RPI_physToGpios.c19
-rw-r--r--src/c/hardware/rasberrypi/pinMap/u8RPI_wpiToGpios.c19
-rw-r--r--src/c/hardware/rasberrypi/pwm/gRPI_pwmModea.c25
-rw-r--r--src/c/hardware/rasberrypi/pwm/u16RPI_pwmClocks.c23
-rw-r--r--src/c/hardware/rasberrypi/pwm/u32RPI_pwmRanges.c22
-rw-r--r--src/c/hardware/rasberrypi/pwm/u8RPI_pwmToneWrites.c17
-rw-r--r--src/c/hardware/rasberrypi/pwm/u8RPI_pwmWrites.c19
-rw-r--r--src/c/hardware/rasberrypi/soft/u8RPI_softPwmCreates.c19
-rw-r--r--src/c/hardware/rasberrypi/soft/u8RPI_softPwmStops.c17
-rw-r--r--src/c/hardware/rasberrypi/soft/u8RPI_softPwmWrites.c17
-rw-r--r--src/c/hardware/rasberrypi/soft/u8RPI_softToneCreates.c19
-rw-r--r--src/c/hardware/rasberrypi/soft/u8RPI_softToneStops.c17
-rw-r--r--src/c/hardware/rasberrypi/soft/u8RPI_softToneWrites.c17
-rw-r--r--src/c/interpolation/includes/interp1.h32
-rw-r--r--src/c/interpolation/interfaces/int_interp1.h32
-rw-r--r--src/c/interpolation/interp1/dinterp13a.c75
-rw-r--r--src/c/interpolation/interp1/sinterp13a.c75
-rw-r--r--src/c/linearAlgebra/bdiag/dbdiaga.c23
-rw-r--r--src/c/linearAlgebra/hess/dhessa.c81
-rw-r--r--src/c/linearAlgebra/includes/hess.h (renamed from interfaces/int_lqe.h)13
-rw-r--r--src/c/linearAlgebra/includes/spec.h59
-rw-r--r--src/c/linearAlgebra/includes/sva.h (renamed from interfaces/int_lqr.h)16
-rw-r--r--src/c/linearAlgebra/includes/svd.h30
-rw-r--r--src/c/linearAlgebra/interfaces/int_hess.h (renamed from interfaces/int_rcond.h)13
-rw-r--r--src/c/linearAlgebra/interfaces/int_spec.h (renamed from interfaces/int_spec.h)16
-rw-r--r--src/c/linearAlgebra/interfaces/int_sva.h (renamed from interfaces/int_balanc.h)19
-rw-r--r--src/c/linearAlgebra/interfaces/int_svd.h31
-rw-r--r--src/c/linearAlgebra/pbig/pbig.c35
-rw-r--r--src/c/linearAlgebra/schur/zgschura.c164
-rw-r--r--src/c/linearAlgebra/spec/Makefile.am70
-rw-r--r--src/c/linearAlgebra/spec/Makefile.in755
-rw-r--r--src/c/linearAlgebra/spec/cspeca.c34
-rw-r--r--src/c/linearAlgebra/spec/dspec1a.c176
-rw-r--r--src/c/linearAlgebra/spec/dspeca.c71
-rw-r--r--src/c/linearAlgebra/spec/sspeca.c34
-rw-r--r--src/c/linearAlgebra/spec/testDoubleSpec.c116
-rw-r--r--src/c/linearAlgebra/spec/testFloatSpec.c110
-rw-r--r--src/c/linearAlgebra/spec/test_DoubleSpec/testDoubleSpec.vcxproj178
-rw-r--r--src/c/linearAlgebra/spec/test_DoubleSpec/testDoubleSpec.vcxproj.filters22
-rw-r--r--src/c/linearAlgebra/spec/test_FloatSpec/testFloatSpec.vcxproj178
-rw-r--r--src/c/linearAlgebra/spec/test_FloatSpec/testFloatSpec.vcxproj.filters22
-rw-r--r--src/c/linearAlgebra/spec/zspeca.c80
-rw-r--r--src/c/linearAlgebra/spec2/Makefile.am70
-rw-r--r--src/c/linearAlgebra/spec2/Makefile.in757
-rw-r--r--src/c/linearAlgebra/spec2/cspec2a.c36
-rw-r--r--src/c/linearAlgebra/spec2/dspec2a.c113
-rw-r--r--src/c/linearAlgebra/spec2/sspec2a.c36
-rw-r--r--src/c/linearAlgebra/spec2/testDoubleSpec2.c261
-rw-r--r--src/c/linearAlgebra/spec2/testFloatSpec2.c134
-rw-r--r--src/c/linearAlgebra/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj178
-rw-r--r--src/c/linearAlgebra/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj.filters22
-rw-r--r--src/c/linearAlgebra/spec2/test_FloatSpec2/testFloatSpec2.vcxproj178
-rw-r--r--src/c/linearAlgebra/spec2/test_FloatSpec2/testFloatSpec2.vcxproj.filters22
-rw-r--r--src/c/linearAlgebra/spec2/zspec2a.c96
-rw-r--r--src/c/linearAlgebra/sva/dsvaa.c92
-rw-r--r--src/c/linearAlgebra/svd/dsvda.c126
-rw-r--r--src/c/linearAlgebra/svd/zsvda.c173
-rw-r--r--src/c/matrixOperations/cat/ccata.c2
-rw-r--r--src/c/matrixOperations/cat/zcata.c2
-rw-r--r--src/c/scilab-arduino/cmd_analog_in_volt/u8cmd_analog_in_volts.c22
-rw-r--r--src/c/scilab-arduino/cmd_analog_out_volt/u8cmd_analog_out_volts.c22
-rw-r--r--src/c/scilab-arduino/cmd_dcmotor_release/u8cmd_dcmotor_releases.c29
-rw-r--r--src/c/scilab-arduino/cmd_dcmotor_run/u8cmd_dcmotor_runs.c1
-rw-r--r--src/c/scilab-arduino/cmd_dcmotor_setup/u8cmd_dcmotor_setups.c1
-rw-r--r--src/c/scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp10
-rw-r--r--src/c/scilab-arduino/cmd_i2c_read/u8cmd_i2c_reads.cpp18
-rw-r--r--src/c/scilab-arduino/cmd_i2c_read_register/u8cmd_i2c_read_registers.cpp26
-rw-r--r--src/c/scilab-arduino/cmd_i2c_write/u8cmd_i2c_writes.cpp13
-rw-r--r--src/c/scilab-arduino/cmd_i2c_write_register/u8cmd_i2c_write_registers.cpp16
-rw-r--r--src/c/scilab-arduino/includes/cmd_analog_in_volt.h (renamed from src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h)19
-rw-r--r--src/c/scilab-arduino/includes/cmd_analog_out_volt.h (renamed from src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h)18
-rw-r--r--src/c/scilab-arduino/includes/cmd_dcmotor_release.h30
-rw-r--r--src/c/scilab-arduino/includes/cmd_dcmotor_run.h2
-rw-r--r--src/c/scilab-arduino/includes/cmd_dcmotor_setup.h2
-rw-r--r--src/c/scilab-arduino/includes/cmd_i2c_dev.h16
-rw-r--r--src/c/scilab-arduino/includes/cmd_i2c_read.h16
-rw-r--r--src/c/scilab-arduino/includes/cmd_i2c_read_register.h16
-rw-r--r--src/c/scilab-arduino/includes/cmd_i2c_write.h16
-rw-r--r--src/c/scilab-arduino/includes/cmd_i2c_write_register.h16
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_analog_in_volt.h30
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_analog_out_volt.h30
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_dcmotor.h9
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h17
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h19
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_i2c_read_register.h18
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_i2c_write.h20
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_i2c_write_register.h19
-rw-r--r--src/c/scilab-arduino/sleep/u16sleeps.c2
-rw-r--r--src/c/signalProcessing/includes/dct.h38
-rw-r--r--src/c/signalProcessing/includes/idct.h38
-rw-r--r--src/c/signalProcessing/interfaces/int_dct.h36
-rw-r--r--src/c/signalProcessing/interfaces/int_idct.h (renamed from src/c/string/strncpy/int_strncpy.h)26
-rw-r--r--src/c/signalProcessing/modk/dmodka.c97
-rw-r--r--src/c/signalProcessing/transforms/dct/cdcta.c177
-rw-r--r--src/c/signalProcessing/transforms/dct/ddcta.c160
-rw-r--r--src/c/signalProcessing/transforms/dct/sdcta.c160
-rw-r--r--src/c/signalProcessing/transforms/dct/zdcta.c177
-rw-r--r--src/c/signalProcessing/transforms/idct/cidcta.c97
-rw-r--r--src/c/signalProcessing/transforms/idct/didcta.c83
-rw-r--r--src/c/signalProcessing/transforms/idct/sidcta.c83
-rw-r--r--src/c/signalProcessing/transforms/idct/zidcta.c97
-rw-r--r--src/c/string/ascii/ascii.h25
-rw-r--r--src/c/string/disp/zdispa.c2
-rw-r--r--src/c/string/strchr/strchr.h25
-rw-r--r--src/c/string/strcspn/strcspn.h25
-rw-r--r--src/c/string/strncpy/strncpy.h25
-rw-r--r--src/c/string/strspn/gstrspna.c24
-rw-r--r--src/c/string/strspn/int_strspn.h25
-rw-r--r--src/c/string/strspn/strspn.h25
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_blas.h602
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_blas_types.h54
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block.h24
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_char.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_complex_double.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_complex_float.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_complex_long_double.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_double.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_float.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_int.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_long.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_long_double.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_short.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_uchar.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_uint.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_ulong.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_block_ushort.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_bspline.h122
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_cblas.h606
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_cdf.h170
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_chebyshev.h133
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_check_range.h57
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_combination.h92
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_complex.h103
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_complex_math.h142
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_const.h31
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_const_cgs.h116
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_const_cgsm.h122
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_const_mks.h126
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_const_mksa.h126
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_const_num.h43
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_deriv.h50
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_dft_complex.h55
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_dft_complex_float.h55
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_dht.h87
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_diff.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_eigen.h347
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_errno.h154
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_fft.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_fft_complex.h136
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_fft_complex_float.h139
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_fft_halfcomplex.h86
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_fft_halfcomplex_float.h86
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_fft_real.h80
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_fft_real_float.h79
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_fit.h85
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_heapsort.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_histogram.h134
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_histogram2d.h172
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_ieee_utils.h99
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_inline.h67
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_integration.h323
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_interp.h225
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_interp2d.h160
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_linalg.h650
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_machine.h104
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_math.h164
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix.h25
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_char.h350
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_complex_double.h351
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_complex_float.h351
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_complex_long_double.h351
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_double.h350
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_float.h350
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_int.h350
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_long.h350
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_long_double.h350
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_short.h350
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_uchar.h350
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_uint.h350
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_ulong.h350
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_matrix_ushort.h350
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_message.h80
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_min.h111
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_minmax.h102
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_mode.h88
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_monte.h55
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_monte_miser.h97
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_monte_plain.h65
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_monte_vegas.h125
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_multifit.h319
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_multifit_nlin.h275
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_multilarge.h141
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_multimin.h226
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_multiroots.h177
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_multiset.h93
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_nan.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_ntuple.h82
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_odeiv.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_odeiv2.h333
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permutation.h100
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute.h24
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_char.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_complex_double.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_complex_float.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_complex_long_double.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_double.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_float.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_int.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_long.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_long_double.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_short.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_uchar.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_uint.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_ulong.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_ushort.h44
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector.h24
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_char.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_double.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_float.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_long_double.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_double.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_float.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_int.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_long.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_long_double.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_short.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_uchar.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_uint.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_ulong.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_permute_vector_ushort.h45
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_poly.h183
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_pow_int.h61
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_precision.h66
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_qrng.h111
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_randist.h185
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_rng.h217
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_roots.h127
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_rstat.h79
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf.h39
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_airy.h139
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_bessel.h549
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_clausen.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_coulomb.h128
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_coupling.h125
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_dawson.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_debye.h91
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_dilog.h130
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_elementary.h57
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_ellint.h112
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_elljac.h48
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_erf.h91
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_exp.h134
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_expint.h167
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_fermi_dirac.h126
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_gamma.h293
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_gegenbauer.h73
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_hyperg.h154
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_laguerre.h68
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_lambert.h69
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_legendre.h375
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_log.h82
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_mathieu.h113
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_pow_int.h49
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_psi.h113
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_result.h59
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_synchrotron.h60
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_transport.h78
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_trig.h152
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sf_zeta.h112
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_siman.h82
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort.h20
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_char.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_double.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_float.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_int.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_long.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_long_double.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_short.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_uchar.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_uint.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_ulong.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_ushort.h51
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector.h20
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector_char.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector_double.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector_float.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector_int.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector_long.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector_long_double.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector_short.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector_uchar.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector_uint.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector_ulong.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sort_vector_ushort.h52
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_spblas.h58
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_specfunc.h10
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_splinalg.h79
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_spline.h101
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_spline2d.h113
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_spmatrix.h150
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics.h20
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics_char.h80
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics_double.h100
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics_float.h100
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics_int.h80
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics_long.h80
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics_long_double.h100
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics_short.h80
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics_uchar.h80
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics_uint.h80
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics_ulong.h80
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_statistics_ushort.h80
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sum.h162
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sys.h63
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_test.h66
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_types.h41
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector.h25
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_char.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_complex.h17
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_complex_double.h251
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_complex_float.h251
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_complex_long_double.h251
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_double.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_float.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_int.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_long.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_long_double.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_short.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_uchar.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_uint.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_ulong.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_vector_ushort.h230
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_version.h26
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_wavelet.h100
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_wavelet2d.h107
-rw-r--r--thirdparty/includes/WiringPi/gertboard.h45
-rw-r--r--thirdparty/includes/WiringPi/lcd.h52
-rw-r--r--thirdparty/includes/WiringPi/mcp23008.h33
-rw-r--r--thirdparty/includes/WiringPi/mcp23016.h33
-rw-r--r--thirdparty/includes/WiringPi/mcp23017.h33
-rw-r--r--thirdparty/includes/WiringPi/mcp23s08.h33
-rw-r--r--thirdparty/includes/WiringPi/mcp23s17.h33
-rw-r--r--thirdparty/includes/WiringPi/pcf8574.h33
-rw-r--r--thirdparty/includes/WiringPi/pcf8591.h33
-rw-r--r--thirdparty/includes/WiringPi/piGlow.h45
-rw-r--r--thirdparty/includes/WiringPi/sn3218.h33
-rw-r--r--thirdparty/includes/WiringPi/softPwm.h35
-rw-r--r--thirdparty/includes/WiringPi/softTone.h39
-rw-r--r--thirdparty/includes/WiringPi/sr595.h34
-rw-r--r--thirdparty/includes/WiringPi/wiringPiI2C.h42
-rw-r--r--thirdparty/includes/WiringPi/wiringShift.h41
-rw-r--r--thirdparty/lib/raspberrypi/libcblas.abin261416 -> 260756 bytes
-rw-r--r--thirdparty/lib/raspberrypi/liblapack.abin6869860 -> 7700624 bytes
-rw-r--r--thirdparty/lib/raspberrypi/librefblas.abin441848 -> 441244 bytes
-rw-r--r--thirdparty/lib/raspberrypi/libwiringPi.abin0 -> 99552 bytes
-rw-r--r--thirdparty/lib/raspberrypi/libwiringPiDev.abin0 -> 30216 bytes
-rw-r--r--thirdparty/lib/raspberrypi/libwiringPiDev.sobin0 -> 28420 bytes
1751 files changed, 50147 insertions, 17601 deletions
diff --git a/Doc/how_to_use_scilab2c.pdf b/Doc/how_to_use_scilab2c.pdf
new file mode 100644
index 0000000..a3ec14f
--- /dev/null
+++ b/Doc/how_to_use_scilab2c.pdf
Binary files differ
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 1152f40..0000000
--- a/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# SCI2C Makefile
-# hArtes EU Project.
-# Authors: PoliBa & Inria
-# -----------------------
-# --- USER PARAMETERS ---
-# -----------------------
-# --- DIRECTORIES AND FILES ---
-CSRCDIR = src/c
-HSRCDIR = includes
-ISRCDIR = interfaces
-LIBDIR = libraries
-SCI2CDIR = .
-CC = gcc
-CXX = g++
-CFLAGS = -Wall -pedantic -g -I $(HSRCDIR) -I $(ISRCDIR) -L $(LIBDIR)
-CXXFLAGS = -Wall -pedantic -g -I $(HSRCDIR) -I $(ISRCDIR) -L $(LIBDIR)
-LDFLAGS = -lblas -llapack -lm
-EXEFILENAME = lengthfinder
-EXEFILE = $(SCI2CDIR)/$(EXEFILENAME)
-SRC = $(wildcard $(CSRCDIR)/*.c)
-SRCC = $(wildcard $(CSRCDIR)/*.cpp)
-OBJ = $(SRC:.c=.o)
-OBJC = $(SRCC:.cpp=.o)
-# ---------------
-# --- TARGETS ---
-# ---------------
-compileexecute: $(OBJ) $(OBJC)
- @echo " "
- @echo "============================"
- @echo "Generation of the executable"
- @echo "============================"
- $(CXX) $(CFLAGS) $(OBJ) $(OBJC) *.c $(LDFLAGS) -o $(EXEFILE)
- @echo " "
- @echo "=============="
- @echo "Executing code"
- @echo "=============="
- $(EXEFILE)
-clean:
- @echo " "
- @echo "============================="
- @echo "Removing only exe + obj files"
- @echo "============================="
- rm -rf $(EXEFILE)
- rm -rf $(OBJ)
- rm -rf $(OBJC)
- @echo " "
-distclean: clean
- @echo " "
- @echo "=========================="
- @echo "Removing only the exe file"
- @echo "=========================="
- rm -rf $(EXEFILE)
- @echo " "
diff --git a/SCI2CTmpResultsReports/ASTStack.dat b/SCI2CTmpResultsReports/ASTStack.dat
deleted file mode 100644
index 33b537b..0000000
--- a/SCI2CTmpResultsReports/ASTStack.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FileInfo.dat b/SCI2CTmpResultsReports/FileInfo.dat
deleted file mode 100644
index 8ad020f..0000000
--- a/SCI2CTmpResultsReports/FileInfo.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FunctionList/Converted.dat b/SCI2CTmpResultsReports/FunctionList/Converted.dat
deleted file mode 100644
index cad60f0..0000000
--- a/SCI2CTmpResultsReports/FunctionList/Converted.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0OpEquald0.dat b/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0OpEquald0.dat
deleted file mode 100644
index aea8cdc..0000000
--- a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0OpEquald0.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0d0OpColond2.dat b/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0d0OpColond2.dat
deleted file mode 100644
index 2335f54..0000000
--- a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0d0OpColond2.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0disp.dat b/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0disp.dat
deleted file mode 100644
index 887b174..0000000
--- a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d0disp.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d2OpEquald2.dat b/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d2OpEquald2.dat
deleted file mode 100644
index 6243192..0000000
--- a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d2OpEquald2.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d2lengthd0.dat b/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d2lengthd0.dat
deleted file mode 100644
index bf6160f..0000000
--- a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/d2lengthd0.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/main.dat b/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/main.dat
deleted file mode 100644
index 38c663c..0000000
--- a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/main.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/return.dat b/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/return.dat
deleted file mode 100644
index b5c9274..0000000
--- a/SCI2CTmpResultsReports/FunctionList/FunInfoDatFiles/return.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FunctionList/SCI2CAvailableC.dat b/SCI2CTmpResultsReports/FunctionList/SCI2CAvailableC.dat
deleted file mode 100644
index b1dbfd5..0000000
--- a/SCI2CTmpResultsReports/FunctionList/SCI2CAvailableC.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FunctionList/ToBeConverted.dat b/SCI2CTmpResultsReports/FunctionList/ToBeConverted.dat
deleted file mode 100644
index 5da84fa..0000000
--- a/SCI2CTmpResultsReports/FunctionList/ToBeConverted.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/FunctionList/USER2CAvailableC.dat b/SCI2CTmpResultsReports/FunctionList/USER2CAvailableC.dat
deleted file mode 100644
index e7c7860..0000000
--- a/SCI2CTmpResultsReports/FunctionList/USER2CAvailableC.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/GBLVAR.dat b/SCI2CTmpResultsReports/GBLVAR.dat
deleted file mode 100644
index 34a8ff5..0000000
--- a/SCI2CTmpResultsReports/GBLVAR.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/SCI2CGeneralReport.txt b/SCI2CTmpResultsReports/SCI2CGeneralReport.txt
deleted file mode 100644
index 3c551f7..0000000
--- a/SCI2CTmpResultsReports/SCI2CGeneralReport.txt
+++ /dev/null
@@ -1,642 +0,0 @@
- ==> SCI2C hArtes/POLIBA Tool!!!
- ==> Initialize SCI2C and USER2C Libraries.
- Adding Class: Global.
- Adding Function: global.
- Adding Class: Float.
- Adding Function: float.
- Adding Class: Double.
- Adding Function: double.
- Adding Class: FloatComplex.
- Adding Function: floatcomplex.
- Adding Class: DoubleComplex.
- Adding Function: doublecomplex.
- Adding Class: Uint8.
- Adding Function: uint8.
- Adding Class: Float.
- Adding Function: float.
- Adding Class: Int8.
- Adding Function: int8.
- Adding Class: Uint16.
- Adding Function: uint16.
- Adding Class: Int16.
- Adding Function: int16.
- Adding Class: Sin.
- Adding Function: sin.
- Adding Function: sinh.
- Adding Function: asinh.
- Adding Function: cos.
- Adding Function: cosh.
- Adding Function: tan.
- Adding Function: tanh.
- Adding Function: exp.
- Adding Function: conj.
- Adding Function: inv.
- Adding Function: int.
- Adding Function: SCI2Cresize.
- Adding Function: chol.
- Adding Class: OpLogNot.
- Adding Function: OpLogNot.
- Adding Function: ceil.
- Adding Function: fix.
- Adding Function: floor.
- Adding Function: round.
- Adding Class: bitand.
- Adding Function: bitand.
- Adding Function: bitor.
- Adding Function: bitxor.
- Adding Class: bitcmp.
- Adding Function: bitcmp.
- Adding Class: bitset.
- Adding Function: bitset.
- Adding Class: bitget.
- Adding Function: bitget.
- Adding Class: Sign.
- Adding Class: Atan.
- Adding Function: atan.
- Adding Class: Sqrt.
- Adding Function: asin.
- Adding Function: acos.
- Adding Function: acosd.
- Adding Function: acosh.
- Adding Function: atanh.
- Adding Function: acot.
- Adding Function: acotd.
- Adding Function: acoth.
- Adding Function: acsc.
- Adding Function: asec.
- Adding Function: asech.
- Adding Function: asind.
- Adding Function: atand.
- Adding Function: asecd.
- Adding Function: acscd.
- Adding Function: acsch.
- Adding Function: sqrt.
- Adding Function: log.
- Adding Function: log10.
- Adding Function: log1p.
- Adding Class: Zeros.
- Adding Function: zeros.
- Adding Function: ones.
- Adding Function: eye.
- Adding Class: diag.
- Adding Function: diag.
- Adding Class: linspace.
- Adding Function: linspace.
- Adding Function: logspace.
- Adding Class: rand.
- Adding Function: rand.
- Adding Class: Sum.
- Adding Function: sum.
- Adding Function: prod.
- Adding Function: mean.
- Adding Function: st_deviation.
- Adding Function: variance.
- Adding Class: Max.
- Adding Function: max.
- Adding Function: min.
- Adding Class: Abs.
- Adding Function: abs.
- Adding Function: real.
- Adding Function: imag.
- Adding Class: OpDotStar.
- Adding Function: OpDotStar.
- Adding Function: OpDotSlash.
- Adding Class: OpDotHat.
- Adding Function: OpDotHat.
- Adding Function: OpHat.
- Adding Function: OpDotBackSlash.
- Adding Function: OpLogLt.
- Adding Function: OpLogLe.
- Adding Function: OpLogGt.
- Adding Function: OpLogGe.
- Adding Class: OpLogEq.
- Adding Function: OpLogEq.
- Adding Function: OpLogNe.
- Adding Function: OpLogAnd.
- Adding Function: OpLogOr.
- Adding Class: OpStar.
- Adding Function: OpStar.
- Adding Class: OpSlash.
- Adding Function: OpSlash.
- Adding Class: OpApex.
- Adding Function: OpApex.
- Adding Function: OpDotApex.
- Adding Class: IsNan.
- Adding Function: isnan.
- Adding Class: OpPlus.
- Adding Function: OpPlus.
- Adding Class: OpMinus.
- Adding Function: OpMinus.
- Adding Class: OpRc.
- Adding Function: OpRc.
- Adding Class: OpCc.
- Adding Function: OpCc.
- Adding Class: cat.
- Adding Function: cat.
- Adding Class: Find.
- Adding Function: find.
- Adding Class: Length.
- Adding Function: length.
- Adding Function: type.
- Adding Class: Size.
- Adding Function: size.
- Adding Class: Return.
- Adding Function: return.
- Adding Class: OpColon.
- Adding Function: OpColon.
- Adding Class: IsEmpty.
- Adding Function: isempty.
- Adding Class: Trace.
- Adding Function: trace.
- Adding Function: det.
- Adding Class: OpIns.
- Adding Function: OpIns.
- Adding Class: OpExt.
- Adding Function: OpExt.
- Adding Class: Disp.
- Adding Function: disp.
- Adding Class: String.
- Adding Function: string.
- Adding Class: OpEqual.
- Adding Function: OpEqual.
- Adding Class: Mopen.
- Adding Function: mopen.
- Adding Class: Mput.
- Adding Function: mput.
- Adding Class: Mget.
- Adding Function: mget.
- Adding Class: Mclose.
- Adding Function: mclose.
- Adding Class: Mseek.
- Adding Function: mseek.
- Adding Class: Convol.
- Adding Function: convol.
- Adding Class: IFFT.
- Adding Function: ifft.
- Adding Class: FFT.
- Adding Function: fft.
- Adding Class: FFTShift.
- Adding Function: fftshift.
- Adding Class: Meanf.
- Adding Function: meanf.
- Adding Function: variancef.
- Adding Function: stdevf.
- Adding Class: Frmag.
- Adding Function: frmag.
- Adding Class: Lev.
- Adding Function: lev.
- Adding Class: OpBackSlash.
- Adding Function: OpBackSlash.
- Adding Class: Cepstrum.
- Adding Function: Cepstrum.
- Adding Class: Spec.
- Adding Function: spec.
- Adding Class: Part.
- Adding Function: part.
- Adding Class: Strindex.
- Adding Function: strindex.
- Adding Class: Expm.
- Adding Function: expm.
- Adding Class: cmd_digital_out.
- Adding Function: cmd_digital_out.
- Adding Class: cmd_digital_in.
- Adding Function: cmd_digital_in.
- Adding Class: cmd_analog_out.
- Adding Function: cmd_analog_out.
- Adding Class: cmd_analog_in.
- Adding Function: cmd_analog_in.
- Adding Class: cmd_dcmotor_setup.
- Adding Function: cmd_dcmotor_setup.
- Adding Class: cmd_dcmotor_run.
- Adding Function: cmd_dcmotor_run.
- Adding Class: cmd_servo_attach.
- Adding Function: cmd_servo_attach.
- Adding Class: cmd_servo_detach.
- Adding Function: cmd_servo_detach.
- Adding Class: cmd_servo_move.
- Adding Function: cmd_servo_move.
- Adding Class: sleep.
- Adding Function: sleep.
- Adding Class: AVRDigitalSetup.
- Adding Function: AVRDigitalSetup.
- Adding Class: AVRDigitalPortSetup.
- Adding Function: AVRDigitalPortSetup.
- Adding Class: AVRDigitalOut.
- Adding Function: AVRDigitalOut.
- Adding Class: AVRDigitalIn.
- Adding Function: AVRDigitalIn.
- Adding Class: AVRADCSetup.
- Adding Function: AVRADCSetup.
- Adding Class: AVRReadADC.
- Adding Function: AVRReadADC.
- Adding Class: AVRPWM0Setup.
- Adding Function: AVRPWM0Setup.
- Adding Class: AVRPWM2Setup.
- Adding Function: AVRPWM2Setup.
- Adding Class: AVRPWM1Setup.
- Adding Function: AVRPWM1Setup.
- Adding Class: AVRPWM0SetDuty.
- Adding Function: AVRPWM0SetDuty.
- Adding Class: AVRPWM2SetDuty.
- Adding Function: AVRPWM2SetDuty.
- Adding Class: AVRPWM1SetDuty.
- Adding Function: AVRPWM1SetDuty.
- Adding Class: AVRTimerSetup.
- Adding Function: AVRTimerSetup.
- Adding Class: AVRGetTimerValue.
- Adding Function: AVRGetTimerValue.
- Adding Class: AVRSleep.
- Adding Function: AVRSleep.
- Adding Class: AVRUARTSetup.
- Adding Function: AVRUARTSetup.
- Adding Class: AVRUARTTransmit.
- Adding Function: AVRUARTTransmit.
- Adding Class: AVRUARTReceiveChar.
- Adding Function: AVRUARTReceiveChar.
- Adding Class: RPI_DigitalSetup.
- Adding Function: RPI_DigitalSetup.
- Adding Function: RPI_DigitalOut.
- Adding Function: RPI_HardPWMWrite.
- Adding Class: RPI_DigitalIn.
- Adding Function: RPI_DigitalIn.
- Adding Class: RPI_DelayMilli.
- Adding Function: RPI_DelayMilli.
- Adding Function: RPI_DelayMicro.
- Adding Function: RPI_SerialClose.
- Adding Function: RPI_SerialFlush.
- Adding Function: RPI_HardPWMSetRange.
- Adding Function: RPI_HardPWMSetClock.
- Adding Function: RPI_HardPWMSetMode.
- Adding Class: RPI_GetMilli.
- Adding Function: RPI_GetMillis.
- Adding Function: RPI_GetMicros.
- Adding Class: RPI_SetupSerial.
- Adding Function: RPI_SerialSetup.
- Adding Class: RPI_SerialSendData.
- Adding Function: RPI_SerialSendData.
- Adding Class: RPI_SerialDataAvail.
- Adding Function: RPI_SerialDataAvail.
- Adding Function: RPI_SerialGetChar.
- Adding Class: RPI_ThreadCreate.
- Adding Function: RPI_ThreadCreate.
- Adding Class: RPI_PinISR.
- Adding Function: RPI_PinISR.
- Adding Class: ODE.
- Adding Function: ode.
- Adding Class: CUMSUM.
- Adding Function: cumsum.
- Adding Function: cumprod.
- Adding Class: TRIU.
- Adding Function: triu.
- Adding Function: tril.
- Adding Class: KRON.
- Adding Function: kron.
- Adding Class: FLIPDIM.
- Adding Function: flipdim.
- Adding Class: DIFF.
- Adding Function: diff.
- Adding Class: NORM.
- Adding Function: norm.
- Adding Class: CONVSTR.
- Adding Function: convstr.
- Adding Class: CV_CreateImage.
- Adding Function: CV_CreateImage.
- Adding Class: CV_LoadImage.
- Adding Function: CV_LoadImage.
- Adding Class: CV_ShowImage.
- Adding Function: CV_ShowImage.
- Adding Function: CV_SaveImage.
- Adding Class: CV_WaitKey.
- Adding Function: CV_WaitKey.
- Adding Class: CV_CvtColor.
- Adding Function: CV_CvtColor.
- Adding Class: CV_GetImgSize.
- Adding Function: CV_GetImgSize.
- Adding Class: CV_Threshold.
- Adding Function: CV_Threshold.
- Adding Class: CV_AdaptiveThreshold.
- Adding Function: CV_AdaptiveThreshold.
- Adding Class: CV_DistanceTransform.
- Adding Function: CV_DistanceTransform.
- Adding Class: CV_Blur.
- Adding Function: CV_Blur.
- Adding Function: CV_GaussianBlur.
- Adding Class: CV_MedianBlur.
- Adding Function: CV_MedianBlur.
- Adding Class: CV_Dilate.
- Adding Function: CV_Dilate.
- Adding Function: CV_Erode.
- Adding Class: CV_Canny.
- Adding Function: CV_Canny.
- Adding Class: CV_CornerHarris.
- Adding Function: CV_CornerHarris.
- Adding Class: SYSLIN.
- Adding Function: syslin.
- Adding Class: SCHUR.
- Adding Function: schur.
- Adding Class: LQR.
- Adding Function: lqr.
- Adding Class: LQE.
- Adding Function: lqe.
- Adding Class: OBSCONT.
- Adding Function: obscont.
- Adding Class: BALANC.
- Adding Function: balanc.
- Adding Class: RCOND.
- Adding Function: rcond.
- Adding Class: CONVSTR.
- Adding Function: convstr.
- Adding Class: STRSUBST.
- Adding Function: strsubst.
- Adding Class: STRCMP.
- Adding Function: strcmp.
- Adding Class: STRREV.
- Adding Function: strrev.
- Adding Class: STRRCHR.
- Adding Function: strrchr.
- Adding Class: DEC2BIN.
- Adding Function: dec2bin.
- Adding Class: DEC2BASE.
- Adding Function: dec2base.
- Adding Class: DEC2OCT.
- Adding Function: dec2oct.
- Adding Class: DEC2HEX.
- Adding Function: dec2hex.
- Adding Class: BIN2DEC.
- Adding Function: bin2dec.
- Adding Class: OCT2DEC.
- Adding Function: oct2dec.
- Adding Class: HEX2DEC.
- Adding Function: hex2dec.
- Adding Class: BASE2DEC.
- Adding Function: base2dec.
- Adding Class: Cosd.
- Adding Function: cosd.
- Adding Class: Cotd.
- Adding Function: cotd.
- Adding Class: Coth.
- Adding Function: coth.
- Adding Class: Csc.
- Adding Function: csc.
- Adding Class: Cscd.
- Adding Function: cscd.
- Adding Class: Csch.
- Adding Function: csch.
- Adding Class: Sec.
- Adding Function: sec.
- Adding Class: Secd.
- Adding Function: secd.
- Adding Class: Sech.
- Adding Function: sech.
- Adding Class: FACTORIAL.
- Adding Function: factorial.
- Adding Class: Interp1.
- Adding Function: interp1.
- Adding Class: PRIMES.
- Adding Function: primes.
- Adding Class: FACTOR.
- Adding Function: factor.
- ==> Load SCI2C and USER2C Libraries.
- Function belongs to class: RPI_DelayMilli.
- Function belongs to class: DEC2HEX.
- Function belongs to class: AVRTimerSetup.
- Function belongs to class: Trace.
- Function belongs to class: BALANC.
- Function belongs to class: CV_DistanceTransform.
- Function belongs to class: Sqrt.
- Function belongs to class: OBSCONT.
- Function belongs to class: bitand.
- Function belongs to class: Sqrt.
- Function belongs to class: cmd_digital_out.
- Function belongs to class: Sin.
- Function belongs to class: Secd.
- Function belongs to class: ODE.
- Function belongs to class: Global.
- Function belongs to class: OpCc.
- Function belongs to class: Sin.
- Function belongs to class: Sqrt.
- Function belongs to class: linspace.
- Function belongs to class: Mseek.
- Function belongs to class: Sech.
- Function belongs to class: OpLogEq.
- Function belongs to class: CV_Blur.
- Function belongs to class: CV_MedianBlur.
- Function belongs to class: CV_Dilate.
- Function belongs to class: Sin.
- Function belongs to class: Sin.
- Function belongs to class: Sqrt.
- Function belongs to class: Double.
- Function belongs to class: cat.
- Function belongs to class: Uint8.
- Function belongs to class: LQR.
- Function belongs to class: Mput.
- Function belongs to class: AVRReadADC.
- Function belongs to class: OpStar.
- Function belongs to class: SCHUR.
- Function belongs to class: OpLogNot.
- Function belongs to class: Cepstrum.
- Function belongs to class: AVRDigitalIn.
- Function belongs to class: HEX2DEC.
- Function belongs to class: Sqrt.
- Function belongs to class: DoubleComplex.
- Function belongs to class: DEC2BASE.
- Function belongs to class: Sum.
- Function belongs to class: Zeros.
- Function belongs to class: cmd_digital_in.
- Function belongs to class: linspace.
- Function belongs to class: Sqrt.
- Function belongs to class: Sqrt.
- Function belongs to class: DIFF.
- Function belongs to class: DEC2BIN.
- Function belongs to class: Length.
- Function belongs to class: Abs.
- Function belongs to class: RPI_SerialDataAvail.
- Function belongs to class: OpIns.
- Function belongs to class: Atan.
- Function belongs to class: AVRUARTSetup.
- Function belongs to class: IsNan.
- Function belongs to class: IsEmpty.
- Function belongs to class: Sin.
- Function belongs to class: AVRPWM1SetDuty.
- Function belongs to class: FFT.
- Function belongs to class: CUMSUM.
- Function belongs to class: CV_WaitKey.
- Function belongs to class: Sum.
- Function belongs to class: KRON.
- Function belongs to class: CONVSTR.
- Function belongs to class: diag.
- Function belongs to class: RPI_DigitalSetup.
- Function belongs to class: Sin.
- Function belongs to class: AVRPWM2SetDuty.
- Function belongs to class: FFTShift.
- Function belongs to class: SYSLIN.
- Function belongs to class: Meanf.
- Function belongs to class: Sin.
- Function belongs to class: Lev.
- Function belongs to class: bitget.
- Function belongs to class: Strindex.
- Function belongs to class: TRIU.
- Function belongs to class: CV_ShowImage.
- Function belongs to class: STRRCHR.
- Function belongs to class: OpLogNot.
- Function belongs to class: Sqrt.
- Function belongs to class: Size.
- Function belongs to class: Return.
- Function belongs to class: Csch.
- Function belongs to class: OpLogEq.
- Function belongs to class: cmd_servo_move.
- Function belongs to class: CV_Dilate.
- Function belongs to class: Int16.
- Function belongs to class: cmd_servo_attach.
- Function belongs to class: Mget.
- Function belongs to class: AVRPWM1Setup.
- Function belongs to class: OpLogNot.
- Function belongs to class: AVRGetTimerValue.
- Function belongs to class: AVRDigitalOut.
- Function belongs to class: Abs.
- Function belongs to class: Convol.
- Function belongs to class: OpMinus.
- Function belongs to class: Cotd.
- Function belongs to class: RPI_SerialDataAvail.
- Function belongs to class: CV_Canny.
- Function belongs to class: Meanf.
- Function belongs to class: cmd_analog_out.
- Function belongs to class: Float.
- Function belongs to class: bitand.
- Function belongs to class: Sin.
- Function belongs to class: OpDotHat.
- Function belongs to class: AVRUARTReceiveChar.
- Function belongs to class: OpLogNot.
- Function belongs to class: OpBackSlash.
- Function belongs to class: Disp.
- Function belongs to class: RPI_DigitalSetup.
- Function belongs to class: AVRDigitalPortSetup.
- Function belongs to class: bitand.
- Function belongs to class: OpRc.
- Function belongs to class: bitset.
- Function belongs to class: CV_Blur.
- Function belongs to class: RPI_DelayMilli.
- Function belongs to class: Sqrt.
- Function belongs to class: CV_CreateImage.
- Function belongs to class: OpDotHat.
- Function belongs to class: BASE2DEC.
- Function belongs to class: Zeros.
- Function belongs to class: OpDotStar.
- Function belongs to class: rand.
- Function belongs to class: FloatComplex.
- Function belongs to class: cmd_servo_detach.
- Function belongs to class: AVRPWM0Setup.
- Function belongs to class: Cscd.
- Function belongs to class: Trace.
- Function belongs to class: AVRUARTTransmit.
- Function belongs to class: Sin.
- Function belongs to class: AVRADCSetup.
- Function belongs to class: Sqrt.
- Function belongs to class: Expm.
- Function belongs to class: BIN2DEC.
- Function belongs to class: Mopen.
- Function belongs to class: Sqrt.
- Function belongs to class: OpApex.
- Function belongs to class: Sqrt.
- Function belongs to class: Sin.
- Function belongs to class: CV_CvtColor.
- Function belongs to class: Sum.
- Function belongs to class: OpEqual.
- Function belongs to class: Sqrt.
- Function belongs to class: Zeros.
- Function belongs to class: CV_GetImgSize.
- Function belongs to class: Interp1.
- Function belongs to class: OpLogEq.
- Function belongs to class: DEC2OCT.
- Function belongs to class: OpDotHat.
- Function belongs to class: OpDotStar.
- Function belongs to class: FACTORIAL.
- Function belongs to class: STRCMP.
- Function belongs to class: CUMSUM.
- Function belongs to class: OpDotHat.
- Function belongs to class: Part.
- Function belongs to class: CV_ShowImage.
- Function belongs to class: AVRDigitalSetup.
- Function belongs to class: TRIU.
- Function belongs to class: AVRPWM0SetDuty.
- Function belongs to class: Sqrt.
- Function belongs to class: CV_CornerHarris.
- Function belongs to class: Meanf.
- Function belongs to class: Sum.
- Function belongs to class: cmd_analog_in.
- Function belongs to class: RPI_SetupSerial.
- Function belongs to class: RPI_DelayMilli.
- Function belongs to class: OpPlus.
- Function belongs to class: RPI_GetMilli.
- Function belongs to class: OpLogEq.
- Function belongs to class: FLIPDIM.
- Function belongs to class: RCOND.
- Function belongs to class: OpSlash.
- Function belongs to class: Sqrt.
- Function belongs to class: Coth.
- Function belongs to class: CV_Threshold.
- Function belongs to class: Cosd.
- Function belongs to class: OpExt.
- Function belongs to class: RPI_DigitalIn.
- Function belongs to class: STRSUBST.
- Function belongs to class: Uint16.
- Function belongs to class: String.
- Function belongs to class: Int8.
- Function belongs to class: OCT2DEC.
- Function belongs to class: RPI_DelayMilli.
- Function belongs to class: Find.
- Function belongs to class: Sqrt.
- Function belongs to class: OpDotHat.
- Function belongs to class: RPI_PinISR.
- Function belongs to class: Sec.
- Function belongs to class: OpLogNot.
- Function belongs to class: IFFT.
- Function belongs to class: Abs.
- Function belongs to class: FACTOR.
- Function belongs to class: Sqrt.
- Function belongs to class: OpApex.
- Function belongs to class: Frmag.
- Function belongs to class: Spec.
- Function belongs to class: Sin.
- Function belongs to class: NORM.
- Function belongs to class: Sqrt.
- Function belongs to class: OpDotHat.
- Function belongs to class: AVRSleep.
- Function belongs to class: AVRPWM2Setup.
- Function belongs to class: cmd_dcmotor_setup.
- Function belongs to class: LQE.
- Function belongs to class: Sqrt.
- Function belongs to class: CV_LoadImage.
- Function belongs to class: RPI_DigitalSetup.
- Function belongs to class: STRREV.
- Function belongs to class: RPI_GetMilli.
- Function belongs to class: RPI_DelayMilli.
- Function belongs to class: RPI_ThreadCreate.
- Function belongs to class: RPI_DelayMilli.
- Function belongs to class: Max.
- Function belongs to class: RPI_SerialSendData.
- Function belongs to class: Max.
- Function belongs to class: OpDotHat.
- Function belongs to class: sleep.
- Function belongs to class: PRIMES.
- Function belongs to class: cmd_dcmotor_run.
- Function belongs to class: RPI_DelayMilli.
- Function belongs to class: bitcmp.
- Function belongs to class: Sqrt.
- Function belongs to class: Csc.
- Function belongs to class: Mclose.
- Function belongs to class: OpColon.
- Function belongs to class: CV_AdaptiveThreshold.
- Function belongs to class: Sum.
- Function belongs to class: Sin.
- Function belongs to class: Length.
- Function belongs to class: Sin.
- ==> Start translation of function "lengthfinder"
- ==> Generate the AST.
- ==> Generate C code in /home/ankitraj1996/Documents/Scilab2C/2.3-1/main.c
- ==> Copying sources
- ==> Copying headers
- ==> Copying interfaces
- ==> Copying libraries
- ==> Generating Builder /home/ankitraj1996/Documents/Scilab2C/2.3-1/Makefile
- ==> Translation Successfully Completed!!!
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRADCSetup.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRADCSetup.acls
deleted file mode 100644
index 4323fcf..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRADCSetup.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalIn.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalIn.acls
deleted file mode 100644
index f9e958b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalIn.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalOut.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalOut.acls
deleted file mode 100644
index 0ceba93..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalOut.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalPortSetup.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalPortSetup.acls
deleted file mode 100644
index f9e958b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalPortSetup.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalSetup.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalSetup.acls
deleted file mode 100644
index cbdd2be..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRDigitalSetup.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRGetTimerValue.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRGetTimerValue.acls
deleted file mode 100644
index 74cf62f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRGetTimerValue.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'u16'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM0SetDuty.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM0SetDuty.acls
deleted file mode 100644
index 047bbf0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM0SetDuty.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM0Setup.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM0Setup.acls
deleted file mode 100644
index 6b83013..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM0Setup.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM1SetDuty.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM1SetDuty.acls
deleted file mode 100644
index e7a2457..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM1SetDuty.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM1Setup.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM1Setup.acls
deleted file mode 100644
index 960a2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM1Setup.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM2SetDuty.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM2SetDuty.acls
deleted file mode 100644
index 047bbf0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM2SetDuty.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM2Setup.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM2Setup.acls
deleted file mode 100644
index 6ffcebc..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRPWM2Setup.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRReadADC.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRReadADC.acls
deleted file mode 100644
index 047bbf0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRReadADC.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRSleep.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRSleep.acls
deleted file mode 100644
index 74cf62f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRSleep.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'u16'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRTimerSetup.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRTimerSetup.acls
deleted file mode 100644
index 960a2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRTimerSetup.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTReceiveChar.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTReceiveChar.acls
deleted file mode 100644
index 7f50057..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTReceiveChar.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 0
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTSetup.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTSetup.acls
deleted file mode 100644
index 9f97586..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTSetup.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 4
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTTransmit.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTTransmit.acls
deleted file mode 100644
index 047bbf0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/AVRUARTTransmit.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Abs.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Abs.acls
deleted file mode 100644
index dc9ae67..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Abs.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= FA_TP_REAL(IN(1).TP)
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Atan.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Atan.acls
deleted file mode 100644
index f4caa58..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Atan.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BALANC.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BALANC.acls
deleted file mode 100644
index 8d16363..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BALANC.acls
+++ /dev/null
@@ -1,22 +0,0 @@
-NIN= 1
-NOUT= 2
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-OUT(2).TP= IN(1).TP
-OUT(2).SZ(1)= IN(1).SZ(1)
-OUT(2).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 4
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-OUT(2).TP= IN(1).TP
-OUT(2).SZ(1)= IN(1).SZ(1)
-OUT(2).SZ(2)= IN(1).SZ(2)
-OUT(3).TP= IN(1).TP
-OUT(3).SZ(1)= IN(1).SZ(1)
-OUT(3).SZ(2)= IN(1).SZ(2)
-OUT(4).TP= IN(1).TP
-OUT(4).SZ(1)= IN(1).SZ(1)
-OUT(4).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BASE2DEC.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BASE2DEC.acls
deleted file mode 100644
index b0001f2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BASE2DEC.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BIN2DEC.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BIN2DEC.acls
deleted file mode 100644
index e421318..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/BIN2DEC.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CONVSTR.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CONVSTR.acls
deleted file mode 100644
index 8ce1d8a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CONVSTR.acls
+++ /dev/null
@@ -1,15 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(1)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CUMSUM.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CUMSUM.acls
deleted file mode 100644
index 1e3f864..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CUMSUM.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_AdaptiveThreshold.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_AdaptiveThreshold.acls
deleted file mode 100644
index 8b3c854..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_AdaptiveThreshold.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 6
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Blur.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Blur.acls
deleted file mode 100644
index 8b3c854..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Blur.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 6
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Canny.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Canny.acls
deleted file mode 100644
index 39939a9..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Canny.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 5
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CornerHarris.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CornerHarris.acls
deleted file mode 100644
index f427ba1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CornerHarris.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 5
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 4
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CreateImage.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CreateImage.acls
deleted file mode 100644
index 38aa319..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CreateImage.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 4
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CvtColor.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CvtColor.acls
deleted file mode 100644
index 110e19b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_CvtColor.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Dilate.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Dilate.acls
deleted file mode 100644
index 57cd444..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Dilate.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 6
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_DistanceTransform.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_DistanceTransform.acls
deleted file mode 100644
index 40026a6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_DistanceTransform.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_GetImgSize.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_GetImgSize.acls
deleted file mode 100644
index 69f5a85..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_GetImgSize.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '2'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_LoadImage.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_LoadImage.acls
deleted file mode 100644
index 110e19b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_LoadImage.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_MedianBlur.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_MedianBlur.acls
deleted file mode 100644
index 110e19b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_MedianBlur.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_ShowImage.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_ShowImage.acls
deleted file mode 100644
index bc20216..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_ShowImage.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 2
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 1
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Threshold.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Threshold.acls
deleted file mode 100644
index 38aa319..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_Threshold.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 4
-NOUT= 1
-OUT(1).TP= 'mt'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_WaitKey.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_WaitKey.acls
deleted file mode 100644
index 4736c65..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/CV_WaitKey.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cepstrum.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cepstrum.acls
deleted file mode 100644
index 33aebdf..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cepstrum.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= FA_MUL(IN(1).SZ(1),IN(1).SZ(2))
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Convol.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Convol.acls
deleted file mode 100644
index f50fbf2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Convol.acls
+++ /dev/null
@@ -1,21 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_SUB(FA_ADD(IN(1).SZ(2),IN(2).SZ(2)),'1')
-NIN= 2
-NOUT= 2
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= IN(2).SZ(2)
-OUT(2).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= FA_SUB(FA_ADD(IN(1).SZ(2),IN(2).SZ(2)),'1')
-NIN= 3
-NOUT= 2
-OUT(1).TP= FA_TP_MAX(FA_TP_MAX(IN(1).TP,IN(2).TP),IN(3).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= IN(2).SZ(2)
-OUT(2).TP= FA_TP_MAX(FA_TP_MAX(IN(1).TP,IN(2).TP),IN(3).TP)
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= FA_SUB(FA_ADD(IN(1).SZ(2),IN(2).SZ(2)),'1')
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cosd.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cosd.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cosd.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cotd.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cotd.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cotd.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Coth.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Coth.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Coth.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Csc.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Csc.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Csc.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cscd.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cscd.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Cscd.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Csch.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Csch.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Csch.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2BASE.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2BASE.acls
deleted file mode 100644
index 0e363ee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2BASE.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'g'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= FA_MUL(FA_SZ_DEC2BASE(IN(1).VAL,IN(2).VAL),IN(1).SZ(2))
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'g'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= FA_MUL(IN(2).VAL,IN(1).SZ(2))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2BIN.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2BIN.acls
deleted file mode 100644
index a76fedf..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2BIN.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= FA_MUL(FA_SZ_DEC2BIN(IN(1).VAL),IN(1).SZ(2))
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= FA_MUL(IN(2).VAL,IN(1).SZ(2))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2HEX.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2HEX.acls
deleted file mode 100644
index cd8fc95..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2HEX.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'g'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= FA_MUL(FA_SZ_DEC2HEX(IN(1).VAL),IN(1).SZ(1))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2OCT.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2OCT.acls
deleted file mode 100644
index 60c89d7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DEC2OCT.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= FA_MUL(FA_SZ_DEC2OCT(IN(1).VAL),IN(1).SZ(1))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DIFF.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DIFF.acls
deleted file mode 100644
index 878ad8c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DIFF.acls
+++ /dev/null
@@ -1,15 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_DIFF(IN(1).SZ,'1','0'))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_DIFF(IN(1).SZ,'1','0'))
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL,'0'))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL,'0'))
-NIN= 3
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL, IN(3).VAL))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_DIFF(IN(1).SZ,IN(2).VAL, IN(3).VAL))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Disp.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Disp.acls
deleted file mode 100644
index e996961..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Disp.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 0
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Double.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Double.acls
deleted file mode 100644
index 9bab469..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Double.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DoubleComplex.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DoubleComplex.acls
deleted file mode 100644
index d821a40..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/DoubleComplex.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'z'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Expm.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Expm.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Expm.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FACTOR.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FACTOR.acls
deleted file mode 100644
index a2774e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FACTOR.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= FA_MUL(FA_SZ_FACTOR(IN(1).VAL),IN(1).SZ(1))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FACTORIAL.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FACTORIAL.acls
deleted file mode 100644
index 96e1e64..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FACTORIAL.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FFT.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FFT.acls
deleted file mode 100644
index 4afda9a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FFT.acls
+++ /dev/null
@@ -1,20 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 3
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 4
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FFTShift.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FFTShift.acls
deleted file mode 100644
index f4caa58..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FFTShift.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FLIPDIM.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FLIPDIM.acls
deleted file mode 100644
index 7a7f473..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FLIPDIM.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 3
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Find.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Find.acls
deleted file mode 100644
index 0ece3b9..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Find.acls
+++ /dev/null
@@ -1,26 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_MUL(IN(1).SZ(1),IN(1).SZ(2))
-NIN= 1
-NOUT= 2
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_MAX(FA_MUL(IN(1).SZ(1),IN(1).SZ(2)),'1')
-OUT(2).TP= IN(1).TP
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= FA_MAX(FA_MUL(IN(1).SZ(1),IN(1).SZ(2)),'1')
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_SZ_FROM_VAL(FA_MIN( IN(2).VAL ,FA_MUL(IN(1).SZ(1),IN(1).SZ(2))) ,IN(2).TP)
-NIN= 2
-NOUT= 2
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_SZ_FROM_VAL(FA_MIN( IN(2).VAL ,FA_MUL(IN(1).SZ(1),IN(1).SZ(2))) ,IN(2).TP)
-OUT(2).TP= IN(1).TP
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= FA_SZ_FROM_VAL(FA_MIN( IN(2).VAL ,FA_MUL(IN(1).SZ(1),IN(1).SZ(2))) ,IN(2).TP)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Float.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Float.acls
deleted file mode 100644
index 3277451..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Float.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 's'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 1
-NOUT= 1
-OUT(1).TP= 's'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FloatComplex.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FloatComplex.acls
deleted file mode 100644
index fce5a2e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/FloatComplex.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'c'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Frmag.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Frmag.acls
deleted file mode 100644
index 532deb4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Frmag.acls
+++ /dev/null
@@ -1,26 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= IN(2).VAL
-NIN= 2
-NOUT= 2
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= IN(2).VAL
-OUT(2).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= IN(2).VAL
-NIN= 3
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= IN(3).VAL
-NIN= 3
-NOUT= 2
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= IN(3).VAL
-OUT(2).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= IN(3).VAL
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Global.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Global.acls
deleted file mode 100644
index f09ce6b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Global.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/HEX2DEC.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/HEX2DEC.acls
deleted file mode 100644
index 1301381..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/HEX2DEC.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IFFT.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IFFT.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IFFT.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Int16.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Int16.acls
deleted file mode 100644
index 1b65783..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Int16.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'i16'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Int8.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Int8.acls
deleted file mode 100644
index f8a22c2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Int8.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'i8'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Interp1.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Interp1.acls
deleted file mode 100644
index b6ef501..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Interp1.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 4
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IsEmpty.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IsEmpty.acls
deleted file mode 100644
index 5adb5d3..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IsEmpty.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= FA_TP_USER
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IsNan.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IsNan.acls
deleted file mode 100644
index d1d1e68..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/IsNan.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= FA_TP_REAL(IN(1).TP)
-OUT(1).SZ(1)= IN(1).SZ(2)
-OUT(1).SZ(2)= IN(1).SZ(1)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/KRON.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/KRON.acls
deleted file mode 100644
index b14ad48..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/KRON.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_MUL(IN(1).SZ(1),IN(2).SZ(1))
-OUT(1).SZ(2)= FA_MUL(IN(1).SZ(2),IN(2).SZ(2))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/LQE.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/LQE.acls
deleted file mode 100644
index e24d78f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/LQE.acls
+++ /dev/null
@@ -1,8 +0,0 @@
-NIN= 1
-NOUT= 2
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_LQE(IN(1).VAL,IN(1).SZ(1)))
-OUT(1).SZ(2)= FA_SZ_1(FA_SZ_LQE(IN(1).VAL,IN(1).SZ(1)))
-OUT(2).TP= 'd'
-OUT(2).SZ(1)= FA_SZ_1(FA_SZ_LQE(IN(1).VAL,IN(1).SZ(1)))
-OUT(2).SZ(2)= FA_SZ_2(FA_SZ_LQE(IN(1).VAL,IN(1).SZ(1)))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/LQR.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/LQR.acls
deleted file mode 100644
index bb06c20..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/LQR.acls
+++ /dev/null
@@ -1,8 +0,0 @@
-NIN= 1
-NOUT= 2
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_LQR(IN(1).VAL))
-OUT(1).SZ(2)= FA_SZ_1(FA_SZ_LQR(IN(1).VAL))
-OUT(2).TP= 'd'
-OUT(2).SZ(1)= FA_SZ_2(FA_SZ_LQR(IN(1).VAL))
-OUT(2).SZ(2)= FA_SZ_1(FA_SZ_LQR(IN(1).VAL))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Length.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Length.acls
deleted file mode 100644
index 5adb5d3..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Length.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= FA_TP_USER
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Lev.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Lev.acls
deleted file mode 100644
index 357885e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Lev.acls
+++ /dev/null
@@ -1,24 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SUB(FA_ADD(IN(1).SZ(1),IN(1).SZ(2)),'2')
-OUT(1).SZ(2)= '1'
-NIN= 1
-NOUT= 2
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SUB(FA_ADD(IN(1).SZ(1),IN(1).SZ(2)),'2')
-OUT(1).SZ(2)= '1'
-OUT(2).TP= IN(1).TP
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= '1'
-NIN= 1
-NOUT= 3
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SUB(FA_ADD(IN(1).SZ(1),IN(1).SZ(2)),'2')
-OUT(1).SZ(2)= '1'
-OUT(2).TP= IN(1).TP
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= '1'
-OUT(3).TP= IN(1).TP
-OUT(3).SZ(1)= FA_SUB(FA_ADD(IN(1).SZ(1),IN(1).SZ(2)),'2')
-OUT(3).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Max.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Max.acls
deleted file mode 100644
index e225ed3..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Max.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OPPLUS(IN(1).SZ,IN(2).SZ,IN(1).TP,IN(2).TP))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OPPLUS(IN(1).SZ,IN(2).SZ,IN(1).TP,IN(2).TP))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mclose.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mclose.acls
deleted file mode 100644
index 899f415..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mclose.acls
+++ /dev/null
@@ -1,7 +0,0 @@
-NIN= 0
-NOUT= 1
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'i'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Meanf.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Meanf.acls
deleted file mode 100644
index a9c9937..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Meanf.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP, IN(2).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 3
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP, IN(2).TP)
-OUT(1).SZ(1)= FA_SZ_SEL1(IN(1).SZ(1),IN(3).VAL)
-OUT(1).SZ(2)= FA_SZ_SEL2(IN(1).SZ(2),IN(3).VAL)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mget.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mget.acls
deleted file mode 100644
index 471fe46..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mget.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= FA_TP_USER
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_SZ_RTMAX(FA_SZ_FROM_VAL(IN(1).VAL,IN(1).TP))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mopen.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mopen.acls
deleted file mode 100644
index 8e5c8ce..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mopen.acls
+++ /dev/null
@@ -1,39 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'f'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 1
-NOUT= 2
-OUT(1).TP= 'f'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-OUT(2).TP= FA_TP_USER
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= '1'
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'f'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 2
-NOUT= 2
-OUT(1).TP= 'f'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-OUT(2).TP= FA_TP_USER
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= '1'
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'f'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 3
-NOUT= 2
-OUT(1).TP= 'f'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-OUT(2).TP= FA_TP_USER
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mput.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mput.acls
deleted file mode 100644
index cae917b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mput.acls
+++ /dev/null
@@ -1,7 +0,0 @@
-NIN= 3
-NOUT= 0
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'i'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mseek.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mseek.acls
deleted file mode 100644
index 0e768c5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Mseek.acls
+++ /dev/null
@@ -1,6 +0,0 @@
-NIN= 1
-NOUT= 0
-NIN= 2
-NOUT= 0
-NIN= 3
-NOUT= 0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/NORM.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/NORM.acls
deleted file mode 100644
index 81b3fef..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/NORM.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OBSCONT.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OBSCONT.acls
deleted file mode 100644
index 65aac67..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OBSCONT.acls
+++ /dev/null
@@ -1,13 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))
-NIN= 3
-NOUT= 2
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1),IN(1).SZ(2),NOutArg))
-OUT(2).TP= 'd'
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= '2'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OCT2DEC.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OCT2DEC.acls
deleted file mode 100644
index e421318..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OCT2DEC.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/ODE.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/ODE.acls
deleted file mode 100644
index cfd2ffd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/ODE.acls
+++ /dev/null
@@ -1,30 +0,0 @@
-NIN= 4
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_MUL(IN(1).SZ(2),IN(3).SZ(2))
-NIN= 4
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(3).SZ(1)
-OUT(1).SZ(2)= IN(3).SZ(2)
-NIN= 5
-NOUT= 1
-OUT(1).TP= IN(2).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_MUL(IN(2).SZ(2),IN(4).SZ(2))
-NIN= 5
-NOUT= 1
-OUT(1).TP= IN(2).TP
-OUT(1).SZ(1)= IN(4).SZ(1)
-OUT(1).SZ(2)= IN(4).SZ(2)
-NIN= 6
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_MUL(IN(1).SZ(2),IN(3).SZ(2))
-NIN= 6
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(3).SZ(1)
-OUT(1).SZ(2)= IN(3).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpApex.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpApex.acls
deleted file mode 100644
index d141608..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpApex.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(2)
-OUT(1).SZ(2)= IN(1).SZ(1)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpBackSlash.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpBackSlash.acls
deleted file mode 100644
index d71f656..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpBackSlash.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OPBACKSLASH(IN(1).SZ,IN(2).SZ))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OPBACKSLASH(IN(1).SZ,IN(2).SZ))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpCc.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpCc.acls
deleted file mode 100644
index e99ee26..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpCc.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= FA_ADD(IN(1).SZ(1),IN(2).SZ(1))
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpColon.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpColon.acls
deleted file mode 100644
index 927742a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpColon.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MIN_REAL(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_SZ_FROM_VAL(FA_ADD(FA_SUB(FA_REAL(IN(2).VAL,IN(2).TP),FA_REAL(IN(1).VAL,IN(1).TP)),'1'),FA_TP_REAL(IN(2).TP))
-NIN= 3
-NOUT= 1
-OUT(1).TP= FA_TP_MIN_REAL(IN(1).TP,FA_TP_MIN_REAL(IN(2).TP,IN(3).TP))
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_SZ_FROM_VAL(FA_ADD(FA_DIV(FA_SUB(FA_REAL(IN(3).VAL,IN(3).TP),FA_REAL(IN(1).VAL, IN(1).TP)),FA_REAL(IN(2).VAL,IN(2).TP)),'1'),FA_TP_REAL(IN(3).TP))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpDotHat.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpDotHat.acls
deleted file mode 100644
index 7af1131..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpDotHat.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OPDOTSTAR(IN(1).SZ,IN(2).SZ))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OPDOTSTAR(IN(1).SZ,IN(2).SZ))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpDotStar.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpDotStar.acls
deleted file mode 100644
index 7af1131..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpDotStar.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OPDOTSTAR(IN(1).SZ,IN(2).SZ))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OPDOTSTAR(IN(1).SZ,IN(2).SZ))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpEqual.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpEqual.acls
deleted file mode 100644
index b4ac011..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpEqual.acls
+++ /dev/null
@@ -1,13 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_1(IN(1).SZ)
-OUT(1).SZ(2)= FA_SZ_2(IN(1).SZ)
-NIN= 2
-NOUT= 2
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_1(IN(1).SZ)
-OUT(1).SZ(2)= FA_SZ_2(IN(1).SZ)
-OUT(2).TP= IN(2).TP
-OUT(2).SZ(1)= FA_SZ_1(IN(2).SZ)
-OUT(2).SZ(2)= FA_SZ_2(IN(2).SZ)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpExt.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpExt.acls
deleted file mode 100644
index 17f4fee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpExt.acls
+++ /dev/null
@@ -1,15 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_MUL(IN(2).SZ(1),IN(2).SZ(2))
-OUT(1).SZ(2)= '1'
-NIN= 3
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_MUL(IN(2).SZ(1),IN(2).SZ(2))
-OUT(1).SZ(2)= FA_MUL(IN(3).SZ(1),IN(3).SZ(2))
-NIN= 4
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_MUL(IN(2).SZ(1),IN(2).SZ(2))
-OUT(1).SZ(2)= FA_MUL(IN(3).SZ(1),IN(3).SZ(2))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpIns.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpIns.acls
deleted file mode 100644
index 406a92d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpIns.acls
+++ /dev/null
@@ -1,6 +0,0 @@
-NIN= 3
-NOUT= 0
-NIN= 4
-NOUT= 0
-NIN= 5
-NOUT= 0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpLogEq.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpLogEq.acls
deleted file mode 100644
index a933e22..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpLogEq.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MIN_REAL(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OPDOTSTAR(IN(1).SZ,IN(2).SZ))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OPDOTSTAR(IN(1).SZ,IN(2).SZ))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpLogNot.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpLogNot.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpLogNot.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpMinus.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpMinus.acls
deleted file mode 100644
index f669104..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpMinus.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OPMINUS(IN(1).SZ,IN(2).SZ))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OPMINUS(IN(1).SZ,IN(2).SZ))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpPlus.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpPlus.acls
deleted file mode 100644
index a7ad1be..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpPlus.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OPPLUS(IN(1).SZ,IN(2).SZ,IN(1).TP,IN(2).TP))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OPPLUS(IN(1).SZ,IN(2).SZ,IN(1).TP,IN(2).TP))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpRc.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpRc.acls
deleted file mode 100644
index 3b2c9df..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpRc.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= FA_ADD(IN(1).SZ(2),IN(2).SZ(2))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpSlash.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpSlash.acls
deleted file mode 100644
index 4ded324..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpSlash.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OPSLASH(IN(1).SZ,IN(2).SZ))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OPSLASH(IN(1).SZ,IN(2).SZ))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpStar.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpStar.acls
deleted file mode 100644
index 4501ca8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/OpStar.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OPSTAR(IN(1).SZ,IN(2).SZ))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OPSTAR(IN(1).SZ,IN(2).SZ))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/PRIMES.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/PRIMES.acls
deleted file mode 100644
index 708d6ea..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/PRIMES.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= FA_SZ_PRIMES(IN(1).VAL)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Part.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Part.acls
deleted file mode 100644
index e90d4e4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Part.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'g'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_SZ_RTMAX(IN(1).SZ(2))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RCOND.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RCOND.acls
deleted file mode 100644
index 1301381..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RCOND.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DelayMilli.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DelayMilli.acls
deleted file mode 100644
index a2c3c96..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DelayMilli.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DigitalIn.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DigitalIn.acls
deleted file mode 100644
index 047bbf0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DigitalIn.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DigitalSetup.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DigitalSetup.acls
deleted file mode 100644
index ee6bacb..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_DigitalSetup.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_GetMilli.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_GetMilli.acls
deleted file mode 100644
index ad4fc33..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_GetMilli.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 0
-NOUT= 1
-OUT(1).TP= 'u32'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_PinISR.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_PinISR.acls
deleted file mode 100644
index aa20170..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_PinISR.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'i16'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SerialDataAvail.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SerialDataAvail.acls
deleted file mode 100644
index 023781f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SerialDataAvail.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'i16'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SerialSendData.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SerialSendData.acls
deleted file mode 100644
index ee6bacb..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SerialSendData.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SetupSerial.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SetupSerial.acls
deleted file mode 100644
index c3972af..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_SetupSerial.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'u16'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_ThreadCreate.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_ThreadCreate.acls
deleted file mode 100644
index 74cf62f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/RPI_ThreadCreate.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'u16'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Return.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Return.acls
deleted file mode 100644
index 217fdaa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Return.acls
+++ /dev/null
@@ -1,2 +0,0 @@
-NIN= 0
-NOUT= 0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/SCHUR.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/SCHUR.acls
deleted file mode 100644
index 123924a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/SCHUR.acls
+++ /dev/null
@@ -1,106 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 1
-NOUT= 2
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-OUT(2).TP= IN(1).TP
-OUT(2).SZ(1)= IN(1).SZ(1)
-OUT(2).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 2
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-OUT(2).TP= FA_SCHUR_TP(IN(2).TP)
-OUT(2).SZ(1)= FA_SCHUR_SZ(IN(2).TP,IN(1).SZ(1))
-OUT(2).SZ(2)= FA_SCHUR_SZ(IN(2).TP,IN(1).SZ(1))
-NIN= 2
-NOUT= 3
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-OUT(2).TP= 'd'
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= '1'
-OUT(3).TP= IN(1).TP
-OUT(3).SZ(1)= IN(1).SZ(1)
-OUT(3).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 4
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-OUT(2).TP= IN(1).TP
-OUT(2).SZ(1)= IN(1).SZ(1)
-OUT(2).SZ(2)= IN(1).SZ(2)
-OUT(3).TP= IN(1).TP
-OUT(3).SZ(1)= IN(1).SZ(1)
-OUT(3).SZ(2)= IN(1).SZ(2)
-OUT(4).TP= IN(1).TP
-OUT(4).SZ(1)= IN(1).SZ(1)
-OUT(4).SZ(2)= IN(1).SZ(2)
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 3
-NOUT= 2
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-OUT(2).TP= 'd'
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= '1'
-NIN= 3
-NOUT= 3
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-OUT(2).TP= IN(1).TP
-OUT(2).SZ(1)= IN(1).SZ(1)
-OUT(2).SZ(2)= IN(1).SZ(2)
-OUT(3).TP= 'd'
-OUT(3).SZ(1)= '1'
-OUT(3).SZ(2)= '1'
-NIN= 3
-NOUT= 4
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-OUT(2).TP= IN(1).TP
-OUT(2).SZ(1)= IN(1).SZ(1)
-OUT(2).SZ(2)= IN(1).SZ(2)
-OUT(3).TP= IN(1).TP
-OUT(3).SZ(1)= IN(1).SZ(1)
-OUT(3).SZ(2)= IN(1).SZ(2)
-OUT(4).TP= 'd'
-OUT(4).SZ(1)= '1'
-OUT(4).SZ(2)= '1'
-NIN= 3
-NOUT= 5
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-OUT(2).TP= IN(1).TP
-OUT(2).SZ(1)= IN(1).SZ(1)
-OUT(2).SZ(2)= IN(1).SZ(2)
-OUT(3).TP= IN(1).TP
-OUT(3).SZ(1)= IN(1).SZ(1)
-OUT(3).SZ(2)= IN(1).SZ(2)
-OUT(4).TP= IN(1).TP
-OUT(4).SZ(1)= IN(1).SZ(1)
-OUT(4).SZ(2)= IN(1).SZ(2)
-OUT(5).TP= 'd'
-OUT(5).SZ(1)= '1'
-OUT(5).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRCMP.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRCMP.acls
deleted file mode 100644
index 1d63f67..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRCMP.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 3
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(1)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRRCHR.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRRCHR.acls
deleted file mode 100644
index 4c4e1cc..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRRCHR.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRREV.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRREV.acls
deleted file mode 100644
index 96e1e64..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRREV.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRSUBST.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRSUBST.acls
deleted file mode 100644
index cb4bd44..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/STRSUBST.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 4
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/SYSLIN.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/SYSLIN.acls
deleted file mode 100644
index 76fae04..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/SYSLIN.acls
+++ /dev/null
@@ -1,15 +0,0 @@
-NIN= 4
-NOUT= 1
-OUT(1).TP= 'ss'
-OUT(1).SZ(1)= FA_ADD(IN(2).SZ(1),IN(4).SZ(1))
-OUT(1).SZ(2)= FA_ADD(FA_ADD(IN(2).SZ(2),IN(3).SZ(2)), '2')
-NIN= 5
-NOUT= 1
-OUT(1).TP= 'ss'
-OUT(1).SZ(1)= FA_ADD(IN(2).SZ(1),IN(4).SZ(1))
-OUT(1).SZ(2)= FA_ADD(FA_ADD(IN(2).SZ(2),IN(3).SZ(2)), '2')
-NIN= 6
-NOUT= 1
-OUT(1).TP= 'ss'
-OUT(1).SZ(1)= FA_ADD(IN(2).SZ(1),IN(4).SZ(1))
-OUT(1).SZ(2)= FA_ADD(FA_ADD(IN(2).SZ(2),IN(3).SZ(2)), '2')
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sec.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sec.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sec.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Secd.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Secd.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Secd.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sech.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sech.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sech.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sign.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sign.acls
deleted file mode 100644
index 0b82265..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sign.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= FA_TP_USER
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sin.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sin.acls
deleted file mode 100644
index 0b82265..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sin.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= FA_TP_USER
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Size.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Size.acls
deleted file mode 100644
index 8d5b353..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Size.acls
+++ /dev/null
@@ -1,18 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= FA_TP_REAL(IN(1).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '2'
-NIN= 1
-NOUT= 2
-OUT(1).TP= FA_TP_REAL(IN(1).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-OUT(2).TP= FA_TP_REAL(IN(1).TP)
-OUT(2).SZ(1)= '1'
-OUT(2).SZ(2)= '1'
-NIN= 2
-NOUT= 1
-OUT(1).TP= FA_TP_REAL(IN(1).TP)
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Spec.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Spec.acls
deleted file mode 100644
index d324b62..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Spec.acls
+++ /dev/null
@@ -1,13 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= FA_TP_COMPLEX(IN(1).TP)
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= '1'
-NIN= 1
-NOUT= 2
-OUT(1).TP= FA_TP_COMPLEX(IN(1).TP)
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-OUT(2).TP= FA_TP_COMPLEX(IN(1).TP)
-OUT(2).SZ(1)= IN(1).SZ(1)
-OUT(2).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sqrt.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sqrt.acls
deleted file mode 100644
index 575b32a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sqrt.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Strindex.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Strindex.acls
deleted file mode 100644
index e90d4e4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Strindex.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'g'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= FA_SZ_RTMAX(IN(1).SZ(2))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/String.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/String.acls
deleted file mode 100644
index ed1de9e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/String.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'g'
-OUT(1).SZ(1)= FA_SZ_1(IN.SZ)
-OUT(1).SZ(2)= FA_SZ_2(IN.SZ)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sum.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sum.acls
deleted file mode 100644
index 99b7194..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Sum.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_SEL1(IN(1).SZ(1),IN(2).VAL)
-OUT(1).SZ(2)= FA_SZ_SEL2(IN(1).SZ(2),IN(2).VAL)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/TRIU.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/TRIU.acls
deleted file mode 100644
index 1e3f864..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/TRIU.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Trace.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Trace.acls
deleted file mode 100644
index f63436b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Trace.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Uint16.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Uint16.acls
deleted file mode 100644
index 15d51d0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Uint16.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'u16'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Uint8.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Uint8.acls
deleted file mode 100644
index 4115624..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Uint8.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Zeros.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Zeros.acls
deleted file mode 100644
index c90f8c6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/Zeros.acls
+++ /dev/null
@@ -1,21 +0,0 @@
-NIN= 0
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_1(IN(1).SZ)
-OUT(1).SZ(2)= FA_SZ_2(IN(1).SZ)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_FROM_VAL(IN(1).VAL,IN(1).TP)
-OUT(1).SZ(2)= FA_SZ_FROM_VAL(IN(2).VAL,IN(2).TP)
-NIN= 3
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_FROM_VAL(IN(1).VAL,IN(1).TP)
-OUT(1).SZ(2)= FA_SZ_FROM_VAL(IN(2).VAL,IN(2).TP)
-OUT(1).SZ(3)= FA_SZ_FROM_VAL(IN(3).VAL,IN(3).TP)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitand.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitand.acls
deleted file mode 100644
index f4caa58..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitand.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitcmp.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitcmp.acls
deleted file mode 100644
index f4caa58..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitcmp.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitget.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitget.acls
deleted file mode 100644
index c520451..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitget.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitset.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitset.acls
deleted file mode 100644
index af7cfe9..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/bitset.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= IN(1).SZ(1)
-OUT(1).SZ(2)= IN(1).SZ(2)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cat.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cat.acls
deleted file mode 100644
index aa2ab02..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cat.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= FA_TP_MAX(IN(2).TP,IN(3).TP)
-OUT(1).SZ(1)= FA_SZ_1(FA_SZ_ROW_COLUMN_CAT(IN(1).VAL,IN(2).SZ(1),IN(3).SZ(1)))
-OUT(1).SZ(2)= FA_SZ_2(FA_SZ_ROW_COLUMN_CAT(IN(1).VAL,IN(2).SZ(2),IN(3).SZ(2)))
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_analog_in.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_analog_in.acls
deleted file mode 100644
index eecd54b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_analog_in.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'u16'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_analog_out.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_analog_out.acls
deleted file mode 100644
index 0ceba93..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_analog_out.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_dcmotor_run.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_dcmotor_run.acls
deleted file mode 100644
index 0ceba93..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_dcmotor_run.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_dcmotor_setup.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_dcmotor_setup.acls
deleted file mode 100644
index 2f8bae1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_dcmotor_setup.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 5
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_digital_in.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_digital_in.acls
deleted file mode 100644
index f9e958b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_digital_in.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_digital_out.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_digital_out.acls
deleted file mode 100644
index 0ceba93..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_digital_out.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_attach.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_attach.acls
deleted file mode 100644
index 78fcc76..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_attach.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_detach.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_detach.acls
deleted file mode 100644
index 78fcc76..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_detach.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 2
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_move.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_move.acls
deleted file mode 100644
index 22730fc..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/cmd_servo_move.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/diag.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/diag.acls
deleted file mode 100644
index 75c16df..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/diag.acls
+++ /dev/null
@@ -1,10 +0,0 @@
-NIN= 1
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_ROW_DIAG(IN(1).SZ)
-OUT(1).SZ(2)= FA_SZ_COLUMN_DIAG(IN(1).SZ)
-NIN= 2
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_ROW_DIAG_INS_EXT(IN(1).SZ,IN(2).VAL)
-OUT(1).SZ(2)= FA_SZ_COL_DIAG_IN_EX(IN(1).SZ,IN(2).VAL)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/linspace.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/linspace.acls
deleted file mode 100644
index 829b910..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/linspace.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 3
-NOUT= 1
-OUT(1).TP= IN(1).TP
-OUT(1).SZ(1)= FA_SZ_LINSPACE_ROW(IN(1).SZ)
-OUT(1).SZ(2)= IN(3).VAL
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/rand.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/rand.acls
deleted file mode 100644
index 84d8050..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/rand.acls
+++ /dev/null
@@ -1,21 +0,0 @@
-NIN= 0
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
-NIN= 1
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= FA_SZ_1(IN(1).SZ)
-OUT(1).SZ(2)= FA_SZ_2(IN(1).SZ)
-NIN= 2
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= FA_SZ_FROM_VAL(IN(1).VAL,IN(1).TP)
-OUT(1).SZ(2)= FA_SZ_FROM_VAL(IN(2).VAL,IN(2).TP)
-NIN= 3
-NOUT= 1
-OUT(1).TP= 'd'
-OUT(1).SZ(1)= FA_SZ_FROM_VAL(IN(1).VAL,IN(1).TP)
-OUT(1).SZ(2)= FA_SZ_FROM_VAL(IN(2).VAL,IN(2).TP)
-OUT(1).SZ(3)= FA_SZ_FROM_VAL(IN(3).VAL,IN(3).TP)
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/sleep.acls b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/sleep.acls
deleted file mode 100644
index 25feb96..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Classes/sleep.acls
+++ /dev/null
@@ -1,5 +0,0 @@
-NIN= 1
-NOUT= 0
-OUT(1).TP= 'u8'
-OUT(1).SZ(1)= '1'
-OUT(1).SZ(2)= '1'
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRADCSetup.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRADCSetup.ann
deleted file mode 100644
index e53fcb9..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRADCSetup.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRADCSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalIn.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalIn.ann
deleted file mode 100644
index 427921c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalIn.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRDigitalIn
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalOut.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalOut.ann
deleted file mode 100644
index 5ee2b44..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalOut.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRDigitalOut
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalPortSetup.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalPortSetup.ann
deleted file mode 100644
index 6d5db50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalPortSetup.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRDigitalPortSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalSetup.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalSetup.ann
deleted file mode 100644
index fbf1a3d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRDigitalSetup.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRDigitalSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRGetTimerValue.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRGetTimerValue.ann
deleted file mode 100644
index 25b1613..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRGetTimerValue.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRGetTimerValue
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM0SetDuty.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM0SetDuty.ann
deleted file mode 100644
index 38b9d7b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM0SetDuty.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM0SetDuty
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM0Setup.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM0Setup.ann
deleted file mode 100644
index 8223052..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM0Setup.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM0Setup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM1SetDuty.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM1SetDuty.ann
deleted file mode 100644
index 86ac020..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM1SetDuty.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM1SetDuty
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM1Setup.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM1Setup.ann
deleted file mode 100644
index 6c0c3cd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM1Setup.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM1Setup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM2SetDuty.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM2SetDuty.ann
deleted file mode 100644
index b29a774..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM2SetDuty.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM2SetDuty
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM2Setup.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM2Setup.ann
deleted file mode 100644
index f899fc6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRPWM2Setup.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM2Setup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRReadADC.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRReadADC.ann
deleted file mode 100644
index 51ed9e0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRReadADC.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRReadADC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRSleep.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRSleep.ann
deleted file mode 100644
index 67b8d66..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRSleep.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRSleep
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRTimerSetup.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRTimerSetup.ann
deleted file mode 100644
index 35d469f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRTimerSetup.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRTimerSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTReceiveChar.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTReceiveChar.ann
deleted file mode 100644
index 5b006d0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTReceiveChar.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRUARTReceiveChar
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTSetup.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTSetup.ann
deleted file mode 100644
index 336d25c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTSetup.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRUARTSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTTransmit.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTTransmit.ann
deleted file mode 100644
index 5430e40..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/AVRUARTTransmit.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRUARTTransmit
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_AdaptiveThreshold.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_AdaptiveThreshold.ann
deleted file mode 100644
index 805764a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_AdaptiveThreshold.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_AdaptiveThreshold
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Blur.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Blur.ann
deleted file mode 100644
index 12762a2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Blur.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Blur
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Canny.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Canny.ann
deleted file mode 100644
index afc4872..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Canny.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Canny
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CornerHarris.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CornerHarris.ann
deleted file mode 100644
index 4b67f53..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CornerHarris.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_CornerHarris
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CreateImage.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CreateImage.ann
deleted file mode 100644
index 8ef5545..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CreateImage.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_CreateImage
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CvtColor.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CvtColor.ann
deleted file mode 100644
index 1066599..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_CvtColor.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_CvtColor
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Dilate.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Dilate.ann
deleted file mode 100644
index 3ad6ae2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Dilate.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Dilate
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_DistanceTransform.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_DistanceTransform.ann
deleted file mode 100644
index c87c972..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_DistanceTransform.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_DistanceTransform
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Erode.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Erode.ann
deleted file mode 100644
index 3ad6ae2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Erode.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Dilate
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_GaussianBlur.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_GaussianBlur.ann
deleted file mode 100644
index 12762a2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_GaussianBlur.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Blur
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_GetImgSize.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_GetImgSize.ann
deleted file mode 100644
index 6f3dd35..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_GetImgSize.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_GetImgSize
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_LoadImage.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_LoadImage.ann
deleted file mode 100644
index 037f713..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_LoadImage.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_LoadImage
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_MedianBlur.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_MedianBlur.ann
deleted file mode 100644
index c3dd1e0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_MedianBlur.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_MedianBlur
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_SaveImage.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_SaveImage.ann
deleted file mode 100644
index d869941..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_SaveImage.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_ShowImage
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_ShowImage.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_ShowImage.ann
deleted file mode 100644
index d869941..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_ShowImage.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_ShowImage
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Threshold.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Threshold.ann
deleted file mode 100644
index b8e4930..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_Threshold.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Threshold
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_WaitKey.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_WaitKey.ann
deleted file mode 100644
index 0f2a079..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/CV_WaitKey.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_WaitKey
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/Cepstrum.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/Cepstrum.ann
deleted file mode 100644
index 60a7925..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/Cepstrum.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Cepstrum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpApex.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpApex.ann
deleted file mode 100644
index 67b2d70..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpApex.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpApex
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpBackSlash.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpBackSlash.ann
deleted file mode 100644
index f9a15de..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpBackSlash.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpBackSlash
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpCc.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpCc.ann
deleted file mode 100644
index 0a61e73..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpCc.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpCc
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpColon.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpColon.ann
deleted file mode 100644
index 6460a53..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpColon.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpColon
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotApex.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotApex.ann
deleted file mode 100644
index 67b2d70..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotApex.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpApex
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotBackSlash.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotBackSlash.ann
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotBackSlash.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotHat.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotHat.ann
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotHat.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotSlash.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotSlash.ann
deleted file mode 100644
index 0243038..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotSlash.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotStar
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotStar.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotStar.ann
deleted file mode 100644
index 0243038..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpDotStar.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotStar
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpEqual.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpEqual.ann
deleted file mode 100644
index a1a50a1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpEqual.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpEqual
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpExt.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpExt.ann
deleted file mode 100644
index 7e4b925..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpExt.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpExt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpHat.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpHat.ann
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpHat.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpIns.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpIns.ann
deleted file mode 100644
index 445aa02..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpIns.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpIns
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogAnd.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogAnd.ann
deleted file mode 100644
index dd3623a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogAnd.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogEq
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogEq.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogEq.ann
deleted file mode 100644
index dd3623a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogEq.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogEq
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogGe.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogGe.ann
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogGe.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogGt.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogGt.ann
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogGt.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogLe.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogLe.ann
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogLe.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogLt.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogLt.ann
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogLt.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogNe.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogNe.ann
deleted file mode 100644
index dd3623a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogNe.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogEq
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogNot.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogNot.ann
deleted file mode 100644
index 3adec54..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogNot.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogNot
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogOr.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogOr.ann
deleted file mode 100644
index dd3623a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpLogOr.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogEq
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpMinus.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpMinus.ann
deleted file mode 100644
index 39494a7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpMinus.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpMinus
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpPlus.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpPlus.ann
deleted file mode 100644
index 50a2686..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpPlus.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpPlus
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpRc.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpRc.ann
deleted file mode 100644
index c072766..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpRc.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpRc
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpSlash.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpSlash.ann
deleted file mode 100644
index f6c9625..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpSlash.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpSlash
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpStar.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpStar.ann
deleted file mode 100644
index 2382cd1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/OpStar.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpStar
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DelayMicro.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DelayMicro.ann
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DelayMicro.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DelayMilli.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DelayMilli.ann
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DelayMilli.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalIn.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalIn.ann
deleted file mode 100644
index 7dd25f1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalIn.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DigitalIn
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalOut.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalOut.ann
deleted file mode 100644
index 36fdec8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalOut.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DigitalSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalSetup.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalSetup.ann
deleted file mode 100644
index 36fdec8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_DigitalSetup.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DigitalSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_GetMicros.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_GetMicros.ann
deleted file mode 100644
index 462c86c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_GetMicros.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_GetMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_GetMillis.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_GetMillis.ann
deleted file mode 100644
index 462c86c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_GetMillis.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_GetMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetClock.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetClock.ann
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetClock.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetMode.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetMode.ann
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetMode.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetRange.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetRange.ann
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMSetRange.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMWrite.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMWrite.ann
deleted file mode 100644
index 36fdec8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_HardPWMWrite.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DigitalSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_PinISR.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_PinISR.ann
deleted file mode 100644
index 8b7719b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_PinISR.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_PinISR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialClose.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialClose.ann
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialClose.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialDataAvail.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialDataAvail.ann
deleted file mode 100644
index fbbb010..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialDataAvail.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_SerialDataAvail
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialFlush.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialFlush.ann
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialFlush.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialGetChar.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialGetChar.ann
deleted file mode 100644
index fbbb010..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialGetChar.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_SerialDataAvail
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialSendData.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialSendData.ann
deleted file mode 100644
index cd85257..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialSendData.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_SerialSendData
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialSetup.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialSetup.ann
deleted file mode 100644
index 8ff1010..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_SerialSetup.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_SetupSerial
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_ThreadCreate.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_ThreadCreate.ann
deleted file mode 100644
index f9efdbc..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/RPI_ThreadCreate.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_ThreadCreate
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/SCI2Cresize.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/SCI2Cresize.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/SCI2Cresize.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/abs.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/abs.ann
deleted file mode 100644
index e682e0d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/abs.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Abs
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acos.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acos.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acos.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acosd.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acosd.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acosd.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acosh.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acosh.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acosh.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acot.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acot.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acot.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acotd.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acotd.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acotd.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acoth.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acoth.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acoth.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acsc.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acsc.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acsc.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acscd.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acscd.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acscd.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acsch.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acsch.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/acsch.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asec.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asec.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asec.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asecd.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asecd.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asecd.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asech.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asech.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asech.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asin.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asin.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asin.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asind.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asind.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asind.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asinh.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asinh.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/asinh.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atan.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atan.ann
deleted file mode 100644
index 3cad91b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atan.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Atan
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atand.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atand.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atand.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atanh.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atanh.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/atanh.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/balanc.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/balanc.ann
deleted file mode 100644
index 6affd53..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/balanc.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: BALANC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/base2dec.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/base2dec.ann
deleted file mode 100644
index 38e1caf..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/base2dec.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: BASE2DEC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bin2dec.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bin2dec.ann
deleted file mode 100644
index 3263d08..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bin2dec.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: BIN2DEC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitand.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitand.ann
deleted file mode 100644
index 5a20aee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitand.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitand
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitcmp.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitcmp.ann
deleted file mode 100644
index 3cfce14..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitcmp.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitcmp
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitget.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitget.ann
deleted file mode 100644
index 2a3e8f7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitget.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitget
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitor.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitor.ann
deleted file mode 100644
index 5a20aee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitor.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitand
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitset.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitset.ann
deleted file mode 100644
index e5ffe42..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitset.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitset
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitxor.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitxor.ann
deleted file mode 100644
index 5a20aee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/bitxor.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitand
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cat.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cat.ann
deleted file mode 100644
index c27cf34..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cat.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ceil.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ceil.ann
deleted file mode 100644
index 3adec54..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ceil.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogNot
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/chol.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/chol.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/chol.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_analog_in.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_analog_in.ann
deleted file mode 100644
index 00dbfdd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_analog_in.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_analog_in
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_analog_out.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_analog_out.ann
deleted file mode 100644
index f4251a3..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_analog_out.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_analog_out
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_dcmotor_run.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_dcmotor_run.ann
deleted file mode 100644
index 25aad21..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_dcmotor_run.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_dcmotor_run
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_dcmotor_setup.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_dcmotor_setup.ann
deleted file mode 100644
index d2f93c2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_dcmotor_setup.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_dcmotor_setup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_digital_in.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_digital_in.ann
deleted file mode 100644
index 3746520..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_digital_in.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_digital_in
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_digital_out.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_digital_out.ann
deleted file mode 100644
index b5fe8fc..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_digital_out.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_digital_out
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_attach.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_attach.ann
deleted file mode 100644
index 69a84f8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_attach.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_servo_attach
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_detach.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_detach.ann
deleted file mode 100644
index c38a64b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_detach.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_servo_detach
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_move.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_move.ann
deleted file mode 100644
index 04628b1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cmd_servo_move.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_servo_move
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/conj.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/conj.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/conj.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/convol.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/convol.ann
deleted file mode 100644
index 33bbe01..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/convol.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Convol
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/convstr.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/convstr.ann
deleted file mode 100644
index 6415058..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/convstr.ann
+++ /dev/null
@@ -1,2 +0,0 @@
-CLASS: CONVSTR
-CLASS: CONVSTR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cos.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cos.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cos.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cosd.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cosd.ann
deleted file mode 100644
index e5da336..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cosd.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Cosd
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cosh.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cosh.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cosh.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cotd.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cotd.ann
deleted file mode 100644
index c9bedb2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cotd.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Cotd
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/coth.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/coth.ann
deleted file mode 100644
index 020a121..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/coth.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Coth
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/csc.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/csc.ann
deleted file mode 100644
index c767a15..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/csc.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Csc
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cscd.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cscd.ann
deleted file mode 100644
index 54d728d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cscd.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Cscd
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/csch.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/csch.ann
deleted file mode 100644
index d183304..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/csch.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Csch
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cumprod.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cumprod.ann
deleted file mode 100644
index 640bb62..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cumprod.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CUMSUM
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cumsum.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cumsum.ann
deleted file mode 100644
index 640bb62..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/cumsum.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CUMSUM
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2base.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2base.ann
deleted file mode 100644
index a170cc5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2base.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DEC2BASE
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2bin.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2bin.ann
deleted file mode 100644
index e25a1ee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2bin.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DEC2BIN
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2hex.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2hex.ann
deleted file mode 100644
index 03c6de4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2hex.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DEC2HEX
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2oct.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2oct.ann
deleted file mode 100644
index 5518830..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/dec2oct.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DEC2OCT
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/det.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/det.ann
deleted file mode 100644
index 56ae25c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/det.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Trace
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/diag.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/diag.ann
deleted file mode 100644
index a58a4e2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/diag.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: diag
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/diff.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/diff.ann
deleted file mode 100644
index 94dc91d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/diff.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DIFF
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/disp.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/disp.ann
deleted file mode 100644
index f6f39c5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/disp.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Disp
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/double.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/double.ann
deleted file mode 100644
index d7c18cb..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/double.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Double
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/doublecomplex.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/doublecomplex.ann
deleted file mode 100644
index 44dd5dc..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/doublecomplex.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DoubleComplex
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/exp.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/exp.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/exp.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/expm.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/expm.ann
deleted file mode 100644
index f0c2dfd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/expm.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Expm
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/eye.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/eye.ann
deleted file mode 100644
index 7e224c4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/eye.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Zeros
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/factor.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/factor.ann
deleted file mode 100644
index 469b3b3..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/factor.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FACTOR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/factorial.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/factorial.ann
deleted file mode 100644
index f34d2b7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/factorial.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FACTORIAL
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fft.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fft.ann
deleted file mode 100644
index 7693bd2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fft.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FFT
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fftshift.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fftshift.ann
deleted file mode 100644
index 3b61c88..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fftshift.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FFTShift
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/find.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/find.ann
deleted file mode 100644
index f784a53..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/find.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Find
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fix.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fix.ann
deleted file mode 100644
index 3adec54..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/fix.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogNot
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/flipdim.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/flipdim.ann
deleted file mode 100644
index 0ee8101..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/flipdim.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FLIPDIM
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/float.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/float.ann
deleted file mode 100644
index 71d9e25..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/float.ann
+++ /dev/null
@@ -1,2 +0,0 @@
-CLASS: Float
-CLASS: Float
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/floatcomplex.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/floatcomplex.ann
deleted file mode 100644
index 67cfd3d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/floatcomplex.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FloatComplex
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/floor.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/floor.ann
deleted file mode 100644
index 3adec54..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/floor.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogNot
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/frmag.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/frmag.ann
deleted file mode 100644
index 31c401a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/frmag.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Frmag
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/global.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/global.ann
deleted file mode 100644
index 49f9f38..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/global.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Global
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/hex2dec.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/hex2dec.ann
deleted file mode 100644
index 5df6263..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/hex2dec.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: HEX2DEC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ifft.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ifft.ann
deleted file mode 100644
index 5d0ca14..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ifft.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: IFFT
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/imag.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/imag.ann
deleted file mode 100644
index e682e0d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/imag.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Abs
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int16.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int16.ann
deleted file mode 100644
index 1e22e98..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int16.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Int16
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int8.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int8.ann
deleted file mode 100644
index 04fff59..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/int8.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Int8
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/interp1.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/interp1.ann
deleted file mode 100644
index 473e05c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/interp1.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Interp1
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/inv.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/inv.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/inv.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/isempty.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/isempty.ann
deleted file mode 100644
index 80eebe5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/isempty.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: IsEmpty
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/isnan.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/isnan.ann
deleted file mode 100644
index d790bb6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/isnan.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: IsNan
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/kron.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/kron.ann
deleted file mode 100644
index 5cb9b6f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/kron.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: KRON
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/length.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/length.ann
deleted file mode 100644
index 6c1fdd6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/length.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Length
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lev.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lev.ann
deleted file mode 100644
index 1b5a2c0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lev.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Lev
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/linspace.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/linspace.ann
deleted file mode 100644
index 4762bc1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/linspace.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: linspace
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log10.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log10.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log10.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log1p.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log1p.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/log1p.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/logspace.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/logspace.ann
deleted file mode 100644
index 4762bc1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/logspace.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: linspace
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lqe.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lqe.ann
deleted file mode 100644
index 65944c7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lqe.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: LQE
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lqr.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lqr.ann
deleted file mode 100644
index b545f79..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/lqr.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: LQR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/max.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/max.ann
deleted file mode 100644
index 8f4cc1c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/max.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Max
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mclose.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mclose.ann
deleted file mode 100644
index 3e66b6e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mclose.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Mclose
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mean.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mean.ann
deleted file mode 100644
index feb650b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mean.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/meanf.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/meanf.ann
deleted file mode 100644
index effa0b5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/meanf.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Meanf
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mget.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mget.ann
deleted file mode 100644
index c4afcbb..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mget.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Mget
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/min.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/min.ann
deleted file mode 100644
index 8f4cc1c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/min.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Max
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mopen.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mopen.ann
deleted file mode 100644
index 6e78e78..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mopen.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Mopen
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mput.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mput.ann
deleted file mode 100644
index 9ac8695..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mput.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Mput
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mseek.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mseek.ann
deleted file mode 100644
index a945559..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/mseek.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Mseek
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/norm.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/norm.ann
deleted file mode 100644
index d6177fd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/norm.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: NORM
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/obscont.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/obscont.ann
deleted file mode 100644
index bbf4b03..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/obscont.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OBSCONT
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/oct2dec.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/oct2dec.ann
deleted file mode 100644
index ea9cdec..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/oct2dec.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OCT2DEC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ode.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ode.ann
deleted file mode 100644
index 2bf0784..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ode.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: ODE
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ones.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ones.ann
deleted file mode 100644
index 7e224c4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/ones.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Zeros
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/part.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/part.ann
deleted file mode 100644
index 2f78bda..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/part.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Part
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/primes.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/primes.ann
deleted file mode 100644
index 97337c7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/primes.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: PRIMES
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/prod.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/prod.ann
deleted file mode 100644
index feb650b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/prod.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/rand.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/rand.ann
deleted file mode 100644
index 51b0615..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/rand.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: rand
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/rcond.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/rcond.ann
deleted file mode 100644
index c20a525..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/rcond.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RCOND
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/real.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/real.ann
deleted file mode 100644
index e682e0d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/real.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Abs
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/return.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/return.ann
deleted file mode 100644
index 208d44e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/return.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Return
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/round.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/round.ann
deleted file mode 100644
index 3adec54..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/round.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogNot
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/schur.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/schur.ann
deleted file mode 100644
index 0e45062..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/schur.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: SCHUR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sec.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sec.ann
deleted file mode 100644
index 8284d46..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sec.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sec
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/secd.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/secd.ann
deleted file mode 100644
index 54a6fd1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/secd.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Secd
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sech.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sech.ann
deleted file mode 100644
index ac9aaee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sech.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sech
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sin.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sin.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sin.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sinh.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sinh.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sinh.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/size.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/size.ann
deleted file mode 100644
index dd6e6a5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/size.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Size
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sleep.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sleep.ann
deleted file mode 100644
index 1f9ebad..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sleep.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: sleep
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/spec.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/spec.ann
deleted file mode 100644
index 0c4f80e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/spec.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Spec
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sqrt.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sqrt.ann
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sqrt.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/st_deviation.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/st_deviation.ann
deleted file mode 100644
index feb650b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/st_deviation.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/stdevf.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/stdevf.ann
deleted file mode 100644
index effa0b5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/stdevf.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Meanf
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strcmp.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strcmp.ann
deleted file mode 100644
index 403e1d4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strcmp.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: STRCMP
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strindex.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strindex.ann
deleted file mode 100644
index 5a16ce3..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strindex.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Strindex
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/string.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/string.ann
deleted file mode 100644
index 3950a3f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/string.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: String
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strrchr.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strrchr.ann
deleted file mode 100644
index d60113b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strrchr.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: STRRCHR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strrev.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strrev.ann
deleted file mode 100644
index b79ff38..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strrev.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: STRREV
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strsubst.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strsubst.ann
deleted file mode 100644
index 882b664..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/strsubst.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: STRSUBST
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sum.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sum.ann
deleted file mode 100644
index feb650b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/sum.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/syslin.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/syslin.ann
deleted file mode 100644
index cdf1251..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/syslin.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: SYSLIN
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tan.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tan.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tan.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tanh.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tanh.ann
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tanh.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/trace.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/trace.ann
deleted file mode 100644
index 56ae25c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/trace.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Trace
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tril.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tril.ann
deleted file mode 100644
index 473a029..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/tril.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: TRIU
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/triu.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/triu.ann
deleted file mode 100644
index 473a029..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/triu.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: TRIU
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/type.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/type.ann
deleted file mode 100644
index 6c1fdd6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/type.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Length
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/uint16.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/uint16.ann
deleted file mode 100644
index a6f3e4f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/uint16.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Uint16
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/uint8.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/uint8.ann
deleted file mode 100644
index 8ba5c86..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/uint8.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Uint8
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/variance.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/variance.ann
deleted file mode 100644
index feb650b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/variance.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/variancef.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/variancef.ann
deleted file mode 100644
index effa0b5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/variancef.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Meanf
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/zeros.ann b/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/zeros.ann
deleted file mode 100644
index 7e224c4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CAnnotations/Functions/zeros.ann
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Zeros
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRADCSetup.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRADCSetup.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRADCSetup.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalIn.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalIn.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalIn.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalOut.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalOut.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalOut.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalPortSetup.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalPortSetup.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalPortSetup.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalSetup.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalSetup.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRDigitalSetup.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRGetTimerValue.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRGetTimerValue.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRGetTimerValue.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM0SetDuty.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM0SetDuty.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM0SetDuty.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM0Setup.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM0Setup.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM0Setup.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM1SetDuty.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM1SetDuty.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM1SetDuty.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM1Setup.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM1Setup.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM1Setup.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM2SetDuty.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM2SetDuty.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM2SetDuty.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM2Setup.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM2Setup.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRPWM2Setup.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRReadADC.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRReadADC.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRReadADC.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRSleep.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRSleep.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRSleep.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRTimerSetup.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRTimerSetup.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRTimerSetup.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTReceiveChar.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTReceiveChar.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTReceiveChar.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTSetup.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTSetup.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTSetup.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTTransmit.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTTransmit.lcls
deleted file mode 100644
index de24a11..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/AVRUARTTransmit.lcls
+++ /dev/null
@@ -1,15 +0,0 @@
-s0,u80
-u80,u80
-i80,u80
-u160,u80
-i160,u80
-g0,u80
-d0,u80
-s2,u80
-u82,u80
-i82,u80
-u162,u80
-i162,u80
-g2,u80
-d2,u80
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Abs.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Abs.lcls
deleted file mode 100644
index 09c5ba8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Abs.lcls
+++ /dev/null
@@ -1,16 +0,0 @@
-s0,s0
-d0,d0
-c0,s0
-z0,d0
-u80,u80
-i80,i80
-u160,u160
-i160,i160
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-u82,u82
-i82,i82
-u162,u162
-i162,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Atan.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Atan.lcls
deleted file mode 100644
index 1514090..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Atan.lcls
+++ /dev/null
@@ -1,24 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-u80,s0
-i80,s0
-u160,s0
-i160,s0
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-u82,s2
-i82,s2
-u162,s2
-i162,s2
-s0s0,s0
-d0d0,d0
-s2s2,s2
-d2d2,d2
-u82u82,s2
-i82i82,s2
-u162u162,s2
-i162i162,s2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BALANC.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BALANC.lcls
deleted file mode 100644
index e7232f7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BALANC.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-d2,d2d2
-d2d2,d2d2d2d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BASE2DEC.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BASE2DEC.lcls
deleted file mode 100644
index 7c90478..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BASE2DEC.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-g2d0,d0
-d0d0,d0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BIN2DEC.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BIN2DEC.lcls
deleted file mode 100644
index 99fff30..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/BIN2DEC.lcls
+++ /dev/null
@@ -1,10 +0,0 @@
-d0,d0
-i80,i80
-i160,i160
-u80,u80
-u160,u160
-d2,d2
-i82,i82
-i162,i162
-u82,u82
-u162,u162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CONVSTR.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CONVSTR.lcls
deleted file mode 100644
index 14441bd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CONVSTR.lcls
+++ /dev/null
@@ -1,5 +0,0 @@
-g0,g0
-g2,g2
-g0g0,g0
-g2g0,g2
-g2g2,g2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CUMSUM.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CUMSUM.lcls
deleted file mode 100644
index 7d54dd3..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CUMSUM.lcls
+++ /dev/null
@@ -1,18 +0,0 @@
-d0,d0
-s0,s0
-u80,u80
-i80,i80
-u160,u160
-i160,i160
-d2,d2
-s2,s2
-u82,u82
-i82,i82
-u162,u162
-i162,i162
-d2g2,d2
-s2g2,s2
-u82g2,u82
-i82g2,i82
-u162g2,u162
-i162g2,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_AdaptiveThreshold.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_AdaptiveThreshold.lcls
deleted file mode 100644
index 51b4d24..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_AdaptiveThreshold.lcls
+++ /dev/null
@@ -1 +0,0 @@
-mt0d0g2g2d0d0,mt0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Blur.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Blur.lcls
deleted file mode 100644
index a065add..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Blur.lcls
+++ /dev/null
@@ -1 +0,0 @@
-mt0d0d0d0d0g2,mt0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Canny.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Canny.lcls
deleted file mode 100644
index c1cdf0c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Canny.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-mt0d0d0d0d0,mt0
-mt0d0d0,mt0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CornerHarris.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CornerHarris.lcls
deleted file mode 100644
index 5d0d154..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CornerHarris.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-mt0d0d0d0g2,mt0
-mt0d0d0d0,mt0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CreateImage.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CreateImage.lcls
deleted file mode 100644
index 4b5fbd9..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CreateImage.lcls
+++ /dev/null
@@ -1 +0,0 @@
-d0d0g2d0,mt0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CvtColor.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CvtColor.lcls
deleted file mode 100644
index d793acd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_CvtColor.lcls
+++ /dev/null
@@ -1 +0,0 @@
-mt0g2,mt0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Dilate.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Dilate.lcls
deleted file mode 100644
index 0f3da2d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Dilate.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-mt0g2d0,mt0
-mt0g2d0d0g2d0,mt0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_DistanceTransform.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_DistanceTransform.lcls
deleted file mode 100644
index e8807d7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_DistanceTransform.lcls
+++ /dev/null
@@ -1 +0,0 @@
-mt0g2d0,mt0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_GetImgSize.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_GetImgSize.lcls
deleted file mode 100644
index b02966f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_GetImgSize.lcls
+++ /dev/null
@@ -1 +0,0 @@
-mt0,d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_LoadImage.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_LoadImage.lcls
deleted file mode 100644
index 239a607..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_LoadImage.lcls
+++ /dev/null
@@ -1 +0,0 @@
-g2d0,mt0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_MedianBlur.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_MedianBlur.lcls
deleted file mode 100644
index 08ec146..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_MedianBlur.lcls
+++ /dev/null
@@ -1 +0,0 @@
-mt0d0,mt0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_ShowImage.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_ShowImage.lcls
deleted file mode 100644
index c422eea..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_ShowImage.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-g2mt0,
-mt0,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Threshold.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Threshold.lcls
deleted file mode 100644
index 881eeeb..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_Threshold.lcls
+++ /dev/null
@@ -1 +0,0 @@
-mt0d0d0g2,mt0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_WaitKey.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_WaitKey.lcls
deleted file mode 100644
index 0d10eb5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/CV_WaitKey.lcls
+++ /dev/null
@@ -1,6 +0,0 @@
-d0,
-s0,
-u80,
-i80,
-u160,
-i160,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cepstrum.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cepstrum.lcls
deleted file mode 100644
index 4795941..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cepstrum.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-s0s0,c0
-d0d0,z0
-s0c0,c0
-d0z0,z0
-s2s2,c2
-d2d2,z2
-s2c2,c2
-d2z2,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Convol.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Convol.lcls
deleted file mode 100644
index 588ccbe..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Convol.lcls
+++ /dev/null
@@ -1,65 +0,0 @@
-s0s0,s0
-d0d0,d0
-c0c0,c0
-z0z0,z0
-s0s2,s2
-d0d2,d2
-c0c2,c2
-z0z2,z2
-s2s0,s2
-d2d0,d2
-c2c0,c2
-z2z0,z2
-s2s2,s2
-d2d2,d2
-c2c2,c2
-z2z2,z2
-s0s0,s0s0
-d0d0,d0d0
-c0c0,c0c0
-z0z0,z0z0
-s0s2,s2s2
-d0d2,d2d2
-c0c2,c2c2
-z0z2,z2z2
-s2s0,s2s2
-d2d0,d2d2
-c2c0,c2c2
-z2z0,z2z2
-s2s2,s2s2
-d2d2,d2d2
-c2c2,c2c2
-z2z2,z2z2
-s0s0s0,s0s0
-d0d0d0,d0d0
-c0c0c0,c0c0
-z0z0z0,z0z0
-s0s2s0,s2s0
-d0d2d0,d2d0
-c0c2c0,c2c0
-z0z2z0,z2z0
-s2s2s2,s2s2
-d2d2d2,d2d2
-c2c2c2,c2c2
-z2z2z2,z2z2
-s0c0,c0
-d0z0,z0
-c0s0,c0
-z0d0,z0
-s2c2,c2
-d2z2,z2
-c2s2,c2
-z2d2,z2
-s0c2,c2
-d0z2,z2
-c0s2,c2
-z0d2,z2
-s2c0,c2
-d2z0,z2
-c2s0,c2
-z2d0,z2
-d2d0,d0d2
-z2z0,z0z2
-d0z2,z2z2
-z2d0,z0z2
-d2z0,z0z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cosd.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cosd.lcls
deleted file mode 100644
index cab4fed..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cosd.lcls
+++ /dev/null
@@ -1,4 +0,0 @@
-d2,d2
-d0,d0
-s2,s2
-s0,s0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cotd.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cotd.lcls
deleted file mode 100644
index cab4fed..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cotd.lcls
+++ /dev/null
@@ -1,4 +0,0 @@
-d2,d2
-d0,d0
-s2,s2
-s0,s0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Coth.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Coth.lcls
deleted file mode 100644
index fd9c545..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Coth.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-d2,d2
-d0,d0
-s2,s2
-s0,s0
-z2,z2
-z0,z0
-c2,c2
-c0,c0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Csc.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Csc.lcls
deleted file mode 100644
index c04e75d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Csc.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-d0,d0
-d2,d2
-s0,s0
-s2,s2
-z2,z2
-z0,z0
-c2,c2
-c0,c0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cscd.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cscd.lcls
deleted file mode 100644
index fd9c545..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Cscd.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-d2,d2
-d0,d0
-s2,s2
-s0,s0
-z2,z2
-z0,z0
-c2,c2
-c0,c0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Csch.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Csch.lcls
deleted file mode 100644
index c04e75d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Csch.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-d0,d0
-d2,d2
-s0,s0
-s2,s2
-z2,z2
-z0,z0
-c2,c2
-c0,c0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2BASE.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2BASE.lcls
deleted file mode 100644
index 116babe..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2BASE.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-d0d0,g2
-d2d0,g2
-s0d0,g2
-s2d0,g2
-d0d0d0,g2
-d2d0d0,g2
-s0d0d0,g2
-s2d0d0,g2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2BIN.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2BIN.lcls
deleted file mode 100644
index 63c508d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2BIN.lcls
+++ /dev/null
@@ -1,20 +0,0 @@
-d0,d2
-i80,i82
-i160,i162
-u80,u82
-u160,u162
-d0d0,d2
-i80d0,i82
-i160d0,i162
-u80d0,u82
-u160d0,u162
-d2,d2
-i82,i82
-i162,i162
-u82,u82
-u162,u162
-d2d0,d2
-i82d0,i82
-i162d0,i162
-u82d0,u82
-u162d0,u162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2HEX.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2HEX.lcls
deleted file mode 100644
index 6a938d6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2HEX.lcls
+++ /dev/null
@@ -1,10 +0,0 @@
-d0,g2
-i80,g2
-i160,g2
-u80,g2
-u160,g2
-d2,g2
-i82,g2
-i162,g2
-u82,g2
-u162,g2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2OCT.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2OCT.lcls
deleted file mode 100644
index 3dfcdd2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DEC2OCT.lcls
+++ /dev/null
@@ -1,10 +0,0 @@
-d0,d2
-i80,i82
-i160,i162
-u80,u82
-u160,u162
-d2,d2
-i82,i82
-i162,i162
-u82,u82
-u162,u162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DIFF.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DIFF.lcls
deleted file mode 100644
index 1f2e407..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DIFF.lcls
+++ /dev/null
@@ -1,28 +0,0 @@
-d2,d2
-s2,s2
-u82,u82
-i82,i82
-u162,u162
-i162,i162
-d2d0,d2
-s2s0,s2
-s2d0,s2
-u82u80,u82
-u82d0,u82
-i82u80,i82
-i82d0,i82
-u162u160,u162
-u162d0,u162
-i162u160,i162
-i162d0,i162
-d2d0d0,d2
-s2d0d0,s2
-s2s0d0,d2
-u82d0d0,u82
-u82u80d0,u82
-i82d0d0,i82
-i82u80d0,i82
-u162d0d0,u162
-u162u160d0,u162
-i162d0d0,i162
-i162u160d0,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Disp.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Disp.lcls
deleted file mode 100644
index a37c301..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Disp.lcls
+++ /dev/null
@@ -1,19 +0,0 @@
-s0,
-d0,
-c0,
-z0,
-g0,
-u80,
-i80,
-u160,
-i160,
-s2,
-d2,
-c2,
-z2,
-g2,
-u82,
-i82,
-u162,
-i162,
-d3,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Double.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Double.lcls
deleted file mode 100644
index fea0aab..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Double.lcls
+++ /dev/null
@@ -1,12 +0,0 @@
-s0,d0
-d0,d0
-u80,d0
-i80,d0
-u160,d0
-i160,d0
-s2,d2
-d2,d2
-u82,d2
-i82,d2
-u162,d2
-i162,d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DoubleComplex.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DoubleComplex.lcls
deleted file mode 100644
index 6419131..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/DoubleComplex.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-s0,z0
-d0,z0
-c0,z0
-z0,z0
-s2,z2
-d2,z2
-c2,z2
-z2,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Expm.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Expm.lcls
deleted file mode 100644
index 04c85b6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Expm.lcls
+++ /dev/null
@@ -1,4 +0,0 @@
-s2,s2
-d2,d2
-c2,c2
-z2,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FACTOR.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FACTOR.lcls
deleted file mode 100644
index 5eac7ca..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FACTOR.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-d0,d2
-s0,s2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FACTORIAL.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FACTORIAL.lcls
deleted file mode 100644
index 2c635dd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FACTORIAL.lcls
+++ /dev/null
@@ -1,4 +0,0 @@
-d0,d0
-s0,s0
-d2,d2
-s2,s2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FFT.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FFT.lcls
deleted file mode 100644
index 0cb3fcd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FFT.lcls
+++ /dev/null
@@ -1,24 +0,0 @@
-s0,s0
-d0,d0
-s0,c0
-d0,z0
-c0,c0
-z0,z0
-s2,s2
-d2,d2
-s2,c2
-d2,z2
-c2,c2
-z2,z2
-s0s0,s0
-d0d0,d0
-s0s0,c0
-d0d0,z0
-c0s0,c0
-z0d0,z0
-s2s0,s2
-d2d0,d2
-s2s0,c2
-d2d0,z2
-c2s0,c2
-z2d0,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FFTShift.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FFTShift.lcls
deleted file mode 100644
index 06291b1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FFTShift.lcls
+++ /dev/null
@@ -1,24 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-s0s0,s0
-s0g2,s0
-d0d0,d0
-d0g2,d0
-c0s0,c0
-c0g2,c0
-z0d0,z0
-z0g2,z0
-s2s0,s2
-s2g2,s2
-d2d0,d2
-d2g2,d2
-c2s0,c2
-c2g2,c2
-z2d0,z2
-z2g2,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FLIPDIM.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FLIPDIM.lcls
deleted file mode 100644
index 7af9c13..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FLIPDIM.lcls
+++ /dev/null
@@ -1,26 +0,0 @@
-d0d0,d0
-s0s0,s0
-u80u80,u80
-i80i80,i80
-u160u160,u160
-i160i160,i160
-d2d0,d2
-s2s0,s2
-u82u80,u82
-i82i80,i82
-u162u160,u162
-i162i160,i162
-u82d0,u82
-i82d0,i82
-u162d0,u162
-i162d0,i162
-d2d0d0,d2
-s2s0d0,s2
-u82u80u80,u82
-i82i80u80,i82
-u162u160u160,u162
-i162i160i160,i162
-u82d0d0,u82
-i82d0d0,i82
-u162d0d0,u162
-i162d0d0,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Find.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Find.lcls
deleted file mode 100644
index 04d8d45..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Find.lcls
+++ /dev/null
@@ -1,40 +0,0 @@
-s0,s0
-d0,d0
-s2,s2
-d2,d2
-u80,u80
-u160,u160
-i80,i80
-i160,i160
-u82,u82
-u162,u162
-i82,i82
-i162,i162
-s0,s0s0
-d0,d0d0
-s2,s2s2
-d2,d2d2
-u80,u80u80
-u160,u160u160
-i80,i80i80
-i160,i60i60
-s0s0,s0
-s2s0,s2
-d0d0,d0
-d2d0,d2
-u80u80,u80
-u82u80,u82
-u160u160,u160
-u162u160,u162
-i80i80,i80
-i82i80,i82
-i160i160,i160
-i162i160,i162
-s0s0,s0s0
-s2s0,s2s2
-d0d0,d0d0
-d2d0,d2d2
-u80u80,u80u80
-u160u160,u160u160
-i80i80,i80i80
-i160i60,i60i60
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Float.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Float.lcls
deleted file mode 100644
index 4d11a2b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Float.lcls
+++ /dev/null
@@ -1,24 +0,0 @@
-s0,s0
-d0,s0
-u80,s0
-i80,s0
-u160,s0
-i160,s0
-s2,s2
-d2,s2
-u82,s2
-i82,s2
-u162,s2
-i162,s2
-s0,s0
-d0,s0
-u80,s0
-i80,s0
-u160,s0
-i160,s0
-s2,s2
-d2,s2
-u82,s2
-i82,s2
-u162,s2
-i162,s2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FloatComplex.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FloatComplex.lcls
deleted file mode 100644
index 6096d4e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/FloatComplex.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-s0,c0
-d0,c0
-c0,c0
-z0,c0
-s2,c2
-d2,c2
-c2,c2
-z2,c2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Frmag.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Frmag.lcls
deleted file mode 100644
index 181151b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Frmag.lcls
+++ /dev/null
@@ -1,16 +0,0 @@
-d2d0,d2
-d2d0,d2d2
-d0d0,d0
-d0d0,d0d0
-d2d2d0,d2
-d2d2d0,d2d2
-d0d0d0,d0
-d0d0d0,d0d0
-s2s0,s2
-s2s0,s2s2
-s0s0,s0
-s0s0,s0s0
-s2s2s0,s2
-s2s2s0,s2s2
-s0s0s0,s0
-s0s0s0,s0s0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Global.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Global.lcls
deleted file mode 100644
index 5ae6d89..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Global.lcls
+++ /dev/null
@@ -1 +0,0 @@
-g2,d0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/HEX2DEC.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/HEX2DEC.lcls
deleted file mode 100644
index 29ff63e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/HEX2DEC.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-g2,d0
-d0,d0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IFFT.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IFFT.lcls
deleted file mode 100644
index f5d296b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IFFT.lcls
+++ /dev/null
@@ -1,12 +0,0 @@
-s0,s0
-d0,d0
-s0,c0
-d0,z0
-c0,c0
-z0,z0
-s2,s2
-d2,d2
-s2,c2
-d2,z2
-c2,c2
-z2,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Int16.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Int16.lcls
deleted file mode 100644
index e3aa41e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Int16.lcls
+++ /dev/null
@@ -1,12 +0,0 @@
-s0,i160
-d0,i160
-u80,i160
-i80,i160
-u160,i160
-i160,i160
-s2,i162
-d2,i162
-u82,i162
-i82,i162
-u162,i162
-i162,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Int8.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Int8.lcls
deleted file mode 100644
index b5d3914..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Int8.lcls
+++ /dev/null
@@ -1,12 +0,0 @@
-s0,i80
-d0,i80
-u80,i80
-i80,i80
-u160,i80
-i160,i80
-s2,i82
-d2,i82
-u82,i82
-i82,i82
-u162,i82
-i162,i82
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Interp1.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Interp1.lcls
deleted file mode 100644
index 139e257..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Interp1.lcls
+++ /dev/null
@@ -1 +0,0 @@
-d2d2d0g2,d0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IsEmpty.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IsEmpty.lcls
deleted file mode 100644
index 5392cac..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IsEmpty.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-s0,s0
-d0,d0
-c0,s0
-z0,d0
-s2,s0
-d2,d0
-c2,s0
-z2,d0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IsNan.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IsNan.lcls
deleted file mode 100644
index ffcc76c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/IsNan.lcls
+++ /dev/null
@@ -1,16 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-u80,u80
-i80,i80
-u160,u160
-i160,i160
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-u82,u82
-i82,i82
-u162,u162
-i162,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/KRON.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/KRON.lcls
deleted file mode 100644
index 0d10ace..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/KRON.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-d0d0,d0
-s0s0,s0
-d2d0,d2
-s2s0,s2
-d0d2,d2
-s0s2,s2
-d2d2,d2
-s2s2,s2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/LQE.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/LQE.lcls
deleted file mode 100644
index 995e79f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/LQE.lcls
+++ /dev/null
@@ -1 +0,0 @@
-ss2,d2d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/LQR.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/LQR.lcls
deleted file mode 100644
index 995e79f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/LQR.lcls
+++ /dev/null
@@ -1 +0,0 @@
-ss2,d2d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Length.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Length.lcls
deleted file mode 100644
index 0250482..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Length.lcls
+++ /dev/null
@@ -1,12 +0,0 @@
-s0,s0
-d0,d0
-c0,s0
-z0,d0
-g0,s0
-g0,d0
-s2,s0
-d2,d0
-c2,s0
-z2,d0
-g2,s0
-g2,d0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Lev.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Lev.lcls
deleted file mode 100644
index 49d72e6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Lev.lcls
+++ /dev/null
@@ -1,12 +0,0 @@
-s2,s2
-s2,s2s0
-s2,s2s0s2
-d2,d2
-d2,d2d0
-d2,d2d0d2
-c2,c2
-c2,c2c0
-c2,c2c0c2
-z2,z2
-z2,z2z0
-z2,z2z0z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Max.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Max.lcls
deleted file mode 100644
index 0fc1799..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Max.lcls
+++ /dev/null
@@ -1,48 +0,0 @@
-s0,s0
-d0,d0
-s2,s0
-d2,d0
-u80,u80
-i80,i80
-u160,u160
-i160,i160
-u82,u80
-i82,i80
-u162,u160
-i162,i160
-s0s0,s0
-s2s0,s2
-s0s2,s2
-s2s2,s2
-d0d0,d0
-d2d0,d2
-d0d2,d2
-d2d2,d2
-u80u80,u80
-u82u80,u82
-u80u82,u82
-u82u82,u82
-i80i80,i80
-i82i80,i82
-i80i82,i82
-i82i82,i82
-u160u160,u160
-u162u160,u162
-u160u162,u162
-u162u162,u162
-i160i160,i160
-i162i160,i162
-i160i162,i162
-i162i162,i162
-s0g2,s0
-s2g2,s2
-d0g2,d0
-d2g2,d2
-u80g2,u80
-u82g2,u82
-i80g2,i80
-i82g2,i82
-u160g2,u160
-u162g2,u162
-i160g2,i160
-i162g2,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mclose.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mclose.lcls
deleted file mode 100644
index 1a9cc66..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mclose.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-f0,
-f0,i0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Meanf.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Meanf.lcls
deleted file mode 100644
index 7693a91..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Meanf.lcls
+++ /dev/null
@@ -1,48 +0,0 @@
-s0s0,s0
-d0d0,d0
-c0s0,c0
-z0d0,z0
-s2s2,s0
-d2d2,d0
-c2s2,c0
-z2d2,z0
-s0s0s0,s0
-d0d0d0,d0
-c0s0s0,c0
-z0d0d0,z0
-s2s2s0,s2
-d2d2d0,d2
-c2s2s0,c2
-z2d2d0,z2
-s0c0,c0
-d0z0,z0
-c0c0,c0
-z0z0,z0
-s2c2,c0
-d2z2,z0
-c2c2,c0
-z2z2,z0
-s0c0s0,c0
-d0z0d0,z0
-c0c0s0,c0
-z0z0d0,z0
-s2c2s0,c2
-d2z2d0,z2
-c2c2s0,c2
-z2z2d0,z2
-s0c0,s0
-d0z0,d0
-c0c0,s0
-z0z0,d0
-s2c2,s0
-d2z2,d0
-c2c2,s0
-z2z2,d0
-s0c0s0,s0
-d0z0d0,d0
-c0c0s0,s0
-z0z0d0,d0
-s2c2s0,s2
-d2z2d0,d2
-c2c2s0,s2
-z2z2d0,d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mget.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mget.lcls
deleted file mode 100644
index d58e465..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mget.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-s0g2f0,s0
-s0g2f0,d0
-d0g2f0,s0
-d0g2f0,d0
-s0g2f0,s2
-s0g2f0,d2
-d0g2f0,s2
-d0g2f0,d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mopen.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mopen.lcls
deleted file mode 100644
index 89e3ce8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mopen.lcls
+++ /dev/null
@@ -1,10 +0,0 @@
-g2,f0
-g2,f0s0
-g2,f0d0
-g2g2,f0
-g2g2,f0s0
-g2g2,f0d0
-g2g2s0,f0s0
-g2g2s0,f0d0
-g2g2d0,f0s0
-g2g2d0,f0d0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mput.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mput.lcls
deleted file mode 100644
index a48fb1c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mput.lcls
+++ /dev/null
@@ -1,24 +0,0 @@
-s0g2f0,
-s2g2f0,
-d0g2f0,
-d2g2f0,
-u80g2f0,
-u82g2f0,
-i80g2f0,
-i82g2f0,
-u160g2f0,
-u162g2f0,
-i160g2f0,
-i162g2f0,
-s0g2f0,i0
-s2g2f0,i0
-d0g2f0,i0
-d2g2f0,i0
-u80g2f0,i0
-u82g2f0,i0
-i80g2f0,i0
-i82g2f0,i0
-u160g2f0,i0
-u162g2f0,i0
-i160g2f0,i0
-i162g2f0,i0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mseek.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mseek.lcls
deleted file mode 100644
index e40abf7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Mseek.lcls
+++ /dev/null
@@ -1,6 +0,0 @@
-s0,
-s0f0,
-s0f0g2,
-d0,
-d0f0,
-d0f0g2,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/NORM.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/NORM.lcls
deleted file mode 100644
index efa5cc5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/NORM.lcls
+++ /dev/null
@@ -1,9 +0,0 @@
-d0,d0
-d2,d0
-s0,s0
-s2,s0
-d2d0,d0
-s2s0,s0
-s2d0,s0
-d2g2,d0
-s2g2,s0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OBSCONT.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OBSCONT.lcls
deleted file mode 100644
index ad03145..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OBSCONT.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-ss2d2d2,d2
-ss2d2d2,d2d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OCT2DEC.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OCT2DEC.lcls
deleted file mode 100644
index 99fff30..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OCT2DEC.lcls
+++ /dev/null
@@ -1,10 +0,0 @@
-d0,d0
-i80,i80
-i160,i160
-u80,u80
-u160,u160
-d2,d2
-i82,i82
-i162,i162
-u82,u82
-u162,u162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/ODE.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/ODE.lcls
deleted file mode 100644
index e20499b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/ODE.lcls
+++ /dev/null
@@ -1,12 +0,0 @@
-d0d0d0fn0,d0
-d2d0d0fn0,d2
-d0d0d2fn0,d2
-d2d0d2fn0,d2
-g2d0d0d0fn0,d0
-g2d2d0d0fn0,d2
-g2d0d0d2fn0,d2
-g2d2d0d2fn0,d2
-d0d0d0d0d0fn0,d0
-d2d0d0d0d0fn0,d2
-d0d0d2d0d0fn0,d2
-d2d0d2d0d0fn0,d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpApex.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpApex.lcls
deleted file mode 100644
index ffcc76c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpApex.lcls
+++ /dev/null
@@ -1,16 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-u80,u80
-i80,i80
-u160,u160
-i160,i160
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-u82,u82
-i82,i82
-u162,u162
-i162,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpBackSlash.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpBackSlash.lcls
deleted file mode 100644
index 2461e68..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpBackSlash.lcls
+++ /dev/null
@@ -1,48 +0,0 @@
-s0s0,s0
-s0s2,s2
-s2s0,s2
-s2s2,s2
-d0d0,d0
-d0d2,d2
-d2d0,d2
-d2d2,d2
-u80u80,u80
-u80u82,u82
-u82u80,u82
-u82u82,u82
-u160u160,u160
-u160u162,u162
-u162u160,u162
-u162u162,u162
-i80i80,i80
-i80i82,i82
-i82i80,i82
-i82i82,i82
-i160i160,i160
-i160i162,i162
-i162i160,i162
-i162i162,i162
-s0c0,c0
-c0s0,c0
-c0c0,c0
-c0s2,c2
-s0c2,c2
-c0c2,c2
-c2s0,c2
-s2c0,c2
-c2c0,c2
-s2c2,c2
-c2s2,c2
-c2c2,c2
-d0z0,z0
-z0d0,z0
-z0z0,z0
-z0d2,z2
-d0z2,z2
-z0z2,z2
-z2d0,z2
-d2z0,z2
-z2z0,z2
-d2z2,z2
-z2d2,z2
-z2z2,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpCc.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpCc.lcls
deleted file mode 100644
index bbf983c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpCc.lcls
+++ /dev/null
@@ -1,32 +0,0 @@
-s0s0,s2
-s0s2,s2
-s2s0,s2
-s2s2,s2
-d0d0,d2
-d0d2,d2
-d2d0,d2
-d2d2,d2
-c0c0,c2
-c0c2,c2
-c2c0,c2
-c2c2,c2
-z0z0,z2
-z0z2,z2
-z2z0,z2
-z2z2,z2
-z0d0,z2
-z2d0,z2
-c0s0,c2
-c2s0,c2
-s0c0,c2
-s2c0,c2
-d0z0,z2
-d2z0,z2
-s2c2,c2
-c2s2,c2
-d2z2,z2
-z2d2,z2
-s0c2,c2
-c0s2,c2
-d0z2,z2
-z0d2,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpColon.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpColon.lcls
deleted file mode 100644
index ddb5456..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpColon.lcls
+++ /dev/null
@@ -1,48 +0,0 @@
-s0s0,s0
-d0d0,d0
-c0c0,s0
-z0z0,d0
-s0s0,s2
-d0d0,d2
-c0c0,s2
-z0z0,d2
-s0c0,s0
-d0z0,d0
-c0s0,s0
-z0d0,d0
-s0c0,s2
-d0z0,d2
-c0s0,s2
-z0d0,d2
-s0s0s0,s0
-d0d0d0,d0
-c0c0c0,s0
-z0z0z0,d0
-s0s0c0,s0
-s0c0s0,s0
-s0c0c0,s0
-c0s0s0,s0
-c0c0s0,s0
-c0s0c0,s0
-d0z0z0,d0
-d0d0z0,d0
-d0z0d0,d0
-z0d0d0,d0
-z0z0d0,d0
-z0d0z0,d0
-s0s0s0,s2
-d0d0d0,d2
-c0c0c0,s2
-z0z0z0,d2
-s0s0c0,s2
-s0c0s0,s2
-s0c0c0,s2
-c0s0s0,s2
-c0c0s0,s2
-c0s0c0,s2
-d0z0z0,d2
-d0d0z0,d2
-d0z0d0,d2
-z0d0d0,d2
-z0z0d0,d2
-z0d0z0,d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpDotHat.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpDotHat.lcls
deleted file mode 100644
index 0f4bba7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpDotHat.lcls
+++ /dev/null
@@ -1,52 +0,0 @@
-s0s0,s0
-d0d0,d0
-c0c0,c0
-z0z0,z0
-u80u80,u80
-i80i80,i80
-u160u160,u160
-i160i160,i160
-s2s0,s2
-d2d0,d2
-c2c0,c2
-z2z0,z2
-u82u80,u82
-i82i80,i82
-u162u160,u162
-i162i160,i162
-s0s2,s2
-d0d2,d2
-c0c2,c2
-z0z2,z2
-u80u82,u82
-i80i82,i82
-u160u162,u162
-i160i162,i162
-s2s2,s2
-d2d2,d2
-c2c2,c2
-z2z2,z2
-u82u82,u82
-i82i82,i82
-u162u162,u162
-i162i162,i162
-s2c0,c2
-d2z0,z2
-c2s0,c2
-z2d0,z2
-u82d0,u82
-u162d0,u162
-i82d0,i82
-i162d0,i162
-s0c2,c2
-d0z2,z2
-c0s2,c2
-z0d2,z2
-s0c0,c0
-d0z0,z0
-c0s0,c0
-z0d0,z0
-s2c2,c2
-d2z2,z2
-c2s2,c2
-z2d2,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpDotStar.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpDotStar.lcls
deleted file mode 100644
index 08f4418..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpDotStar.lcls
+++ /dev/null
@@ -1,56 +0,0 @@
-s0s0,s0
-d0d0,d0
-c0c0,c0
-u80u80,u80
-u160u160,u160
-i80i80,i80
-i160i60,i160
-s0c0,c0
-c0s0,c0
-z0z0,z0
-d0z0,z0
-z0d0,z0
-s2s0,s2
-d2d0,d2
-c2c0,c2
-u82u80,u82
-u162u160,u162
-i82i80,i82
-i162i160,i162
-s2c0,c2
-c2s0,c2
-z2z0,z2
-z2d0,z2
-d2z0,z2
-s0s2,s2
-d0d2,d2
-c0c2,c2
-u80u82,u82
-u160u162,u162
-i80i82,i82
-i160i162,i162
-s0c2,c2
-c0s2,c2
-z0z2,z2
-d0z2,z2
-z0d2,z2
-s2s2,s2
-d2d2,d2
-c2c2,c2
-u82u82,u82
-u162u162,u162
-i82i82,i82
-i162i162,i162
-s2c2,c2
-c2s2,c2
-z2z2,z2
-d2z2,z2
-z2d2,z2
-s2s2,s2
-d2d2,d2
-c2c2,c2
-s2c2,c2
-c2s2,c2
-z2z2,z2
-d2z2,z2
-z2d2,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpEqual.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpEqual.lcls
deleted file mode 100644
index a8a3b5a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpEqual.lcls
+++ /dev/null
@@ -1,10 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-g0,g0
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-g2,g2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpExt.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpExt.lcls
deleted file mode 100644
index 1fd5b39..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpExt.lcls
+++ /dev/null
@@ -1,28 +0,0 @@
-s2s0,s0
-s2s2,s2
-s2s0s0,s0
-s2s2s0,s2
-s2s0s2,s2
-s2s2s2,s2
-d2d0,d0
-d2d2,d2
-d2d0d0,d0
-d2d2d0,d2
-d2d0d2,d2
-d2d2d2,d2
-c2s0,c0
-c2s2,c2
-c2s0s0,c0
-c2s2s0,c2
-c2s0s2,c2
-c2s2s2,c2
-z2d0,z0
-z2d2,z2
-z2d0d0,z0
-z2d2d0,z2
-z2d0d2,z2
-z2d2d2,z2
-s3s0,s0
-d3d0,d0
-d3d0d0d0,d0
-d3s0s0s0,s0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpIns.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpIns.lcls
deleted file mode 100644
index 30e777d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpIns.lcls
+++ /dev/null
@@ -1,82 +0,0 @@
-s2s0s0,
-s2s2s0,
-s2s2s2,
-s2s0s0s0,
-s2s0s2s0,
-s2s2s0s0,
-s2s2s2s0,
-s2s0s2s2,
-s2s2s0s2,
-s2s2s2s2,
-d2d0d0,
-d2d2d0,
-d2d2d2,
-d2d0d0d0,
-d2d0d2d0,
-d2d2d0d0,
-d2d2d2d0,
-d2d0d2d2,
-d2d2d0d2,
-d2d2d2d2,
-c2s0c0,
-c2s2c0,
-c2s2c2,
-c2s0s0c0,
-c2s0s2c0,
-c2s2s0c0,
-c2s2s2c0,
-c2s0s2c2,
-c2s2s0c2,
-c2s2s2c2,
-z2d0z0,
-z2d2z0,
-z2d2z2,
-z2d0d0z0,
-z2d0d2z0,
-z2d2d0z0,
-z2d2d2z0,
-z2d0d2z2,
-z2d2d0z2,
-z2d2d2z2,
-s2s0c0,
-s2s2c0,
-s2s2c2,
-s2s0s0c0,
-s2s0s2c0,
-s2s2s0c0,
-s2s2s2c0,
-s2s0s2c2,
-s2s2s0c2,
-s2s2s2c2,
-d2d0z0,
-d2d2z0,
-d2d2z2,
-d2d0d0z0,
-d2d0d2z0,
-d2d2d0z0,
-d2d2d2z0,
-d2d0d2z2,
-d2d2d0z2,
-d2d2d2z2,
-c2s0s0,
-c2s2s0,
-c2s2s2,
-c2s0s0s0,
-c2s0s2s0,
-c2s2s0s0,
-c2s2s2s0,
-c2s0s2s2,
-c2s2s0s2,
-c2s2s2s2,
-z2d0d0,
-z2d2d0,
-z2d2d2,
-z2d0d0d0,
-z2d0d2d0,
-z2d2d0d0,
-z2d2d2d0,
-z2d0d2d2,
-z2d2d0d2,
-z2d2d2d2,
-d3d0d0,
-d3d0d0d0d0,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpLogEq.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpLogEq.lcls
deleted file mode 100644
index 06f9765..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpLogEq.lcls
+++ /dev/null
@@ -1,64 +0,0 @@
-s0s0,s0
-d0d0,d0
-c0c0,s0
-z0z0,d0
-g0g0,s0
-g0g0,d0
-u80u80,u80
-i80i80,i80
-u160u160,u160
-i160i160,i160
-s2s0,s2
-d2d0,d2
-c2c0,s2
-z2z0,d2
-g2g0,s2
-g2g0,d2
-u82u80,u82
-i82i80,i82
-u162u160,u162
-i162i160,i162
-s0s2,s2
-d0d2,d2
-c0c2,s2
-z0z2,d2
-g0g2,s2
-g0g2,d2
-u80u82,u82
-i80i82,i82
-u160u162,u162
-i160i162,i162
-s2s2,s2
-d2d2,d2
-c2c2,s2
-z2z2,d2
-g2g2,s2
-g2g2,d2
-u82u82,u82
-i82i82,i82
-u162u162,u162
-i162i162,i162
-c2s0,s2
-z2d0,d2
-d2z0,d2
-s2c0,s2
-z0d0,d0
-c0s0,s0
-d0z0,d0
-s0c0,s0
-c0s2,s2
-z0d2,d2
-d0z2,d2
-s0c2,s2
-c2s2,s2
-z2d2,d2
-d2z2,d2
-s2c2,s2
-u80d0,u80
-i80d0,i80
-u160d0,u160
-i160d0,i160
-d0u80,u80
-d0i80,i80
-d0u160,u160
-d0i160,i160
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpLogNot.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpLogNot.lcls
deleted file mode 100644
index ffcc76c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpLogNot.lcls
+++ /dev/null
@@ -1,16 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-u80,u80
-i80,i80
-u160,u160
-i160,i160
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-u82,u82
-i82,i82
-u162,u162
-i162,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpMinus.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpMinus.lcls
deleted file mode 100644
index e3ecb81..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpMinus.lcls
+++ /dev/null
@@ -1,64 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-u80,u80
-i80,i80
-u160,u160
-i160,i160
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-u82,u82
-i82,i82
-u162,u162
-i162,i162
-s0s0,s0
-d0d0,d0
-s0c0,c0
-c0s0,c0
-c0c0,c0
-d0z0,z0
-z0d0,z0
-z0z0,z0
-u80u80,u80
-i80i80,i80
-u160u160,u160
-i160i160,i160
-s2s0,s2
-d2d0,d2
-s2c0,c2
-c2s0,c2
-c2c0,c2
-d2z0,z2
-z2d0,z2
-z2z0,z2
-u82u80,u82
-i82i80,i82
-u162u160,u162
-i162i160,i162
-s0s2,s2
-d0d2,d2
-s0c2,c2
-c0s2,c2
-c0c2,c2
-d0z2,z2
-z0d2,z2
-z0z2,z2
-u80u82,u82
-i80i82,i82
-u160u162,u162
-i160i162,i162
-s2s2,s2
-d2d2,d2
-s2c2,c2
-c2s2,c2
-c2c2,c2
-d2z2,z2
-z2d2,z2
-z2z2,z2
-u82u82,u82
-i82i82,i82
-u162u162,u162
-i162i162,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpPlus.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpPlus.lcls
deleted file mode 100644
index 886e28b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpPlus.lcls
+++ /dev/null
@@ -1,68 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-u80,u80
-i80,i80
-u160,u160
-i160,i160
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-u82,u82
-i82,i82
-u162,u162
-i162,i162
-s0s0,s0
-d0d0,d0
-s0c0,c0
-c0s0,c0
-c0c0,c0
-d0z0,z0
-z0d0,z0
-z0z0,z0
-g0g0,g2
-u80u80,u80
-i80i80,i80
-u160u160,u160
-i160i160,i160
-s2s0,s2
-d2d0,d2
-s2c0,c2
-c2s0,c2
-c2c0,c2
-d2z0,z2
-z2d0,z2
-z2z0,z2
-g2g0,g2
-u82u80,u82
-i82i80,i82
-u162u160,u162
-i162i160,i162
-s0s2,s2
-d0d2,d2
-s0c2,c2
-c0s2,c2
-c0c2,c2
-d0z2,z2
-z0d2,z2
-z0z2,z2
-g0g2,g2
-u80u82,u82
-i80i82,i82
-u160u162,u162
-i160i162,i162
-s2s2,s2
-d2d2,d2
-s2c2,c2
-c2s2,c2
-c2c2,c2
-d2z2,z2
-z2d2,z2
-z2z2,z2
-g2g2,g2
-u82u82,u82
-i82i82,i82
-u162u162,u162
-i162i162,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpRc.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpRc.lcls
deleted file mode 100644
index bbf983c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpRc.lcls
+++ /dev/null
@@ -1,32 +0,0 @@
-s0s0,s2
-s0s2,s2
-s2s0,s2
-s2s2,s2
-d0d0,d2
-d0d2,d2
-d2d0,d2
-d2d2,d2
-c0c0,c2
-c0c2,c2
-c2c0,c2
-c2c2,c2
-z0z0,z2
-z0z2,z2
-z2z0,z2
-z2z2,z2
-z0d0,z2
-z2d0,z2
-c0s0,c2
-c2s0,c2
-s0c0,c2
-s2c0,c2
-d0z0,z2
-d2z0,z2
-s2c2,c2
-c2s2,c2
-d2z2,z2
-z2d2,z2
-s0c2,c2
-c0s2,c2
-d0z2,z2
-z0d2,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpSlash.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpSlash.lcls
deleted file mode 100644
index 27e9ace..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpSlash.lcls
+++ /dev/null
@@ -1,60 +0,0 @@
-s0s0,s0
-d0d0,d0
-s0c0,c0
-c0s0,c0
-c0c0,c0
-d0z0,z0
-z0d0,z0
-z0z0,z0
-u80u80,u80
-i80i80,i80
-u160u160,u160
-i160i160,i160
-s2s0,s2
-d2d0,d2
-s2c0,c2
-c2s0,c2
-c2c0,c2
-d2z0,z2
-z2d0,z2
-z2z0,z2
-u82u80,u82
-i82i80,i82
-u162u160,u162
-i162i160,i162
-s0s2,s2
-d0d2,d2
-s0c2,c2
-c0s2,c2
-c0c2,c2
-d0z2,z2
-z0d2,z2
-z0z2,z2
-u80u82,u82
-i80i82,i82
-u160u162,u162
-i160i162,i162
-s2s2,s2
-d2d2,d2
-s2c2,c2
-c2s2,c2
-c2c2,c2
-d2z2,z2
-z2d2,z2
-z2z2,z2
-u82u82,u82
-i82i82,i82
-u162u162,u162
-i162i162,i162
-s2s2,s0
-d2d2,d0
-s2c2,c0
-c2s2,c0
-c2c2,c0
-d2z2,z0
-z2d2,z0
-z2z2,z0
-u82u82,u80
-i82i82,i80
-u162u162,u160
-i162i162,i160
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpStar.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpStar.lcls
deleted file mode 100644
index 00b4a09..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/OpStar.lcls
+++ /dev/null
@@ -1,121 +0,0 @@
-s0s0,s0
-d0d0,d0
-s0c0,c0
-c0s0,c0
-c0c0,c0
-d0z0,z0
-z0d0,z0
-z0z0,z0
-u80u80,u80
-u80u80,u160
-u80i80,i80
-u80i80,i160
-u80u160,u160
-u80i160,i160
-i80u80,i80
-i80u80,i160
-i80i80,i80
-i80i80,i160
-i80u160,i160
-i80i160,i160
-u160u80,u160
-u160i80,i160
-u160u160,u160
-u160i160,i160
-i160u80,i160
-i160i80,i160
-i160u160,i160
-i160i160,i160
-s2s0,s2
-d2d0,d2
-s2c0,c2
-c2s0,c2
-c2c0,c2
-d2z0,z2
-z2d0,z2
-z2z0,z2
-u82u80,u82
-u82i80,i82
-u82u160,u162
-u82i160,i162
-i82u80,i82
-i82i80,i82
-i82u160,i162
-i82i160,i162
-u162u80,u162
-u162i80,i162
-u162u160,u162
-u162i160,i162
-i162u80,i162
-i162i80,i162
-i162u160,i162
-i162i160,i162
-s0s2,s2
-d0d2,d2
-s0c2,c2
-c0s2,c2
-c0c2,c2
-d0z2,z2
-z0d2,z2
-z0z2,z2
-u80u82,u82
-u80i82,i82
-u80u162,u162
-u80i162,i162
-i80u82,i82
-i80i82,i82
-i80u162,i162
-i80i162,i162
-u160u82,u162
-u160i82,i162
-u160u162,u162
-u160i162,i162
-i160i162,i162
-s2s2,s2
-d2d2,d2
-s2c2,c2
-c2s2,c2
-c2c2,c2
-d2z2,z2
-z2d2,z2
-z2z2,z2
-u82u82,u82
-u82i82,i82
-u82u162,u162
-u82i162,i162
-i82u82,i82
-i82i82,i82
-i82u162,i162
-i82i162,i162
-u162u82,u162
-u162i82,i162
-u162u162,u162
-u162i162,i162
-i162u82,i162
-i162i82,i162
-i162u162,i162
-i162i162,i162
-s2s2,s0
-d2d2,d0
-s2c2,c0
-c2s2,c0
-c2c2,c0
-d2z2,z0
-z2d2,z0
-z2z2,z0
-u82u82,u80
-u82i82,i80
-u82u162,u160
-u82i162,i160
-i82u82,i80
-i82i82,i80
-i82u162,i160
-i82i162,i160
-u162u82,u160
-u162i82,i160
-u162u162,u160
-u162i162,i160
-i162u82,i160
-i162i82,i160
-i162u162,i160
-i162i162,i160
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/PRIMES.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/PRIMES.lcls
deleted file mode 100644
index 5eac7ca..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/PRIMES.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-d0,d2
-s0,s2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Part.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Part.lcls
deleted file mode 100644
index 5d7242a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Part.lcls
+++ /dev/null
@@ -1,4 +0,0 @@
-g2s0,g2
-g2d0,g2
-g2s2,g2
-g2d2,g2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RCOND.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RCOND.lcls
deleted file mode 100644
index 637f82e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RCOND.lcls
+++ /dev/null
@@ -1 +0,0 @@
-d2,d0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DelayMilli.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DelayMilli.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DelayMilli.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DigitalIn.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DigitalIn.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DigitalIn.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DigitalSetup.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DigitalSetup.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_DigitalSetup.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_GetMilli.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_GetMilli.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_GetMilli.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_PinISR.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_PinISR.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_PinISR.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SerialDataAvail.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SerialDataAvail.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SerialDataAvail.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SerialSendData.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SerialSendData.lcls
deleted file mode 100644
index 9572389..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SerialSendData.lcls
+++ /dev/null
@@ -1,13 +0,0 @@
-u80u80,u80
-u80i80,u80
-u80u160,u80
-u80i160,u80
-u80s0,u80
-u80d0,u80
-u80u82,u80
-u80i82,u80
-u80u162,u80
-u80i162,u80
-u80s2,u80
-u80d2,u80
-u80g2,u80
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SetupSerial.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SetupSerial.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_SetupSerial.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_ThreadCreate.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_ThreadCreate.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/RPI_ThreadCreate.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Return.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Return.lcls
deleted file mode 100644
index 7edb2fa..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Return.lcls
+++ /dev/null
@@ -1 +0,0 @@
-,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/SCHUR.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/SCHUR.lcls
deleted file mode 100644
index e6c3638..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/SCHUR.lcls
+++ /dev/null
@@ -1,12 +0,0 @@
-d2,d2
-d2,d2d2
-d2g2,d2
-d2g2,d2d0
-d2g2,d2d0d2
-d2d2,d2d2
-d2d2,d2d2d2d2
-d2d2g2,d0
-d2d2g2,d2d0
-d2d2g2,d2d2d0
-d2d2g2,d2d2d2d0
-d2d2g2,d2d2d2d2d0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRCMP.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRCMP.lcls
deleted file mode 100644
index d2b9fbc..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRCMP.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-g2g2,d0
-g2g2g2,d0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRRCHR.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRRCHR.lcls
deleted file mode 100644
index cefc114..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRRCHR.lcls
+++ /dev/null
@@ -1 +0,0 @@
-g2g2,g2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRREV.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRREV.lcls
deleted file mode 100644
index 49391cb..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRREV.lcls
+++ /dev/null
@@ -1 +0,0 @@
-g2,g2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRSUBST.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRSUBST.lcls
deleted file mode 100644
index 56ac2e8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/STRSUBST.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-g2g2g2,g2
-g2g2g2g2,g2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/SYSLIN.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/SYSLIN.lcls
deleted file mode 100644
index afda1fb..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/SYSLIN.lcls
+++ /dev/null
@@ -1,17 +0,0 @@
-g2d2d2d2,ss2
-g2d2d2d2d2,ss2
-g2d2d2d2d2d2,ss2
-g2d0d0d0,ss2
-g2d0d2d0,ss2
-g2d0d0d2,ss2
-g2d0d2d2,ss2
-g2d0d0d0d0,ss2
-g2d0d2d0d2,ss2
-g2d0d0d2d2,ss2
-g2d0d2d2d2,ss2
-g2d2d2d2d0,ss2
-g2d0d0d0d0d0,ss2
-g2d0d2d0d2d0,ss2
-g2d0d0d2d2d0,ss2
-g2d0d2d2d2d0,ss2
-g2d2d2d2d0d2,ss2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sec.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sec.lcls
deleted file mode 100644
index c04e75d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sec.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-d0,d0
-d2,d2
-s0,s0
-s2,s2
-z2,z2
-z0,z0
-c2,c2
-c0,c0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Secd.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Secd.lcls
deleted file mode 100644
index cab4fed..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Secd.lcls
+++ /dev/null
@@ -1,4 +0,0 @@
-d2,d2
-d0,d0
-s2,s2
-s0,s0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sech.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sech.lcls
deleted file mode 100644
index c04e75d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sech.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-d0,d0
-d2,d2
-s0,s0
-s2,s2
-z2,z2
-z0,z0
-c2,c2
-c0,c0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sign.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sign.lcls
deleted file mode 100644
index 8b5a212..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sign.lcls
+++ /dev/null
@@ -1,16 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-u80,i80
-i80,i80
-u160,i160
-i160,i160
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-u82,i82
-i82,i82
-u162,i162
-i162,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sin.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sin.lcls
deleted file mode 100644
index 364a170..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sin.lcls
+++ /dev/null
@@ -1,16 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-u80,s0
-i80,s0
-u160,s0
-i160,s0
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-u82,s2
-i82,s2
-u162,s2
-i162,s2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Size.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Size.lcls
deleted file mode 100644
index 823ecbc..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Size.lcls
+++ /dev/null
@@ -1,25 +0,0 @@
-s0,s2
-d0,d2
-c0,s2
-z0,d2
-s2,s2
-d2,d2
-c2,s2
-z2,d2
-s0,s0s0
-d0,d0d0
-c0,s0s0
-z0,d0d0
-s2,s0s0
-d2,d0d0
-c2,s0s0
-z2,d0d0
-s0s0,s0
-d0d0,d0
-c0s0,s0
-z0d0,d0
-s2s0,s0
-d2d0,d0
-c2s0,s0
-z2d0,d0
-d2g2,d0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Spec.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Spec.lcls
deleted file mode 100644
index b14b023..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Spec.lcls
+++ /dev/null
@@ -1,20 +0,0 @@
-s0,c0
-d0,z0
-c0,c0
-z0,z0
-s2,s2
-d2,d2
-s2,c2
-c2,c2
-d2,z2
-z2,z2
-s0,c0c0
-d0,z0z0
-c0,c0c0
-z0,z0z0
-s2,s2s2
-s2,c2c2
-d2,d2d2
-d2,z2z2
-c2,c2c2
-z2,z2z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sqrt.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sqrt.lcls
deleted file mode 100644
index f966c2d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sqrt.lcls
+++ /dev/null
@@ -1,24 +0,0 @@
-s0,s0
-s0,c0
-d0,d0
-d0,z0
-c0,c0
-z0,z0
-u80,s0
-i80,s0
-i80,c0
-u160,s0
-i160,s0
-i160,c0
-s2,s2
-s2,c2
-d2,d2
-d2,z2
-c2,c2
-z2,z2
-u82,s2
-i82,s2
-i82,c2
-u162,s2
-i162,s2
-i162,c2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Strindex.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Strindex.lcls
deleted file mode 100644
index b6525c8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Strindex.lcls
+++ /dev/null
@@ -1,4 +0,0 @@
-g2g2,s0
-g2g2,d0
-g2g2,s2
-g2g2,d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/String.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/String.lcls
deleted file mode 100644
index 168478e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/String.lcls
+++ /dev/null
@@ -1,18 +0,0 @@
-s0,g0
-d0,g0
-c0,g0
-z0,g0
-g0,g0
-u80,g0
-i80,g0
-u160,g0
-i160,g0
-s2,g2
-d2,g2
-c2,g2
-z2,g2
-g2,g2
-u82,g2
-i82,g2
-u162,g2
-i162,g2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sum.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sum.lcls
deleted file mode 100644
index 3089f75..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Sum.lcls
+++ /dev/null
@@ -1,65 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-u80,u80
-i80,i80
-u160,u160
-i160,i160
-s2,s0
-d2,d0
-c2,c0
-z2,z0
-u82,u80
-i82,i80
-u162,u160
-i162,i160
-s0s0,s0
-d0d0,d0
-c0c0,c0
-c0s0,c0
-z0d0,z0
-s2s0,s0
-d2d0,d0
-c2s0,c0
-z2d0,z0
-s2s0,s2
-d2d0,d2
-c2s0,c2
-z2d0,z2
-u80d0,u80
-u82u80,u80
-u82u80,u82
-i80i80,i80
-i82i80,i80
-i82i80,i82
-u160u160,u160
-u162u160,u160
-u162u160,u162
-i160i160,i160
-i162i160,i160
-i162i160,i162
-s0g2,s0
-d0g2,d0
-c0g2,c0
-z0g2,z0
-s2g2,s0
-d2g2,d0
-c2g2,c0
-z2g2,z0
-s2g2,s2
-d2g2,d2
-c2g2,c2
-z2g2,z2
-u80g2,u80
-u82g2,u80
-u82g2,u82
-i80g2,i80
-i82g2,i80
-i82g2,i82
-u160g2,u160
-u162g2,u160
-u162g2,u162
-i160g2,i160
-i162g2,i160
-i162g2,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/TRIU.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/TRIU.lcls
deleted file mode 100644
index 691fb0a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/TRIU.lcls
+++ /dev/null
@@ -1,32 +0,0 @@
-d0,d0
-s0,s0
-u80,u80
-i80,i80
-u160,u160
-i160,i160
-d0d0,d0
-s0s0,s0
-u80u80,u80
-i80i80,i80
-u160u160,u160
-i160i160,i160
-u80d0,u80
-i80d0,i80
-u160d0,u160
-i160d0,i160
-d2,d2
-s2,s2
-u82,u82
-i82,i82
-u162,u162
-i162,i162
-d2d0,d2
-s2s0,s2
-u82u80,u82
-i82i80,i82
-u162u160,u162
-i162i160,i162
-u82d0,u82
-i82d0,i82
-u162d0,u162
-i162d0,i162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Trace.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Trace.lcls
deleted file mode 100644
index 2965ece..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Trace.lcls
+++ /dev/null
@@ -1,8 +0,0 @@
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-s2,s0
-d2,d0
-c2,c0
-z2,z0
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Uint16.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Uint16.lcls
deleted file mode 100644
index d736170..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Uint16.lcls
+++ /dev/null
@@ -1,12 +0,0 @@
-s0,u160
-d0,u160
-u80,u160
-i80,u160
-u160,u160
-i160,u160
-s2,u162
-d2,u162
-u82,u162
-i82,u162
-u162,u162
-i162,u162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Uint8.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Uint8.lcls
deleted file mode 100644
index 0f40ef9..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Uint8.lcls
+++ /dev/null
@@ -1,12 +0,0 @@
-s0,u80
-d0,u80
-u80,u80
-i80,u80
-u160,u80
-i160,u80
-s2,u82
-d2,u82
-u82,u82
-i82,u82
-u162,u82
-i162,u82
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Zeros.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Zeros.lcls
deleted file mode 100644
index 8772313..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/Zeros.lcls
+++ /dev/null
@@ -1,39 +0,0 @@
-,s0
-,d0
-,u80
-,i80
-,u160
-,i160
-s0,s0
-d0,d0
-c0,c0
-z0,z0
-u80,u80
-i80,i80
-u160,u160
-i160,i160
-s2,s2
-d2,d2
-c2,c2
-z2,z2
-u82,u82
-i82,i82
-u162,u162
-i162,i162
-s0s0,s0
-s0s0,d0
-s0s0,s2
-s0s0,d2
-d0d0,s0
-d0d0,d0
-d0d0,s2
-d0d0,d2
-u80u80,u80
-u80u80,u82
-i80i80,i80
-i80i80,i82
-u160u160,u160
-u160u160,u162
-i160i160,i160
-i160i160,i162
-d0d0d0,d3
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitand.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitand.lcls
deleted file mode 100644
index 80488dd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitand.lcls
+++ /dev/null
@@ -1,4 +0,0 @@
-u80u80,u80
-u82u82,u82
-u160u160,u160
-u162u162,u162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitcmp.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitcmp.lcls
deleted file mode 100644
index f1856fe..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitcmp.lcls
+++ /dev/null
@@ -1,4 +0,0 @@
-u80d0,u80
-u82d0,u82
-u160d0,u160
-u162d0,u162
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitget.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitget.lcls
deleted file mode 100644
index 05cacd4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitget.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-u80d0,u80
-u160d0,u160
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitset.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitset.lcls
deleted file mode 100644
index 37baf82..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/bitset.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-u80d0d0,u80
-u160d0d0,u160
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cat.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cat.lcls
deleted file mode 100644
index fb23ff7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cat.lcls
+++ /dev/null
@@ -1,53 +0,0 @@
-s0s0,s2
-s0s2,s2
-s2s0,s2
-s2s2,s2
-d0d0,d2
-d0d2,d2
-d2d0,d2
-d2d2,d2
-d0d2d2,d2
-d0u82u82,u82
-d0u162u162,u162
-d0i82i82,i82
-d0i162i162,i162
-c0c0,c2
-c0c2,c2
-c2c0,c2
-c2c2,c2
-z0z0,z2
-z0z2,z2
-z2z0,z2
-z2z2,z2
-u80u80,u82
-u80u82,u82
-u82u80,u82
-u82u82,u82
-u160u160,u162
-u160u162,u162
-u162u160,u162
-u162u162,u162
-i80i80,i82
-i80i82,i82
-i82i80,i82
-i82i82,i82
-i160i160,i162
-i160i162,i162
-i162i160,i162
-i162i162,i162
-z0d0,z2
-z2d0,z2
-c0s0,c2
-c2s0,c2
-s0c0,c2
-s2c0,c2
-d0z0,z2
-d2z0,z2
-s2c2,c2
-c2s2,c2
-d2z2,z2
-z2d2,z2
-s0c2,c2
-c0s2,c2
-d0z2,z2
-z0d2,z2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_analog_in.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_analog_in.lcls
deleted file mode 100644
index 79fdce3..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_analog_in.lcls
+++ /dev/null
@@ -1 +0,0 @@
-d0d0,u160
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_analog_out.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_analog_out.lcls
deleted file mode 100644
index e8547c0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_analog_out.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-d0d0d0,
-d0d0u80,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_dcmotor_run.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_dcmotor_run.lcls
deleted file mode 100644
index 83d89c2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_dcmotor_run.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-d0d0d0,
-d0d0i160,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_dcmotor_setup.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_dcmotor_setup.lcls
deleted file mode 100644
index 975b71e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_dcmotor_setup.lcls
+++ /dev/null
@@ -1 +0,0 @@
-d0d0d0d0d0,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_digital_in.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_digital_in.lcls
deleted file mode 100644
index ecdfe8f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_digital_in.lcls
+++ /dev/null
@@ -1 +0,0 @@
-d0d0,u80
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_digital_out.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_digital_out.lcls
deleted file mode 100644
index e8547c0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_digital_out.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-d0d0d0,
-d0d0u80,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_attach.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_attach.lcls
deleted file mode 100644
index e85aaab..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_attach.lcls
+++ /dev/null
@@ -1 +0,0 @@
-d0d0,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_detach.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_detach.lcls
deleted file mode 100644
index e85aaab..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_detach.lcls
+++ /dev/null
@@ -1 +0,0 @@
-d0d0,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_move.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_move.lcls
deleted file mode 100644
index 85f87e0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/cmd_servo_move.lcls
+++ /dev/null
@@ -1 +0,0 @@
-d0d0d0,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/diag.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/diag.lcls
deleted file mode 100644
index 2240448..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/diag.lcls
+++ /dev/null
@@ -1,30 +0,0 @@
-d0,d0
-d0d0,d0
-d0d0,d2
-d2,d2
-d2d0,d2
-d2d0,d0
-u80,u80
-u80d0,u80
-u80d0,u82
-u82,u82
-u82d0,u82
-u82d0,u80
-u160,u160
-u160d0,u160
-u160d0,u162
-u162,u162
-u162d0,u162
-u162d0,u160
-i80,i80
-i80d0,i80
-i80d0,i82
-i82,i82
-i82d0,i82
-i82d0,i80
-i160,i160
-i160d0,i160
-i160d0,i162
-i162,i162
-i162d0,i162
-i162d0,i160
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/linspace.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/linspace.lcls
deleted file mode 100644
index 6a07ac5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/linspace.lcls
+++ /dev/null
@@ -1,2 +0,0 @@
-d0d0d0,d2
-d2d2d0,d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/rand.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/rand.lcls
deleted file mode 100644
index b159bf8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/rand.lcls
+++ /dev/null
@@ -1,20 +0,0 @@
-d0,d0
-d0d0,d0
-d0d0,d2
-d2,d2
-u80,d0
-i80,d0
-u160,d0
-i160,d0
-u82,d2
-i82,d2
-u162,d2
-i162,d2
-u80u80,d0
-u80u80,d2
-i80i80,d0
-i80i80,d2
-u160u160,d0
-u160u160,d2
-i160i160,d0
-i160i160,d2
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/sleep.lcls b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/sleep.lcls
deleted file mode 100644
index 97d8931..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Classes/sleep.lcls
+++ /dev/null
@@ -1 +0,0 @@
-d0,
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRADCSetup.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRADCSetup.lst
deleted file mode 100644
index e53fcb9..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRADCSetup.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRADCSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalIn.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalIn.lst
deleted file mode 100644
index 427921c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalIn.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRDigitalIn
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalOut.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalOut.lst
deleted file mode 100644
index 5ee2b44..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalOut.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRDigitalOut
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalPortSetup.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalPortSetup.lst
deleted file mode 100644
index 6d5db50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalPortSetup.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRDigitalPortSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalSetup.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalSetup.lst
deleted file mode 100644
index fbf1a3d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRDigitalSetup.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRDigitalSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRGetTimerValue.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRGetTimerValue.lst
deleted file mode 100644
index 25b1613..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRGetTimerValue.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRGetTimerValue
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM0SetDuty.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM0SetDuty.lst
deleted file mode 100644
index 38b9d7b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM0SetDuty.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM0SetDuty
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM0Setup.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM0Setup.lst
deleted file mode 100644
index 8223052..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM0Setup.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM0Setup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM1SetDuty.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM1SetDuty.lst
deleted file mode 100644
index 86ac020..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM1SetDuty.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM1SetDuty
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM1Setup.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM1Setup.lst
deleted file mode 100644
index 6c0c3cd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM1Setup.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM1Setup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM2SetDuty.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM2SetDuty.lst
deleted file mode 100644
index b29a774..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM2SetDuty.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM2SetDuty
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM2Setup.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM2Setup.lst
deleted file mode 100644
index f899fc6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRPWM2Setup.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRPWM2Setup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRReadADC.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRReadADC.lst
deleted file mode 100644
index 51ed9e0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRReadADC.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRReadADC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRSleep.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRSleep.lst
deleted file mode 100644
index 67b8d66..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRSleep.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRSleep
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRTimerSetup.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRTimerSetup.lst
deleted file mode 100644
index 35d469f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRTimerSetup.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRTimerSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTReceiveChar.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTReceiveChar.lst
deleted file mode 100644
index 5b006d0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTReceiveChar.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRUARTReceiveChar
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTSetup.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTSetup.lst
deleted file mode 100644
index 336d25c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTSetup.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRUARTSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTTransmit.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTTransmit.lst
deleted file mode 100644
index 5430e40..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/AVRUARTTransmit.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: AVRUARTTransmit
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_AdaptiveThreshold.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_AdaptiveThreshold.lst
deleted file mode 100644
index 805764a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_AdaptiveThreshold.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_AdaptiveThreshold
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Blur.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Blur.lst
deleted file mode 100644
index 12762a2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Blur.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Blur
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Canny.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Canny.lst
deleted file mode 100644
index afc4872..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Canny.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Canny
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CornerHarris.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CornerHarris.lst
deleted file mode 100644
index 4b67f53..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CornerHarris.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_CornerHarris
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CreateImage.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CreateImage.lst
deleted file mode 100644
index 8ef5545..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CreateImage.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_CreateImage
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CvtColor.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CvtColor.lst
deleted file mode 100644
index 1066599..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_CvtColor.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_CvtColor
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Dilate.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Dilate.lst
deleted file mode 100644
index 3ad6ae2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Dilate.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Dilate
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_DistanceTransform.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_DistanceTransform.lst
deleted file mode 100644
index c87c972..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_DistanceTransform.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_DistanceTransform
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Erode.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Erode.lst
deleted file mode 100644
index 3ad6ae2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Erode.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Dilate
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_GaussianBlur.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_GaussianBlur.lst
deleted file mode 100644
index 12762a2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_GaussianBlur.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Blur
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_GetImgSize.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_GetImgSize.lst
deleted file mode 100644
index 6f3dd35..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_GetImgSize.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_GetImgSize
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_LoadImage.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_LoadImage.lst
deleted file mode 100644
index 037f713..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_LoadImage.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_LoadImage
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_MedianBlur.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_MedianBlur.lst
deleted file mode 100644
index c3dd1e0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_MedianBlur.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_MedianBlur
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_SaveImage.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_SaveImage.lst
deleted file mode 100644
index d869941..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_SaveImage.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_ShowImage
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_ShowImage.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_ShowImage.lst
deleted file mode 100644
index d869941..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_ShowImage.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_ShowImage
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Threshold.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Threshold.lst
deleted file mode 100644
index b8e4930..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_Threshold.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_Threshold
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_WaitKey.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_WaitKey.lst
deleted file mode 100644
index 0f2a079..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/CV_WaitKey.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CV_WaitKey
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/Cepstrum.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/Cepstrum.lst
deleted file mode 100644
index 60a7925..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/Cepstrum.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Cepstrum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpApex.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpApex.lst
deleted file mode 100644
index 67b2d70..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpApex.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpApex
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpBackSlash.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpBackSlash.lst
deleted file mode 100644
index f9a15de..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpBackSlash.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpBackSlash
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpCc.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpCc.lst
deleted file mode 100644
index 0a61e73..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpCc.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpCc
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpColon.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpColon.lst
deleted file mode 100644
index 6460a53..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpColon.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpColon
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotApex.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotApex.lst
deleted file mode 100644
index 67b2d70..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotApex.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpApex
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotBackSlash.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotBackSlash.lst
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotBackSlash.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotHat.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotHat.lst
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotHat.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotSlash.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotSlash.lst
deleted file mode 100644
index 0243038..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotSlash.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotStar
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotStar.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotStar.lst
deleted file mode 100644
index 0243038..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpDotStar.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotStar
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpEqual.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpEqual.lst
deleted file mode 100644
index a1a50a1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpEqual.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpEqual
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpExt.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpExt.lst
deleted file mode 100644
index 7e4b925..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpExt.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpExt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpHat.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpHat.lst
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpHat.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpIns.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpIns.lst
deleted file mode 100644
index 445aa02..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpIns.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpIns
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogAnd.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogAnd.lst
deleted file mode 100644
index dd3623a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogAnd.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogEq
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogEq.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogEq.lst
deleted file mode 100644
index dd3623a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogEq.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogEq
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogGe.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogGe.lst
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogGe.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogGt.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogGt.lst
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogGt.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogLe.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogLe.lst
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogLe.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogLt.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogLt.lst
deleted file mode 100644
index f33597c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogLt.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpDotHat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogNe.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogNe.lst
deleted file mode 100644
index dd3623a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogNe.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogEq
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogNot.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogNot.lst
deleted file mode 100644
index 3adec54..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogNot.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogNot
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogOr.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogOr.lst
deleted file mode 100644
index dd3623a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpLogOr.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogEq
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpMinus.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpMinus.lst
deleted file mode 100644
index 39494a7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpMinus.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpMinus
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpPlus.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpPlus.lst
deleted file mode 100644
index 50a2686..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpPlus.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpPlus
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpRc.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpRc.lst
deleted file mode 100644
index c072766..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpRc.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpRc
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpSlash.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpSlash.lst
deleted file mode 100644
index f6c9625..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpSlash.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpSlash
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpStar.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpStar.lst
deleted file mode 100644
index 2382cd1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/OpStar.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpStar
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DelayMicro.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DelayMicro.lst
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DelayMicro.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DelayMilli.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DelayMilli.lst
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DelayMilli.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalIn.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalIn.lst
deleted file mode 100644
index 7dd25f1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalIn.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DigitalIn
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalOut.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalOut.lst
deleted file mode 100644
index 36fdec8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalOut.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DigitalSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalSetup.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalSetup.lst
deleted file mode 100644
index 36fdec8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_DigitalSetup.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DigitalSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_GetMicros.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_GetMicros.lst
deleted file mode 100644
index 462c86c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_GetMicros.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_GetMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_GetMillis.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_GetMillis.lst
deleted file mode 100644
index 462c86c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_GetMillis.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_GetMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetClock.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetClock.lst
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetClock.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetMode.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetMode.lst
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetMode.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetRange.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetRange.lst
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMSetRange.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMWrite.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMWrite.lst
deleted file mode 100644
index 36fdec8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_HardPWMWrite.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DigitalSetup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_PinISR.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_PinISR.lst
deleted file mode 100644
index 8b7719b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_PinISR.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_PinISR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialClose.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialClose.lst
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialClose.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialDataAvail.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialDataAvail.lst
deleted file mode 100644
index fbbb010..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialDataAvail.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_SerialDataAvail
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialFlush.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialFlush.lst
deleted file mode 100644
index fbabc50..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialFlush.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_DelayMilli
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialGetChar.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialGetChar.lst
deleted file mode 100644
index fbbb010..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialGetChar.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_SerialDataAvail
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialSendData.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialSendData.lst
deleted file mode 100644
index cd85257..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialSendData.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_SerialSendData
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialSetup.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialSetup.lst
deleted file mode 100644
index 8ff1010..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_SerialSetup.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_SetupSerial
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_ThreadCreate.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_ThreadCreate.lst
deleted file mode 100644
index f9efdbc..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/RPI_ThreadCreate.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RPI_ThreadCreate
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/SCI2Cresize.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/SCI2Cresize.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/SCI2Cresize.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/abs.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/abs.lst
deleted file mode 100644
index e682e0d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/abs.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Abs
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acos.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acos.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acos.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acosd.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acosd.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acosd.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acosh.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acosh.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acosh.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acot.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acot.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acot.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acotd.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acotd.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acotd.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acoth.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acoth.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acoth.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acsc.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acsc.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acsc.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acscd.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acscd.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acscd.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acsch.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acsch.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/acsch.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asec.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asec.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asec.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asecd.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asecd.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asecd.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asech.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asech.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asech.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asin.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asin.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asin.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asind.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asind.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asind.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asinh.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asinh.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/asinh.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atan.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atan.lst
deleted file mode 100644
index 3cad91b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atan.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Atan
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atand.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atand.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atand.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atanh.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atanh.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/atanh.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/balanc.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/balanc.lst
deleted file mode 100644
index 6affd53..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/balanc.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: BALANC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/base2dec.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/base2dec.lst
deleted file mode 100644
index 38e1caf..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/base2dec.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: BASE2DEC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bin2dec.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bin2dec.lst
deleted file mode 100644
index 3263d08..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bin2dec.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: BIN2DEC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitand.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitand.lst
deleted file mode 100644
index 5a20aee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitand.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitand
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitcmp.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitcmp.lst
deleted file mode 100644
index 3cfce14..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitcmp.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitcmp
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitget.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitget.lst
deleted file mode 100644
index 2a3e8f7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitget.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitget
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitor.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitor.lst
deleted file mode 100644
index 5a20aee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitor.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitand
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitset.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitset.lst
deleted file mode 100644
index e5ffe42..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitset.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitset
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitxor.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitxor.lst
deleted file mode 100644
index 5a20aee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/bitxor.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: bitand
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cat.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cat.lst
deleted file mode 100644
index c27cf34..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cat.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cat
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ceil.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ceil.lst
deleted file mode 100644
index 3adec54..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ceil.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogNot
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/chol.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/chol.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/chol.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_analog_in.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_analog_in.lst
deleted file mode 100644
index 00dbfdd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_analog_in.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_analog_in
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_analog_out.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_analog_out.lst
deleted file mode 100644
index f4251a3..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_analog_out.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_analog_out
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_dcmotor_run.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_dcmotor_run.lst
deleted file mode 100644
index 25aad21..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_dcmotor_run.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_dcmotor_run
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_dcmotor_setup.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_dcmotor_setup.lst
deleted file mode 100644
index d2f93c2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_dcmotor_setup.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_dcmotor_setup
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_digital_in.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_digital_in.lst
deleted file mode 100644
index 3746520..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_digital_in.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_digital_in
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_digital_out.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_digital_out.lst
deleted file mode 100644
index b5fe8fc..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_digital_out.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_digital_out
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_attach.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_attach.lst
deleted file mode 100644
index 69a84f8..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_attach.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_servo_attach
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_detach.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_detach.lst
deleted file mode 100644
index c38a64b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_detach.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_servo_detach
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_move.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_move.lst
deleted file mode 100644
index 04628b1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cmd_servo_move.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: cmd_servo_move
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/conj.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/conj.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/conj.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/convol.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/convol.lst
deleted file mode 100644
index 33bbe01..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/convol.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Convol
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/convstr.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/convstr.lst
deleted file mode 100644
index 6415058..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/convstr.lst
+++ /dev/null
@@ -1,2 +0,0 @@
-CLASS: CONVSTR
-CLASS: CONVSTR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cos.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cos.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cos.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cosd.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cosd.lst
deleted file mode 100644
index e5da336..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cosd.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Cosd
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cosh.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cosh.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cosh.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cotd.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cotd.lst
deleted file mode 100644
index c9bedb2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cotd.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Cotd
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/coth.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/coth.lst
deleted file mode 100644
index 020a121..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/coth.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Coth
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/csc.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/csc.lst
deleted file mode 100644
index c767a15..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/csc.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Csc
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cscd.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cscd.lst
deleted file mode 100644
index 54d728d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cscd.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Cscd
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/csch.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/csch.lst
deleted file mode 100644
index d183304..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/csch.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Csch
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cumprod.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cumprod.lst
deleted file mode 100644
index 640bb62..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cumprod.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CUMSUM
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cumsum.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cumsum.lst
deleted file mode 100644
index 640bb62..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/cumsum.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: CUMSUM
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2base.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2base.lst
deleted file mode 100644
index a170cc5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2base.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DEC2BASE
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2bin.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2bin.lst
deleted file mode 100644
index e25a1ee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2bin.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DEC2BIN
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2hex.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2hex.lst
deleted file mode 100644
index 03c6de4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2hex.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DEC2HEX
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2oct.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2oct.lst
deleted file mode 100644
index 5518830..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/dec2oct.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DEC2OCT
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/det.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/det.lst
deleted file mode 100644
index 56ae25c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/det.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Trace
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/diag.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/diag.lst
deleted file mode 100644
index a58a4e2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/diag.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: diag
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/diff.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/diff.lst
deleted file mode 100644
index 94dc91d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/diff.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DIFF
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/disp.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/disp.lst
deleted file mode 100644
index f6f39c5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/disp.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Disp
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/double.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/double.lst
deleted file mode 100644
index d7c18cb..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/double.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Double
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/doublecomplex.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/doublecomplex.lst
deleted file mode 100644
index 44dd5dc..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/doublecomplex.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: DoubleComplex
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/exp.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/exp.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/exp.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/expm.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/expm.lst
deleted file mode 100644
index f0c2dfd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/expm.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Expm
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/eye.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/eye.lst
deleted file mode 100644
index 7e224c4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/eye.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Zeros
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/factor.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/factor.lst
deleted file mode 100644
index 469b3b3..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/factor.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FACTOR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/factorial.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/factorial.lst
deleted file mode 100644
index f34d2b7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/factorial.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FACTORIAL
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fft.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fft.lst
deleted file mode 100644
index 7693bd2..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fft.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FFT
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fftshift.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fftshift.lst
deleted file mode 100644
index 3b61c88..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fftshift.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FFTShift
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/find.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/find.lst
deleted file mode 100644
index f784a53..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/find.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Find
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fix.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fix.lst
deleted file mode 100644
index 3adec54..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/fix.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogNot
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/flipdim.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/flipdim.lst
deleted file mode 100644
index 0ee8101..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/flipdim.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FLIPDIM
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/float.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/float.lst
deleted file mode 100644
index 71d9e25..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/float.lst
+++ /dev/null
@@ -1,2 +0,0 @@
-CLASS: Float
-CLASS: Float
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/floatcomplex.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/floatcomplex.lst
deleted file mode 100644
index 67cfd3d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/floatcomplex.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: FloatComplex
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/floor.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/floor.lst
deleted file mode 100644
index 3adec54..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/floor.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogNot
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/frmag.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/frmag.lst
deleted file mode 100644
index 31c401a..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/frmag.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Frmag
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/global.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/global.lst
deleted file mode 100644
index 49f9f38..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/global.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Global
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/hex2dec.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/hex2dec.lst
deleted file mode 100644
index 5df6263..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/hex2dec.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: HEX2DEC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ifft.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ifft.lst
deleted file mode 100644
index 5d0ca14..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ifft.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: IFFT
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/imag.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/imag.lst
deleted file mode 100644
index e682e0d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/imag.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Abs
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int16.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int16.lst
deleted file mode 100644
index 1e22e98..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int16.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Int16
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int8.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int8.lst
deleted file mode 100644
index 04fff59..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/int8.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Int8
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/interp1.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/interp1.lst
deleted file mode 100644
index 473e05c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/interp1.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Interp1
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/inv.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/inv.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/inv.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/isempty.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/isempty.lst
deleted file mode 100644
index 80eebe5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/isempty.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: IsEmpty
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/isnan.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/isnan.lst
deleted file mode 100644
index d790bb6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/isnan.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: IsNan
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/kron.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/kron.lst
deleted file mode 100644
index 5cb9b6f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/kron.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: KRON
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/length.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/length.lst
deleted file mode 100644
index 6c1fdd6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/length.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Length
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lev.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lev.lst
deleted file mode 100644
index 1b5a2c0..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lev.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Lev
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/linspace.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/linspace.lst
deleted file mode 100644
index 4762bc1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/linspace.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: linspace
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log10.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log10.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log10.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log1p.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log1p.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/log1p.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/logspace.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/logspace.lst
deleted file mode 100644
index 4762bc1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/logspace.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: linspace
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lqe.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lqe.lst
deleted file mode 100644
index 65944c7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lqe.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: LQE
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lqr.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lqr.lst
deleted file mode 100644
index b545f79..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/lqr.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: LQR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/max.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/max.lst
deleted file mode 100644
index 8f4cc1c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/max.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Max
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mclose.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mclose.lst
deleted file mode 100644
index 3e66b6e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mclose.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Mclose
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mean.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mean.lst
deleted file mode 100644
index feb650b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mean.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/meanf.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/meanf.lst
deleted file mode 100644
index effa0b5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/meanf.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Meanf
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mget.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mget.lst
deleted file mode 100644
index c4afcbb..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mget.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Mget
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/min.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/min.lst
deleted file mode 100644
index 8f4cc1c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/min.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Max
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mopen.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mopen.lst
deleted file mode 100644
index 6e78e78..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mopen.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Mopen
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mput.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mput.lst
deleted file mode 100644
index 9ac8695..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mput.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Mput
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mseek.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mseek.lst
deleted file mode 100644
index a945559..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/mseek.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Mseek
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/norm.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/norm.lst
deleted file mode 100644
index d6177fd..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/norm.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: NORM
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/obscont.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/obscont.lst
deleted file mode 100644
index bbf4b03..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/obscont.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OBSCONT
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/oct2dec.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/oct2dec.lst
deleted file mode 100644
index ea9cdec..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/oct2dec.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OCT2DEC
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ode.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ode.lst
deleted file mode 100644
index 2bf0784..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ode.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: ODE
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ones.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ones.lst
deleted file mode 100644
index 7e224c4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/ones.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Zeros
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/part.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/part.lst
deleted file mode 100644
index 2f78bda..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/part.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Part
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/primes.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/primes.lst
deleted file mode 100644
index 97337c7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/primes.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: PRIMES
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/prod.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/prod.lst
deleted file mode 100644
index feb650b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/prod.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/rand.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/rand.lst
deleted file mode 100644
index 51b0615..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/rand.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: rand
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/rcond.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/rcond.lst
deleted file mode 100644
index c20a525..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/rcond.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: RCOND
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/real.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/real.lst
deleted file mode 100644
index e682e0d..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/real.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Abs
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/return.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/return.lst
deleted file mode 100644
index 208d44e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/return.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Return
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/round.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/round.lst
deleted file mode 100644
index 3adec54..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/round.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: OpLogNot
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/schur.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/schur.lst
deleted file mode 100644
index 0e45062..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/schur.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: SCHUR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sec.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sec.lst
deleted file mode 100644
index 8284d46..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sec.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sec
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/secd.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/secd.lst
deleted file mode 100644
index 54a6fd1..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/secd.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Secd
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sech.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sech.lst
deleted file mode 100644
index ac9aaee..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sech.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sech
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sin.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sin.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sin.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sinh.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sinh.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sinh.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/size.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/size.lst
deleted file mode 100644
index dd6e6a5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/size.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Size
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sleep.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sleep.lst
deleted file mode 100644
index 1f9ebad..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sleep.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: sleep
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/spec.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/spec.lst
deleted file mode 100644
index 0c4f80e..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/spec.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Spec
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sqrt.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sqrt.lst
deleted file mode 100644
index 2d1e9e7..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sqrt.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sqrt
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/st_deviation.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/st_deviation.lst
deleted file mode 100644
index feb650b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/st_deviation.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/stdevf.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/stdevf.lst
deleted file mode 100644
index effa0b5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/stdevf.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Meanf
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strcmp.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strcmp.lst
deleted file mode 100644
index 403e1d4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strcmp.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: STRCMP
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strindex.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strindex.lst
deleted file mode 100644
index 5a16ce3..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strindex.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Strindex
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/string.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/string.lst
deleted file mode 100644
index 3950a3f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/string.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: String
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strrchr.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strrchr.lst
deleted file mode 100644
index d60113b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strrchr.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: STRRCHR
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strrev.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strrev.lst
deleted file mode 100644
index b79ff38..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strrev.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: STRREV
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strsubst.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strsubst.lst
deleted file mode 100644
index 882b664..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/strsubst.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: STRSUBST
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sum.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sum.lst
deleted file mode 100644
index feb650b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/sum.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/syslin.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/syslin.lst
deleted file mode 100644
index cdf1251..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/syslin.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: SYSLIN
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tan.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tan.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tan.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tanh.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tanh.lst
deleted file mode 100644
index ac95979..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tanh.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sin
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/trace.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/trace.lst
deleted file mode 100644
index 56ae25c..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/trace.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Trace
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tril.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tril.lst
deleted file mode 100644
index 473a029..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/tril.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: TRIU
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/triu.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/triu.lst
deleted file mode 100644
index 473a029..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/triu.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: TRIU
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/type.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/type.lst
deleted file mode 100644
index 6c1fdd6..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/type.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Length
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/uint16.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/uint16.lst
deleted file mode 100644
index a6f3e4f..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/uint16.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Uint16
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/uint8.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/uint8.lst
deleted file mode 100644
index 8ba5c86..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/uint8.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Uint8
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/variance.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/variance.lst
deleted file mode 100644
index feb650b..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/variance.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Sum
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/variancef.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/variancef.lst
deleted file mode 100644
index effa0b5..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/variancef.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Meanf
diff --git a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/zeros.lst b/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/zeros.lst
deleted file mode 100644
index 7e224c4..0000000
--- a/SCI2CTmpResultsReports/SCI2CLib/CFunctionList/Functions/zeros.lst
+++ /dev/null
@@ -1 +0,0 @@
-CLASS: Zeros
diff --git a/SCI2CTmpResultsReports/SharedInfo.dat b/SCI2CTmpResultsReports/SharedInfo.dat
deleted file mode 100644
index 318f11b..0000000
--- a/SCI2CTmpResultsReports/SharedInfo.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/lengthfinder/lengthfinder.ast b/SCI2CTmpResultsReports/lengthfinder/lengthfinder.ast
deleted file mode 100644
index b452681..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/lengthfinder.ast
+++ /dev/null
@@ -1,48 +0,0 @@
-Program
-Name : lengthfinder
-Outputs: <empty>
-Inputs : <empty>
-Statements
- <EOL>
- Equal
- Expression:
- Operation
- Operands:
- Number_x: 1
- Number_x: 5
- Operator: :
- EndOperation
- Lhs :
- Variable: x
- EndEqual
- <EOL>
- Equal
- Expression:
- Funcall : length
- #lhs : 1
- Rhs :
- Variable: x
- EndFuncall
- Lhs :
- Variable: y
- EndEqual
- <EOL>
- Equal
- Expression:
- Funcall : disp
- #lhs : 1
- Rhs :
- Variable: y
- EndFuncall
- Lhs :
- Variable: ans1
- EndEqual
- <EOL>
- <EOL>
- Funcall : return
- #lhs : 0
- Rhs :
- <empty>
- EndFuncall
- <EOL>
-EndProgram
diff --git a/SCI2CTmpResultsReports/lengthfinder/lengthfinder_copy.sci b/SCI2CTmpResultsReports/lengthfinder/lengthfinder_copy.sci
deleted file mode 100644
index f25cf64..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/lengthfinder_copy.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-function lengthfinder()
- x=1:5;
- y=length(x);
- disp(y)
-endfunction
diff --git a/SCI2CTmpResultsReports/lengthfinder/main.h b/SCI2CTmpResultsReports/lengthfinder/main.h
deleted file mode 100644
index 243f2b8..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/main.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-** ************************************************
-** This file has been generated using
-** Scilab2C (Version 2.3)
-**
-** Please visit following links for more informations:
-** Atoms Module: http://atoms.scilab.org/toolboxes/scilab2c
-** Scilab2C Forge: http://forge.scilab.org/index.php/p/scilab2c/
-** Scilab2C ML: http://forge.scilab.org/index.php/p/scilab2c/
-** ************************************************
-*/
-
-
-#ifndef main_h
-#define main_h
-/*
-** -------------------
-** ----- Target ------
-** -------------------
-*/
-#define StandAlone1 1
-/*
-** -----------------------
-** --- SCI2C Includes. ---
-** -----------------------
-*/
-#include "sci2clib.h"
-/*
-** ---------------------------
-** --- End SCI2C Includes. ---
-** ---------------------------
-*/
-
-
-/*
-** -------------------
-** --- Prototypes. ---
-** -------------------
-*/
-int main();
-/*
-** -----------------------
-** --- End Prototypes. ---
-** -----------------------
-*/
-
-
-/*
-** ------------------------
-** --- USER2C Includes. ---
-** ------------------------
-*/
-/*
-** ----------------------------
-** --- End USER2C Includes. ---
-** ----------------------------
-*/
-#endif
diff --git a/SCI2CTmpResultsReports/lengthfinder/main.rpt b/SCI2CTmpResultsReports/lengthfinder/main.rpt
deleted file mode 100644
index e484720..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/main.rpt
+++ /dev/null
@@ -1,561 +0,0 @@
-***Get default precision from: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/lengthfinder_copy.sci
-Annotation for default precision not found.
-Using the "DOUBLE" default precision.
-***Get resize approach from: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/lengthfinder_copy.sci
-Annotation for resize approach not found.
-Using the 'NO_RESIZE' resize approach.
-
-***Putting Input and Output arguments in the local symbol table***
-
-***Generating C code***
- C call after output scalar args check: int main(
- C call after input args analysis: int main(
- C call after output args analysis: int main(
- int main()
- {
- ==> Handling EOL
-
-########################################################################################
-########################################################################################
-########################################################################################
-########################################################################################
- ==> Handling Funcall/Operation/Equal
-***Retrieving Operation Parameters from AST***
-
-***Reading AST***
-Operation Name: OpColon
-N Intput Arguments: 2
-N Output Arguments: 1
-Input Argument Number 1: 1
- Scope: Number_x
-Input Argument Number 2: 5
- Scope: Number_x
-
-***Reading function annotations***
- Function belongs to class: OpColon.
- Line 1 - Function NInArg Annotation: "NIN= 2 "
- Line 2 - Function NOutArg Annotation: "NOUT= 1 "
- Line 3 - Function Type Annotation: "OUT(1).TP= FA_TP_MIN_REAL(IN(1).TP,IN(2).TP) "
- Line 4 - Function Size Annotation: "OUT(1).TP= FA_TP_MIN_REAL(IN(1).TP,IN(2).TP) "
- Line 5 - Function Size Annotation: "OUT(1).SZ(1)= '1' "
- Line 6 - Function Size Annotation: "OUT(1).SZ(2)= FA_SZ_FROM_VAL(FA_ADD(FA_SUB(FA_REAL(IN(2).VAL,IN(2).TP),FA_REAL(IN(1).VAL,IN(1).TP)),'1'),FA_TP_REAL(IN(2).TP)) "
-***Search for Equal Lhs and precision specifier to be applied to the current function.***
-
- Checking presence of Equal after the current function...
-...Found Equal.
-OutArg Names will be replaced with Lhs Names of the Equal.
-
-***Analyzing Input Arguments***
-Input Argument 1 is a number: 1.
- Type: d
- Size(1): 1
- Size(2): 1
- Value: 1
- FindLike: 0
- Dimension: 0
- Scope: Number
-Input Argument 2 is a number: 5.
- Type: d
- Size(1): 1
- Size(2): 1
- Value: 5
- FindLike: 0
- Dimension: 0
- Scope: Number
- Generating Out Arg names.
-Using Equal Lhs names.
- Pushing in the AST stack: "Variable: x".
-
-***Getting output arguments info from the symbol table***
- Symbol "x"
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat.
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/GBLVAR.dat.
- Type: d
- Size(1): 1
- Size(2): 5
- Value: Nan
- FindLike: 0
- Dimension: 2
- Scope: Local
-
-
-***Checking if the current function is handling for counter variables.***
-
-***Checking if the current function is handling while counter variables.***
-
-***Putting output arguments in the symbol table***
- Symbol "x"
- Type: d
- Size(1): 1
- Size(2): 5
- Value: Nan
- FindLike: 0
- Dimension: 2
- Scope: Local
-
- Setting symbol "x" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
-
-***Generating C declaration***
- double x[1 * 5];
- int __xSize[2] = {1, 5};;
- Writing C declaration in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_declarations.c
-
-***Allocating memory for temp variables***
- C Function Name: d0d0OpColond2
-
-***Updating C Function List***
- C Function Name: d0d0OpColond2
- Found C Function Name in : /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/FunctionList/SCI2CAvailableC.dat
-
-***Generating C code***
- C call after output scalar args check: d0d0OpColond2(
- C call after input args analysis: d0d0OpColond2(1,5,
- C call after output args analysis: d0d0OpColond2(1,5,x,
- d0d0OpColond2(1,5,x);
-
-***Reading Equal Rhs Names***
- ==> Handling Funcall/Operation/Equal
-***Retrieving Equal Parameters from AST***
-
-***Reading AST***
-Function Name: OpEqual
-N Intput Arguments: 1
-N Output Arguments: 1
-Input Argument Number 1: x
- Scope: Variable
-Output Argument Number 1: x
- Scope: Variable
-***Search for Equal Lhs and precision specifier to be applied to the current function.***
-...Equal not found.
-
-***Analyzing Input Arguments***
-Input Argument 1 is a symbol: x.
-Searching "x" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat.
-Searching "x" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
-...Found in: "/home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- Type: d
- Size(1): 1
- Size(2): 5
- Value: Nan
- FindLike: 0
- Dimension: 2
- Scope: Local
- Generating Out Arg names.
-Generating temporary variables.
-
-***Getting output arguments info from the symbol table***
- Symbol "x"
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat.
- ...found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- Type: d
- Size(1): 1
- Size(2): 5
- Value: Nan
- FindLike: 0
- Dimension: 2
- Scope: Local
-
-
-***Checking if the current function is handling for counter variables.***
-
-***Checking if the current function is handling while counter variables.***
-
-***Putting output arguments in the symbol table***
- Symbol "x"
- Type: d
- Size(1): 1
- Size(2): 5
- Value: Nan
- FindLike: 0
- Dimension: 2
- Scope: Local
-
- Setting symbol "x" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- C Function Name: d2OpEquald2
-
-***Updating C Function List***
- C Function Name: d2OpEquald2
- Current function will not be inserted in the Function List.
-
-***Generating C code***
- Skipping code generating because already generated in the previous function.
- ==> Handling EOL
-
-########################################################################################
-########################################################################################
-########################################################################################
-########################################################################################
- ==> Handling Funcall/Operation/Equal
-***Retrieving Funcall Parameters from AST***
- Parsing Funcall structure
-Function Name: length
-N Intput Arguments: 1
-N Output Arguments: 1
-Input Argument Number 1: x
- Scope: Variable
-
-***Reading function annotations***
- Function belongs to class: Length.
- Line 1 - Function NInArg Annotation: "NIN= 1 "
- Line 2 - Function NOutArg Annotation: "NOUT= 1 "
- Line 3 - Function Type Annotation: "OUT(1).TP= FA_TP_USER "
- Line 4 - Function Size Annotation: "OUT(1).TP= FA_TP_USER "
- Line 5 - Function Size Annotation: "OUT(1).SZ(1)= '1' "
- Line 6 - Function Size Annotation: "OUT(1).SZ(2)= '1' "
-***Search for Equal Lhs and precision specifier to be applied to the current function.***
-
- Checking presence of precision specifier
-Function is not annotated
-The "d" default precision will be used.
-
- Checking presence of Equal after the current function...
-...Found Equal.
-OutArg Names will be replaced with Lhs Names of the Equal.
-
-***Analyzing Input Arguments***
-Input Argument 1 is a symbol: x.
-Searching "x" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat.
-Searching "x" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
-...Found in: "/home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- Type: d
- Size(1): 1
- Size(2): 5
- Value: Nan
- FindLike: 0
- Dimension: 2
- Scope: Local
- Generating Out Arg names.
-Using Equal Lhs names.
- Pushing in the AST stack: "Variable: y".
-
-***Getting output arguments info from the symbol table***
- Symbol "y"
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat.
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/GBLVAR.dat.
- Type: d
- Size(1): 1
- Size(2): 1
- Value: Nan
- FindLike: 0
- Dimension: 0
- Scope: Local
-
-
-***Checking if the current function is handling for counter variables.***
-
-***Checking if the current function is handling while counter variables.***
-
-***Putting output arguments in the symbol table***
- Symbol "y"
- Type: d
- Size(1): 1
- Size(2): 1
- Value: Nan
- FindLike: 0
- Dimension: 0
- Scope: Local
-
- Setting symbol "y" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
-
-***Generating C declaration***
- double y;
- Writing C declaration in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_declarations.c
-
-***Allocating memory for temp variables***
- C Function Name: d2lengthd0
-
-***Updating C Function List***
- C Function Name: d2lengthd0
- Found C Function Name in : /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/FunctionList/SCI2CAvailableC.dat
-
-***Generating C code***
- C call after output scalar args check: y = d2lengthd0(
- C call after input args analysis: y = d2lengthd0(x, __xSize,
- C call after output args analysis: y = d2lengthd0(x, __xSize,
- y = d2lengthd0(x, __xSize);
-
-***Reading Equal Rhs Names***
- ==> Handling Funcall/Operation/Equal
-***Retrieving Equal Parameters from AST***
-
-***Reading AST***
-Function Name: OpEqual
-N Intput Arguments: 1
-N Output Arguments: 1
-Input Argument Number 1: y
- Scope: Variable
-Output Argument Number 1: y
- Scope: Variable
-***Search for Equal Lhs and precision specifier to be applied to the current function.***
-...Equal not found.
-
-***Analyzing Input Arguments***
-Input Argument 1 is a symbol: y.
-Searching "y" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat.
-Searching "y" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
-...Found in: "/home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- Type: d
- Size(1): 1
- Size(2): 1
- Value: Nan
- FindLike: 0
- Dimension: 0
- Scope: Local
- Generating Out Arg names.
-Generating temporary variables.
-
-***Getting output arguments info from the symbol table***
- Symbol "y"
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat.
- ...found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- Type: d
- Size(1): 1
- Size(2): 1
- Value: Nan
- FindLike: 0
- Dimension: 0
- Scope: Local
-
-
-***Checking if the current function is handling for counter variables.***
-
-***Checking if the current function is handling while counter variables.***
-
-***Putting output arguments in the symbol table***
- Symbol "y"
- Type: d
- Size(1): 1
- Size(2): 1
- Value: Nan
- FindLike: 0
- Dimension: 0
- Scope: Local
-
- Setting symbol "y" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- C Function Name: d0OpEquald0
-
-***Updating C Function List***
- C Function Name: d0OpEquald0
- Current function will not be inserted in the Function List.
-
-***Generating C code***
- Skipping code generating because already generated in the previous function.
- ==> Handling EOL
-
-########################################################################################
-########################################################################################
-########################################################################################
-########################################################################################
- ==> Handling Funcall/Operation/Equal
-***Retrieving Funcall Parameters from AST***
- Parsing Funcall structure
-Function Name: disp
-N Intput Arguments: 1
-N Output Arguments: 1
-Input Argument Number 1: y
- Scope: Variable
-
-***Reading function annotations***
- Function belongs to class: Disp.
- Line 1 - Function NInArg Annotation: "NIN= 1 "
- Line 3 - Function Type Annotation: "OUT(1).TP= 'd' "
- Line 4 - Function Size Annotation: "OUT(1).TP= 'd' "
- Line 5 - Function Size Annotation: "OUT(1).SZ(1)= '1' "
- Line 6 - Function Size Annotation: "OUT(1).SZ(2)= '1' "
-***Search for Equal Lhs and precision specifier to be applied to the current function.***
-
- Checking presence of Equal after the current function...
-...Found Equal.
-OutArg Names will be replaced with Lhs Names of the Equal.
-
-***Analyzing Input Arguments***
-Input Argument 1 is a symbol: y.
-Searching "y" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat.
-Searching "y" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
-...Found in: "/home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- Type: d
- Size(1): 1
- Size(2): 1
- Value: Nan
- FindLike: 0
- Dimension: 0
- Scope: Local
- Generating Out Arg names.
-Using Equal Lhs names.
- Pushing in the AST stack: "Variable: ans1".
-
-***Getting output arguments info from the symbol table***
- Symbol "ans1"
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat.
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/GBLVAR.dat.
- Type: d
- Size(1): 1
- Size(2): 1
- Value: Nan
- FindLike: 0
- Dimension: 0
- Scope: Local
-
-
-***Checking if the current function is handling for counter variables.***
-
-***Checking if the current function is handling while counter variables.***
-
-***Putting output arguments in the symbol table***
- Symbol "ans1"
- Type: d
- Size(1): 1
- Size(2): 1
- Value: Nan
- FindLike: 0
- Dimension: 0
- Scope: Local
-
- Setting symbol "ans1" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
-
-***Generating C declaration***
- double ans1;
- Writing C declaration in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_declarations.c
-
-***Allocating memory for temp variables***
- C Function Name: d0disp
-
-***Updating C Function List***
- C Function Name: d0disp
- Found C Function Name in : /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/FunctionList/SCI2CAvailableC.dat
-
-***Generating C code***
- C call after output scalar args check: d0disp(
- C call after input args analysis: d0disp(y,
- C call after output args analysis: d0disp(y,
- d0disp(y);
-
-***Reading Equal Rhs Names***
- ==> Handling Funcall/Operation/Equal
-***Retrieving Equal Parameters from AST***
-
-***Reading AST***
-Function Name: OpEqual
-N Intput Arguments: 1
-N Output Arguments: 1
-Input Argument Number 1: ans1
- Scope: Variable
-Output Argument Number 1: ans1
- Scope: Variable
-***Search for Equal Lhs and precision specifier to be applied to the current function.***
-...Equal not found.
-
-***Analyzing Input Arguments***
-Input Argument 1 is a symbol: ans1.
-Searching "ans1" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat.
-Searching "ans1" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
-...Found in: "/home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- Type: d
- Size(1): 1
- Size(2): 1
- Value: Nan
- FindLike: 0
- Dimension: 0
- Scope: Local
- Generating Out Arg names.
-Generating temporary variables.
-
-***Getting output arguments info from the symbol table***
- Symbol "ans1"
- ...not found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat.
- ...found in: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- Type: d
- Size(1): 1
- Size(2): 1
- Value: Nan
- FindLike: 0
- Dimension: 0
- Scope: Local
-
-
-***Checking if the current function is handling for counter variables.***
-
-***Checking if the current function is handling while counter variables.***
-
-***Putting output arguments in the symbol table***
- Symbol "ans1"
- Type: d
- Size(1): 1
- Size(2): 1
- Value: Nan
- FindLike: 0
- Dimension: 0
- Scope: Local
-
- Setting symbol "ans1" in /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat.
- C Function Name: d0OpEquald0
-
-***Updating C Function List***
- C Function Name: d0OpEquald0
- Current function will not be inserted in the Function List.
-
-***Generating C code***
- Skipping code generating because already generated in the previous function.
- ==> Handling EOL
-
-########################################################################################
-########################################################################################
-########################################################################################
-########################################################################################
- ==> Handling EOL
-
-########################################################################################
-########################################################################################
-########################################################################################
-########################################################################################
- ==> Handling Funcall/Operation/Equal
-***Retrieving Funcall Parameters from AST***
- Parsing Funcall structure
-Function Name: return
-N Intput Arguments: 0
-N Output Arguments: 0
-
-***Reading function annotations***
- Function belongs to class: Return.
- Line 1 - Function NInArg Annotation: "NIN= 0 "
- Line 2 - Function NOutArg Annotation: "NOUT= 0 "
-***Search for Equal Lhs and precision specifier to be applied to the current function.***
-...Equal not found.
-
-***Analyzing Input Arguments***
- Generating Out Arg names.
-Generating temporary variables.
-
-***Getting output arguments info from the symbol table***
-
-***Checking if the current function is handling for counter variables.***
-
-***Checking if the current function is handling while counter variables.***
-
-***Putting output arguments in the symbol table***
- C Function Name: return
-
-***Updating C Function List***
- C Function Name: return
- Found C Function Name in : /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/FunctionList/SCI2CAvailableC.dat
-
-***Generating C code***
- C call after output scalar args check: return(
- C call after input args analysis: return(
- C call after output args analysis: return(
- return function of the AST is skipped.
- return(0);
- ==> Handling EOL
-
-########################################################################################
-########################################################################################
-########################################################################################
-########################################################################################
- ==> Handling EndProgram
- }
- Closing: /home/ankitraj1996/Documents/Scilab2C/2.3-1/SCI2CTmpResultsReports/lengthfinder/lengthfinder_copy.sci
- ==> Joining declaration and C-call files
-Generating the final C code in:/home/ankitraj1996/Documents/Scilab2C/2.3-1/main.c
diff --git a/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat b/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat
deleted file mode 100644
index 7d45925..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/main_LOCVAR.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat b/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat
deleted file mode 100644
index 4320252..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/main_TMPVAR.dat
+++ /dev/null
Binary files differ
diff --git a/SCI2CTmpResultsReports/lengthfinder/main_declarations.c b/SCI2CTmpResultsReports/lengthfinder/main_declarations.c
deleted file mode 100644
index f13612f..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/main_declarations.c
+++ /dev/null
@@ -1,8 +0,0 @@
-
- double x[1 * 5];
- int __xSize[2] = {1, 5};;
-
- double y;
-
- double ans1;
-
diff --git a/SCI2CTmpResultsReports/lengthfinder/main_globaldeclarations.c b/SCI2CTmpResultsReports/lengthfinder/main_globaldeclarations.c
deleted file mode 100644
index 8d1c8b6..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/main_globaldeclarations.c
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/SCI2CTmpResultsReports/lengthfinder/main_initvars.c b/SCI2CTmpResultsReports/lengthfinder/main_initvars.c
deleted file mode 100644
index 8d1c8b6..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/main_initvars.c
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/SCI2CTmpResultsReports/lengthfinder/main_pass1.c b/SCI2CTmpResultsReports/lengthfinder/main_pass1.c
deleted file mode 100644
index 2f776db..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/main_pass1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- SCI2C: ------------------------------------------------------------------
- SCI2C: function lengthfinder()
- SCI2C: ------------------------------------------------------------------
-*/
-int main()
-{
-
- d0d0OpColond2(1,5,x);
-
- y = d2lengthd0(x, __xSize);
-
- d0disp(y);
-
-
-
- /*
- ** ---------------------
- ** --- Free Section. ---
- ** ---------------------
- */
- /*
- ** -------------------------
- ** --- End Free Section. ---
- ** -------------------------
- */
-
- return(0);
-
-}
diff --git a/SCI2CTmpResultsReports/lengthfinder/main_pass1free.c b/SCI2CTmpResultsReports/lengthfinder/main_pass1free.c
deleted file mode 100644
index 1c8d248..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/main_pass1free.c
+++ /dev/null
@@ -1,12 +0,0 @@
-
- /*
- ** ---------------------
- ** --- Free Section. ---
- ** ---------------------
- */
- /*
- ** -------------------------
- ** --- End Free Section. ---
- ** -------------------------
- */
-
diff --git a/SCI2CTmpResultsReports/lengthfinder/main_pass2.c b/SCI2CTmpResultsReports/lengthfinder/main_pass2.c
deleted file mode 100644
index a7eef15..0000000
--- a/SCI2CTmpResultsReports/lengthfinder/main_pass2.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-** -------------------------------------
-** --- Global Variables Declaration. ---
-** -------------------------------------
-*/
-
-
-/*
-** -----------------------------------------
-** --- End Global Variables Declaration. ---
-** -----------------------------------------
-*/
-
-/*
- SCI2C: ------------------------------------------------------------------
- SCI2C: function lengthfinder()
- SCI2C: ------------------------------------------------------------------
-*/
-int main()
-{
-/*
-** -----------------------------
-** --- Variable Declaration. ---
-** -----------------------------
-*/
-
- double x[1 * 5];
- int __xSize[2] = {1, 5};;
-
- double y;
-
- double ans1;
-
-
-
-
-/*
-** ---------------------------------
-** --- End Variable Declaration. ---
-** ---------------------------------
-*/
-/*
-** ---------------
-** --- C code. ---
-** ---------------
-*/
-
- d0d0OpColond2(1,5,x);
-
- y = d2lengthd0(x, __xSize);
-
- d0disp(y);
-
-
-
- /*
- ** ---------------------
- ** --- Free Section. ---
- ** ---------------------
- */
- /*
- ** -------------------------
- ** --- End Free Section. ---
- ** -------------------------
- */
-
- return(0);
-
-}
-
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/cosine.sci b/cosine.sci
deleted file mode 100644
index bc74f36..0000000
--- a/cosine.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-function cosine()
- x=%pi/3;
- y=cos(x);
- disp(y)
-endfunction
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRADCSetup.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRADCSetup" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRADCSetup</refname>
+ <refpurpose>Function to initialise ADC of AVR</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ AVRADCSetup(uint8 prescaler, uint8 adc_ref)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>prescaler:</term>
+ <listitem><para> prescaler to be used for generating ADC clock (0-7)</para></listitem></varlistentry>
+ <varlistentry><term>adc_ref :</term>
+ <listitem><para> reference voltage to be used for ADC conversion</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+The adc_ref can take the following values-
+<itemizedlist>
+<listitem><para>0 -> Voltage on VREF pin</para></listitem>
+<listitem><para>1 -> Voltage on AVCC pin</para></listitem>
+<listitem><para>2 -> Internal 2.56 reference voltage</para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+AVRADCSetup(128,0)
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRReadADC">AVRReadADC</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRDigitalIn.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRDigitalIn" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRDigitalIn</refname>
+ <refpurpose>Function to get state (high\low) of a digital input pin on AVR</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ state=AVRDigitalIn(port,pin)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>port :</term>
+ <listitem><para> port of microcontroller to be used</para></listitem></varlistentry>
+ <varlistentry><term>pin :</term>
+ <listitem><para> pin of port (mentioned above) to be used</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+pinA0 = AVRDigitalIn(1,0) //To read state on pin 0 of port A
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRDigitalOut">AVRDigitalSetup</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRDigitalOut.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRDigitalOut" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRDigitalOut</refname>
+ <refpurpose>Function to change state (high\low) of a digital output pin on AVR</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ AVRDigitalOut(port,pin,state)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>port :</term>
+ <listitem><para> port of microcontroller to be used</para></listitem></varlistentry>
+ <varlistentry><term>pin :</term>
+ <listitem><para> pin of port (mentioned above) to be used</para></listitem></varlistentry>
+ <varlistentry><term>state :</term>
+ <listitem><para> state to be outputed on pin (HIGH\LOW)</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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'.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+AVRDigitalOut('A',0,HIGH)
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRDigitalIn">AVRDigitalIn</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRDigitalPortSetup.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRDigitalPortSetup" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRDigitalPortSetup</refname>
+ <refpurpose>Function to decide direction of port on AVR</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ AVRDigitalPortSetup(port,direction)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>port :</term>
+ <listitem><para> port of microcontroller to be used(1 for PORTA, 2 for PORTB,...)</para></listitem></varlistentry>
+ <varlistentry><term>direction :</term>
+ <listitem><para> direction to be set for pin (0 for INPUT, 1 for OUTPUT)</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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'.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+AVRDigitalPortSetup(1,0); //This function will make PortA as input port
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRDigitalIn">AVRDigitalOut</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRDigitalSetup.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRDigitalSetup" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRDigitalSetup</refname>
+ <refpurpose>Function to decide direction of a digital pin on AVR</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ AVRDigitalSetup(port,pin,direction)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>port :</term>
+ <listitem><para> port of microcontroller to be used</para></listitem></varlistentry>
+ <varlistentry><term>pin :</term>
+ <listitem><para> pin of port (mentioned above) to be used</para></listitem></varlistentry>
+ <varlistentry><term>direction :</term>
+ <listitem><para> direction to be set for pin (INPUT\OUTPUT)</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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'.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+AVRDigitalSetup('A',0,OUTPUT)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRDigitalIn">AVRDigitalOut</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRGetTimerValue.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRGetTimerValue" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRGetTimerValue</refname>
+ <refpurpose>Function to get timer count</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>timer :</term>
+ <listitem><para> timer whose current count is to be returned</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function returns the count value of a desired timer.By knowing the count value certain interrupt action can be taken.
+ </para>
+ <para>
+Timer can take the following values
+<itemizedlist>
+<listitem><para>0 -> for timer0</para></listitem>
+<listitem><para>1 -> for timer1</para></listitem>
+<listitem><para>2 -> for timer2</para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+AVRGetTimerValue(0); //returns present count of the TCNT0 counter
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRTimerSetup">AVRTimerSetup</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRPWM0SetDuty.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRPWM0SetDuty" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRPWM0SetDuty</refname>
+ <refpurpose>Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>duty :</term>
+ <listitem><para> It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+AVRPWM0SetDuty(50); //Produces 2.5V at OC0 pin
+AVRPWM0SetDuty(0); //Produces 0V at OC0 pin
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRPWM0Setup">AVRPWM0Setup</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRPWM0Setup.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRPWM0Setup" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRPWM0Setup</refname>
+ <refpurpose>Function to Setup OC0 pin for required PWM mode</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>waveform_mode:</term>
+ <listitem><para> integer, from 0 to 2</para></listitem></varlistentry>
+ <varlistentry><term>output_mode:</term>
+ <listitem><para> integer, from 0 to 1 (or 2) depending on the waveform_mode</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+waveform_mode can take values-
+<itemizedlist>
+<listitem><para>0 -> for Phase correct PWM Mode</para></listitem>
+<listitem><para>1 -> for Fast PWM Mode</para></listitem>
+<listitem><para>2 -> for CTC Mode</para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+output_mode can take values-
+<itemizedlist>
+For Phase correct PWM Mode:
+<listitem><para>0 for Clear OC0 on compare match when up-counting. Set OC0 on compare match when down-counting.</para></listitem>
+<listitem><para>1 for Set OC0 on compare match when up-counting. Clear OC0 on compare match when down-counting.</para></listitem>
+For Fast PWM Mode:
+<listitem><para>0 for non-inverted output i.e Clear OC0 on compare match, set OC0 at BOTTOM.</para></listitem>
+<listitem><para>1 for inverted output i.e Set OC0 on compare match, clear OC0 at BOTTOM.</para></listitem>
+For CTC Mode:
+<listitem><para>0 to Clear OC0 on compare match</para></listitem>
+<listitem><para>1 to Set OC0 on compare match</para></listitem>
+<listitem><para>2 to toggle OC0 on compare match</para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+AVRPWM0Setup(2,0); //This function will select CTC waveform mode and will clear OC0 on compare match
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRPWM0SetDuty">AVRPWM0SetDuty</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRPWM1SetDuty.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRPWM1SetDuty" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRPWM1SetDuty</refname>
+ <refpurpose>Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>ouput_pin:</term>
+ <listitem><para> integer, 0 (for OC1A) or 1 (for OC1B)</para></listitem></varlistentry>
+ <varlistentry><term>duty:</term>
+ <listitem><para> It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.</para></listitem></varlistentry>
+ <varlistentry><term>Top_Value:</term>
+ <listitem><para> 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)</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+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.
+</para>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRPWM1Setup">AVRPWM1Setup</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRPWM1Setup.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRPWM1Setup" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRPWM1Setup</refname>
+ <refpurpose>Function to Setup OC1A or OC1B pin for required PWM mode</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>waveform_mode:</term>
+ <listitem><para> integer, from 0 to 2</para></listitem></varlistentry>
+ <varlistentry><term>output_mode:</term>
+ <listitem><para> integer, from 0 to 1 (or 2) depending on the waveform_mode</para></listitem></varlistentry>
+ <varlistentry><term>output_pin:</term>
+ <listitem><para> 0 (for OC1A) or 1 for (OC1B)</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+waveform_mode can take values-
+<itemizedlist>
+<listitem><para>0 -> for Phase correct PWM Mode</para></listitem>
+<listitem><para>1 -> for Fast PWM Mode</para></listitem>
+<listitem><para>2 -> for CTC Mode</para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+output_mode can take values-
+<itemizedlist>
+For Phase correct PWM Mode:
+<listitem><para>0 for Clear OC1A or OC1B on compare match when up-counting. Set OC1A or OC1B on compare match when down-counting.</para></listitem>
+<listitem><para>1 for Set OC1A or OC1B on compare match when up-counting. Clear OC1A or OC1B on compare match when down-counting.</para></listitem>
+For Fast PWM Mode:
+<listitem><para>0 for non-inverted output i.e Clear OC1A or OC1B on compare match, set OC1A or OC1B at BOTTOM.</para></listitem>
+<listitem><para>1 for inverted output i.e Set OC1A or OC1B on compare match, clear OC1A or OC1B at BOTTOM.</para></listitem>
+For CTC Mode:
+<listitem><para>0 to Clear OC1A or OC1B on compare match</para></listitem>
+<listitem><para>1 to Set OC1A or OC1B on compare match</para></listitem>
+<listitem><para>2 to toggle OC1A or OC1B on compare match</para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+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.
+</para>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRPWM1SetDuty">AVRPWM1SetDuty</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRPWM2SetDuty.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRPWM2SetDuty" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRPWM2SetDuty</refname>
+ <refpurpose>Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>duty :</term>
+ <listitem><para> It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+Example
+AVRPWM2SetDuty(50); //Produces 2.5V at OC2 pin
+AVRPWM2SetDuty(0); //Produces 0V at OC2 pin
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRPWM2Setup">AVRPWM2Setup</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRPWM2Setup.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRPWM2Setup" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRPWM2Setup</refname>
+ <refpurpose>Function to Setup OC2 pin for required PWM mode</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>waveform_mode:</term>
+ <listitem><para> integer, from 0 to 2</para></listitem></varlistentry>
+ <varlistentry><term>output_mode:</term>
+ <listitem><para> integer, from 0 to 1 (or 2) depending on the waveform_mode</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+waveform_mode can take values-
+<itemizedlist>
+<listitem><para>0 -> for Phase correct PWM Mode</para></listitem>
+<listitem><para>1 -> for Fast PWM Mode</para></listitem>
+<listitem><para>2 -> for CTC Mode</para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+output_mode can take values-
+<itemizedlist>
+For Phase correct PWM Mode:
+<listitem><para>0 for Clear OC2 on compare match when up-counting. Set OC2 on compare match when down-counting.</para></listitem>
+<listitem><para>1 for Set OC2 on compare match when up-counting. Clear OC2 on compare match when down-counting.</para></listitem>
+For Fast PWM Mode:
+<listitem><para>0 for non-inverted output i.e Clear OC2 on compare match, set OC2 at BOTTOM.</para></listitem>
+<listitem><para>1 for inverted output i.e Set OC2 on compare match, clear OC2 at BOTTOM.</para></listitem>
+For CTC Mode:
+<listitem><para>0 to Clear OC2 on compare match</para></listitem>
+<listitem><para>1 to Set OC2 on compare match</para></listitem>
+<listitem><para>2 to toggle OC2 on compare match</para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+Example
+AVRPWM2Setup(2,0); //This function will select CTC waveform mode and will clear OC2 on
+compare match
+</para>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRPWM2SetDuty">AVRPWM2SetDuty</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRReadADC.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRReadADC" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRReadADC</refname>
+ <refpurpose>Function to get voltage on analog pin on AVR</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ u8AVRReadADCs(channel)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>channel :</term>
+ <listitem><para> 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</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+adc_result = u8AVRReadADC(0) //Read ADC0
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRSleep.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRSleep" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRSleep</refname>
+ <refpurpose>Function to pause the execution for the given time.</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function causes the execution to stop for the given amount of time.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+AVRSleep(5000);
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Jorawar Singh</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRTimerSetup.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRTimerSetup" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRTimerSetup</refname>
+ <refpurpose>Function to setup Timers in ATmega16</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRGetTimerValues">AVRGetTimerValues</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRUARTReceive.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRUARTReceive" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRUARTReceive</refname>
+ <refpurpose>Function to Receive Char value send to ATmega16 using UART or USART.</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function Receives Char as 8 bit value.This value is stored in UDR at receiving
+end.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+state = AVRUARTReceive(); //This function will Receive char and return the entire value
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRUARTSetup">AVRUARTSetup</link></member>
+ <member><link linkend="AVRUARTTransmit">AVRUARTTransmit</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRUARTSetup.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRUARTSetup" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRUARTSetup</refname>
+ <refpurpose>Function to Setup Serial Communication i.e UART or USART in ATmega16.</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>mode :</term>
+ <listitem><para> integer, from 0 to 2</para></listitem></varlistentry>
+ <varlistentry><term>baudrate :</term>
+ <listitem><para> Enter one of the following available baudrates (2400 , 4800 , 9600 , 14400 , 19200 , 28800 , 38400 , 57600 , 768000 , 115200 , 230400 , 250000 , 1000000)</para></listitem></varlistentry>
+ <varlistentry><term>stopbits :</term>
+ <listitem><para> integer, (0 for one stopbit) or (1 for two stopbits)</para></listitem></varlistentry>
+ <varlistentry><term>parity :</term>
+ <listitem><para> integer, from 0 to 2</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function Setup the UART or USART for Serial Communicaion between ATmega16
+and different micro controllers or between ATmega16 and Computer.
+ </para>
+ <para>
+mode can take values:
+<itemizedlist>
+<listitem><para>0 for Asynchronous Normal mode</para></listitem>
+<listitem><para>1 for Asynchronous Double Speed mode</para></listitem>
+<listitem><para>2 for Synchronous mode</para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+parity can take values:
+<itemizedlist>
+<listitem><para>0 for parity disabled</para></listitem>
+<listitem><para>1 for even parity</para></listitem>
+<listitem><para>2 for odd parity</para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+AVRUARTSetup(0,9600,0,0); //This function will enable UART Communication for ATmega16
+with 9600 as baudrate,one stop bit and parity disabled
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRUARTTransmit">AVRUARTTransmit</link></member>
+ <member><link linkend="AVRUARTReceive">AVRUARTReceive</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from AVRUARTTransmit.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="AVRUARTTransmit" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>AVRUARTTransmit</refname>
+ <refpurpose>Function to Transmit data using UART or USART.</refpurpose>
+ </refnamediv>
+
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function Tranmits data over UART or USART.The data to be transmitted can
+be a Char , String , Unsigned Int, Signed Int.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+AVRUARTTransmit("This is example"); //This function will transmit the entered string.
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="AVRUARTSetup">AVRUARTSetup</link></member>
+ <member><link linkend="AVRUARTReceive">AVRUARTReceive</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Ashish Kamble</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_AdaptiveThreshold.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_AdaptiveThreshold" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_AdaptiveThreshold</refname>
+ <refpurpose>function to adaptively threshold input image</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ dst = CV_AdaptiveThreshold(srcimg,max_value,adaptive_method,thresh_type,blk_size,c)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>src :</term>
+ <listitem><para> Source 8-bit single-channel image.</para></listitem></varlistentry>
+ <varlistentry><term>max_value :</term>
+ <listitem><para> Non-zero value assigned to the pixels for which the condition is satisfied. See the details below.</para></listitem></varlistentry>
+ <varlistentry><term>adaptive_method :</term>
+ <listitem><para> Adaptive thresholding algorithm to use, ADAPTIVE_THRESH_MEAN_C or ADAPTIVE_THRESH_GAUSSIAN_C .</para></listitem></varlistentry>
+ <varlistentry><term>thresh_type :</term>
+ <listitem><para> Thresholding type that must be either THRESH_BINARY or THRESH_BINARY_INV .</para></listitem></varlistentry>
+ <varlistentry><term>blockSize :</term>
+ <listitem><para> Size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, and so on.</para></listitem></varlistentry>
+ <varlistentry><term>C :</term>
+ <listitem><para> Constant subtracted from the mean or weighted mean.Normally, it is positive but may be zero or negative as well.</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function can be used for adaptively threshold given image
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+dst = CV_AdaptiveThreshold(img,255,"ADAPTIVE_THRESH_MEAN_C", ...
+"THRESH_BINARY",5,0)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_CreateImage</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_Blur.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_Blur" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_Blur</refname>
+ <refpurpose>function to blur image using normalised box filter</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ dst = CV_Blur(srcimg,ksize_width,ksize_height,anchor_x,anchor_y,border_type)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>srcimg :</term>
+ <listitem><para> Source image.</para></listitem></varlistentry>
+ <varlistentry><term>ksize_width, ksize_height :</term>
+ <listitem><para> blurring kernel size.</para></listitem></varlistentry>
+ <varlistentry><term>anchor_x, anchor_y :</term>
+ <listitem><para> x,y coordinates of anchor point</para></listitem></varlistentry>
+ <varlistentry><term>border_type :</term>
+ <listitem><para> border mode used to extrapolate pixels outside of the image.</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function can be used for blurring image using normalised box
+filter. Image can be of any depth and have any no of channels.
+ </para>
+ <para>
+border_type can be :
+<itemizedlist>
+<listitem>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</listitem>
+<listitem>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</listitem>
+<listitem>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</listitem>
+<listitem>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</listitem>
+<listitem>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+dst = CV_Blur(img,3,3,-1,-1,"BORDER_CONSTANT")
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_Threshold, CV_CvtColor</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_Canny.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_Canny" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_Canny</refname>
+ <refpurpose>Finds edges in image using Canny algorithm</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ edges = CV_Canny(srcimg,threhold1,threshold2,aperture_size,L2gradient)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>srcimg :</term>
+ <listitem><para> single-channel 8-bit input image.</para></listitem></varlistentry>
+ <varlistentry><term>threshold1 :</term>
+ <listitem><para> first threshold for the hysteresis procedure.</para></listitem></varlistentry>
+ <varlistentry><term>threshold2 :</term>
+ <listitem><para> second threshold for the hysteresis procedure.</para></listitem></varlistentry>
+ <varlistentry><term>aperture_size :</term>
+ <listitem><para> aperture size for the Sobel() operator.</para></listitem></varlistentry>
+ <varlistentry><term>L2gradient :</term>
+ <listitem><para> a flag, indicating whether a more accurate</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+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).
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+dst = CV_CvtColor(img,"CV_RGB2GRAY");
+edge = CV_Canny(dst,50,100,3,0);
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_CvtColor</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_CornerHarris.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_CornerHarris" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_CornerHarris</refname>
+ <refpurpose>Finds edges in image using Harris algorithm</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ edges = CV_CornerHarris(srcimg,blocksize,ksize,k,border_type)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>srcimg:</term>
+ <listitem><para> Input single-channel 8-bit or floating-point image.</para></listitem></varlistentry>
+ <varlistentry><term>blockSize:</term>
+ <listitem><para> Neighborhood size</para></listitem></varlistentry>
+ <varlistentry><term>ksize:</term>
+ <listitem><para> Aperture parameter for the Sobel() operator.</para></listitem></varlistentry>
+ <varlistentry><term>k:</term>
+ <listitem><para> Harris detector free parameter.</para></listitem></varlistentry>
+ <varlistentry><term>border_type:</term>
+ <listitem><para> border mode used to extrapolate pixels outside of the image.</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+border_type can be :
+<itemizedlist>
+<listitem>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</listitem>
+<listitem>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</listitem>
+<listitem>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</listitem>
+<listitem>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</listitem>
+<listitem>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+dst = CV_CvtColor(img,"CV_RGB2GRAY");
+edge = CV_CornerHarris(dst,5,3,1,"BORDER_REPLICATE");
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_CvtColor</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_CreateImage.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_CreateImage" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_CreateImage</refname>
+ <refpurpose>function to create an image object of given size and type</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ CV_CreateImage(image_size,bit_depth,no_of_channels)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>image_size:</term>
+ <listitem><para> width and height of image</para></listitem></varlistentry>
+ <varlistentry><term>bit_depth:</term>
+ <listitem><para> Bit depth of image elements</para></listitem></varlistentry>
+ <varlistentry><term>no_of_channels:</term>
+ <listitem><para> no of channels per pixels</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function can be used to create opencv image object. For more info about bit depth and channels,please refer to OpenCV documentation
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+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
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_LoadImage</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_CvtColor.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_CvtColor" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_CvtColor</refname>
+ <refpurpose>function to convert image from one colorspace to other colorspace</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ CV_CvtColor(srcimg,code)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>srcimg:</term>
+ <listitem><para> source image to be converted</para></listitem></varlistentry>
+ <varlistentry><term>dstimg:</term>
+ <listitem><para> destination image in which to store converted image</para></listitem></varlistentry>
+ <varlistentry><term>code:</term>
+ <listitem><para> String specifying conversion type. Same as defined in OpenCV. for eg. 'CV_RGB2GRAY' for conversion from RGB image to grayscale image</para></listitem></varlistentry>
+ <varlistentry><term>dstCn:</term>
+ <listitem><para> no of channels in destination image (0 by default)</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function can be used for converting an image to other colorspace.
+Refer OpenCV documentation for list of available conversions
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+dst = CV_CvtColor(img,'CV_RGB2GRAY')
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_CreateImage</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_Dilate.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_Dilate" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_Dilate</refname>
+ <refpurpose>dilates an image by using a specific structuring element.</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cvtimg = CV_Dilate(srcimg,dilation_type,dilation_size,[iterations,border_type,border_value])
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>src :</term>
+ <listitem><para> 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.</para></listitem></varlistentry>
+ <varlistentry><term>dilation_type :</term>
+ <listitem><para> can be one of MORPH_RECT, MORPH_CROSS,MORPH_ELLIPSE</para></listitem></varlistentry>
+ <varlistentry><term>dilation_size :</term>
+ <listitem><para> size of kernel to be used for erosion. Must be odd</para></listitem></varlistentry>
+ <varlistentry><term>iterations :</term>
+ <listitem><para> number of times erosion is applied.</para></listitem></varlistentry>
+ <varlistentry><term>border_type :</term>
+ <listitem><para> pixel extrapolation method.</para></listitem></varlistentry>
+ <varlistentry><term>border_value :</term>
+ <listitem><para> border value in case of a constant border</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+border_type can be :
+<itemizedlist>
+<listitem><para> BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh </para></listitem>
+<listitem><para> BORDER_REFLECT: fedcba|abcdefgh|hgfedcb </para></listitem>
+<listitem><para> BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba </para></listitem>
+<listitem><para> BORDER_WRAP: cdefgh|abcdefgh|abcdefg </para></listitem>
+<listitem><para> BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii </para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+dst = CV_Erode(img,"MORPH_RECT",3,1,"BORDER_CONSTANT",0);
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_Erode</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_DistanceTransform.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_DistanceTransform" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_DistanceTransform</refname>
+ <refpurpose>function to calculate distance to closest zero pixels for each pixel</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ dst = CV_DistanceTransform(srcimg,distance_type,mask_size)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>srcimg :</term>
+ <listitem><para> Source 8-bit single-channel image.</para></listitem></varlistentry>
+ <varlistentry><term>distance_type :</term>
+ <listitem><para> Type of distance. It can be CV_DIST_L1, CV_DIST_L2 , or CV_DIST_C</para></listitem></varlistentry>
+ <varlistentry><term>mask_size :</term>
+ <listitem><para> Size of the distance transform mask</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+dst = CV_DistanceTransform(img,"CV_DIST_L1",3)
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_CreateImage CV_CvtColor</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_Erode.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_Erode" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_Erode</refname>
+ <refpurpose>Erodes an image by using a specific structuring element.</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cvtimg = CV_Erode(srcimg,erosion_type,erosion_size,[iterations,border_type,border_value])
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>src :</term>
+ <listitem><para> 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.</para></listitem></varlistentry>
+ <varlistentry><term>erosion_type :</term>
+ <listitem><para> can be one of : MORPH_RECT, MORPH_CROSS, MORPH_ELLIPSE</para></listitem></varlistentry>
+ <varlistentry><term>erosion_size :</term>
+ <listitem><para> size of kernel to be used for erosion. Must be odd</para></listitem></varlistentry>
+ <varlistentry><term>iterations :</term>
+ <listitem><para> number of times erosion is applied.</para></listitem></varlistentry>
+ <varlistentry><term>border_type :</term>
+ <listitem><para> pixel extrapolation method.</para></listitem></varlistentry>
+ <varlistentry><term>border_value :</term>
+ <listitem><para> border value in case of a constant border</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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.
+ </para>
+ <para>
+border_type can be :
+<itemizedlist>
+<listitem>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</listitem>
+<listitem>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</listitem>
+<listitem>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</listitem>
+<listitem>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</listitem>
+<listitem>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+dst = CV_Erode(img,"MORPH_RECT",3,1,"BORDER_CONSTANT",0);
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_Dilate</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_GaussianBlur.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_GaussianBlur" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_GaussianBlur</refname>
+ <refpurpose>function to blur image using gaussian filter</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cvtimg = CV_GaussianBlur(srcimg,ksize_width,ksize_height,sigma_x,sigma_y,border_type)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>srcimg :</term>
+ <listitem><para> Source image.</para></listitem></varlistentry>
+ <varlistentry><term>ksize_width, ksize_height :</term>
+ <listitem><para> blurring kernel size. must be odd.</para></listitem></varlistentry>
+ <varlistentry><term>sigmaX :</term>
+ <listitem><para> Gaussian kernel standard deviation in X direction.</para></listitem></varlistentry>
+ <varlistentry><term>sigmaY :</term>
+ <listitem><para> Gaussian kernel standard deviation in Y direction;</para></listitem></varlistentry>
+ <varlistentry><term>border_type :</term>
+ <listitem><para> border mode used to extrapolate pixels outside of the image.</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function can be used for blurring image using gaussian filter. Image can be of any depth and have any no of channels.
+ </para>
+ <para>
+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.
+ </para>
+ <para>
+border_type can be :
+<itemizedlist>
+<listitem>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</listitem>
+<listitem>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</listitem>
+<listitem>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</listitem>
+<listitem>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</listitem>
+<listitem>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+dst = CV_GaussianBlur(img,3,3,0,0,"BORDER_CONSTANT")
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_Blur, CV_CvtColor</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_GetImgSize.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_GetImgSize" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_GetImgSize</refname>
+ <refpurpose>function to get size of the image (width*height)</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ CV_GetImgSize(img)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>img:</term>
+ <listitem><para> image whose size is to be returned</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+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
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+size = CV_GetImgSize(img)
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_CreateImage</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_LoadImage.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_LoadImage" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_LoadImage</refname>
+ <refpurpose>function to load an image object from given filename</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ CV_LoadImage(filename,loadtype)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>filename:</term>
+ <listitem><para> name of file to be opened</para></listitem></varlistentry>
+ <varlistentry><term>loadtype:</term>
+ <listitem><para> desired load method</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function can be used for loading a previously stored image
+ </para>
+ <para>
+loadtype can take the following values:
+<itemizedlist>
+<listitem><para> less than 0 -> image is loaded as is (with alpha channel)</para></listitem>
+<listitem><para> 0 -> image is loaded as greyscale</para></listitem>
+<listitem><para> greater than 0 -> 3 channel color image is loaded</para></listitem>
+</itemizedlist>
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+CV_LoadImage('~/test.jpg',0)
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_CreateImage">CV_CreateImage</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_MedianBlur.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_MedianBlur" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_MedianBlur</refname>
+ <refpurpose>function to blur image using median filter</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cvtimg = CV_MedianBlur(srcimg,ksize)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>srcimg :</term>
+ <listitem><para> 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.</para></listitem></varlistentry>
+ <varlistentry><term>ksize_width :</term>
+ <listitem><para> aperture linear size; it must be odd and greater than 1, for example: 3, 5, 7 ...</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function can be used for blurring image using median
+filter. Image can be of any depth and have any no of channels.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+dst = CV_MedianBlur(img,3)
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_GaussianBlur,">CV_Blur, CV_CvtColor</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_SaveImage.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_SaveImage" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_SaveImage</refname>
+ <refpurpose>function to save an image object as a given filename</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ CV_SaveImage(filename,img)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>filename:</term>
+ <listitem><para> name of file image to be saved as</para></listitem></varlistentry>
+ <varlistentry><term>img:</term>
+ <listitem><para> image to be saved</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function can be used for saving image. File format is detected
+from file extension
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+CV_SaveImage('test1.png',img)
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_CreateImage</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_ShowImage.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_ShowImage" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_ShowImage</refname>
+ <refpurpose>function to show an image</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ CV_ShowImage(img)
+ CV_ShowImage(winname,img)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>winname:</term>
+ <listitem><para> name of window in which img is to be shown</para></listitem></varlistentry>
+ <varlistentry><term>img:</term>
+ <listitem><para> image to be shown already acquired (from file/camera)</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function can be used for showing images
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+CV_ShowImage(img)
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_CreateImage">CV_LoadImage</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_Threshold.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_Threshold" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_Threshold</refname>
+ <refpurpose>function to threshold input image</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ dst = CV_Threshold(srcimg,code,threshold,max_value,thresh_type)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>srcimg:</term>
+ <listitem><para> source image to be converted</para></listitem></varlistentry>
+ <varlistentry><term>threshold:</term>
+ <listitem><para> threshold value</para></listitem></varlistentry>
+ <varlistentry><term>max_value:</term>
+ <listitem><para> maximum value to be used with THRESH_BINARY and THRESH_BINARY_INV</para></listitem></varlistentry>
+ <varlistentry><term>thresh_type:</term>
+ <listitem><para> Type for threshold. It can one of the following: THRESH_BINARY, THRESH_BINARY_INV, THRESH_TRUNC, THRESH_TOZERO, THRESH_TOZERO_INV</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function can be used for converting an image to other colorspace.
+Refer OpenCV documentation for list of available conversions
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+dst = CV_Threshold(img,100,255,'THRESH_BINARY')
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_CreateImage</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from CV_WaitKey.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="CV_WaitKey" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>CV_WaitKey</refname>
+ <refpurpose>function similar to cvWaitKey</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ CV_WaitKey(delay)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>delay:</term>
+ <listitem><para> waiting delay, if 0 then wait till keypress</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This function can be used for inseting some delay. This function must
+follow CV_ShowImage to display image.
+ </para>
+ <para>
+This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+img = CV_LoadImage('~/test.jpg',0)
+CV_ShowImage('',img)
+CV_WaitKey(0);
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="CV_LoadImage">CV_ShowImage</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Siddhesh Wani</member>
+ </simplelist>
+</refsection>
+</refentry>
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..086d349
--- /dev/null
+++ b/help/en_US/master_help.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book [
+<!--Begin Entities-->
+<!ENTITY a7b466cf4d5347f633e51a733f0f1a168 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRADCSetup.xml">
+<!ENTITY ade404b3b665f98bc73ebe7208886a6f4 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRDigitalIn.xml">
+<!ENTITY aaca8c01a70b7156b2ae86463b562fa3c SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRDigitalOut.xml">
+<!ENTITY aa9cd530e4bf4de01a70a8a8d76abc707 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRDigitalPortSetup.xml">
+<!ENTITY ae30f1c06a4abbee692b4423bb22fc7bc SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRDigitalSetup.xml">
+<!ENTITY af078d1c1044bbf067ba59f15b5a63027 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRGetTimerValue.xml">
+<!ENTITY a34111840b91dd5f14c2689fe5c258179 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRPWM0SetDuty.xml">
+<!ENTITY a6eb68eb74f8e78f731f8e674b4eb1390 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRPWM0Setup.xml">
+<!ENTITY a49dc2badf73873dc0ecee752026db407 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRPWM1SetDuty.xml">
+<!ENTITY a5f3175fef91ec1581f336de968bbec35 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRPWM1Setup.xml">
+<!ENTITY a0a1c83196d95bbe80de01a80cf377079 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRPWM2SetDuty.xml">
+<!ENTITY a10cde1c9b6859df41427903d04735550 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRPWM2Setup.xml">
+<!ENTITY a978be3c7b3c1f02e988d2a9b21e441e4 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRReadADC.xml">
+<!ENTITY a64ec0ea5fc8d6722ee29d9897054c6c4 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRSleep.xml">
+<!ENTITY a41184b2b1ee091d3d9c6251f67fc6c6f SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRTimerSetup.xml">
+<!ENTITY a3f015b4d6eb215e1689c9f38eda87aa8 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRUARTReceive.xml">
+<!ENTITY a52617e3ef335f4d203adf04737be5251 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRUARTSetup.xml">
+<!ENTITY ac5b79c05aaad679f350048aabcd868ae SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/AVRUARTTransmit.xml">
+<!ENTITY a4b50d5bc321f61760721ae6ade129c9f SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_AdaptiveThreshold.xml">
+<!ENTITY a105497ce787901446337c2e2060c1e5b SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_Blur.xml">
+<!ENTITY ad659714976caebf52f37401dd84c5fc5 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_Canny.xml">
+<!ENTITY a10c0891023433c3d4dab8fed5d0adb5b SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_CornerHarris.xml">
+<!ENTITY a11f5875ed5a13a1992433bd0e8fbefcc SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_CreateImage.xml">
+<!ENTITY a2fbd4c528b0263f1c6aa21eba663d80a SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_CvtColor.xml">
+<!ENTITY a80a1d2ed052f44069c57a54d4b64acb3 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_Dilate.xml">
+<!ENTITY a951dcde55ab990b63f2612dc497e1893 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_DistanceTransform.xml">
+<!ENTITY afca42ed96adf0d8cb8b6690858acce4d SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_Erode.xml">
+<!ENTITY a2ae1465eeae4dd56559ca82f8faf7b17 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_GaussianBlur.xml">
+<!ENTITY aa814e04831ba6aa08de1b4430ce8f403 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_GetImgSize.xml">
+<!ENTITY a9fbf27ff967d711deb0a2f8cbdc7becf SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_LoadImage.xml">
+<!ENTITY a483f0c1580d357568095ab99a20233ec SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_MedianBlur.xml">
+<!ENTITY a292b8a8f992d070ed6ee41a9f44795ad SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_SaveImage.xml">
+<!ENTITY a04f4ba8e54814e93925ee457717d2c95 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_ShowImage.xml">
+<!ENTITY aba215d2967214789de57c18aaf381a1f SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_Threshold.xml">
+<!ENTITY a50c92e4a1158997805caf76751451ea0 SYSTEM "/media/siddhesh/Data/Softwares/Ubuntu/scilab-5.5.1/share/scilab/contrib/scilab2c/Scilab2C/2.3-1/help/en_US/CV_WaitKey.xml">
+<!--End Entities-->
+]>
+<book version="5.0-subset Scilab" xml:lang="en_US"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:db="http://docbook.org/ns/docbook">
+ <info xml:id='scilab_2_c_converter_manual'>
+ <title>Scilab 2 C Converter</title>
+ </info>
+
+<part xml:id='section_0da8c7f3adca54f0475553087384b7a7'>
+<title>Scilab 2 C Converter</title>
+&a7b466cf4d5347f633e51a733f0f1a168;
+&ade404b3b665f98bc73ebe7208886a6f4;
+&aaca8c01a70b7156b2ae86463b562fa3c;
+&aa9cd530e4bf4de01a70a8a8d76abc707;
+&ae30f1c06a4abbee692b4423bb22fc7bc;
+&af078d1c1044bbf067ba59f15b5a63027;
+&a34111840b91dd5f14c2689fe5c258179;
+&a6eb68eb74f8e78f731f8e674b4eb1390;
+&a49dc2badf73873dc0ecee752026db407;
+&a5f3175fef91ec1581f336de968bbec35;
+&a0a1c83196d95bbe80de01a80cf377079;
+&a10cde1c9b6859df41427903d04735550;
+&a978be3c7b3c1f02e988d2a9b21e441e4;
+&a64ec0ea5fc8d6722ee29d9897054c6c4;
+&a41184b2b1ee091d3d9c6251f67fc6c6f;
+&a3f015b4d6eb215e1689c9f38eda87aa8;
+&a52617e3ef335f4d203adf04737be5251;
+&ac5b79c05aaad679f350048aabcd868ae;
+&a4b50d5bc321f61760721ae6ade129c9f;
+&a105497ce787901446337c2e2060c1e5b;
+&ad659714976caebf52f37401dd84c5fc5;
+&a10c0891023433c3d4dab8fed5d0adb5b;
+&a11f5875ed5a13a1992433bd0e8fbefcc;
+&a2fbd4c528b0263f1c6aa21eba663d80a;
+&a80a1d2ed052f44069c57a54d4b64acb3;
+&a951dcde55ab990b63f2612dc497e1893;
+&afca42ed96adf0d8cb8b6690858acce4d;
+&a2ae1465eeae4dd56559ca82f8faf7b17;
+&aa814e04831ba6aa08de1b4430ce8f403;
+&a9fbf27ff967d711deb0a2f8cbdc7becf;
+&a483f0c1580d357568095ab99a20233ec;
+&a292b8a8f992d070ed6ee41a9f44795ad;
+&a04f4ba8e54814e93925ee457717d2c95;
+&aba215d2967214789de57c18aaf381a1f;
+&a50c92e4a1158997805caf76751451ea0;
+</part>
+</book>
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..5283364
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRADCSetup.html
@@ -0,0 +1,88 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRADCSetup</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">&lt;&lt; Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRDigitalIn.html">AVRDigitalIn &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRADCSetup</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRADCSetup</h1>
+ <p class="refpurpose">Function to initialise ADC of AVR</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">AVRADCSetup</span><span class="default">(</span><span class="default">uint8</span> <span class="default">prescaler</span><span class="default">, </span><span class="default">uint8</span> <span class="default">adc_ref</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">prescaler:</span>
+ <dd><p class="para">prescaler to be used for generating ADC clock (0-7)</p></dd></dt>
+ <dt><span class="term">adc_ref :</span>
+ <dd><p class="para">reference voltage to be used for ADC conversion</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function initialises ADc of AVR with given parameters. &#0039;prescaler&#0039; 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. &#0039;adc_ref&#0039; selects one of the available reference voltage sources available.</p>
+ <p class="para">The adc_ref can take the following values-
+<ul class="itemizedlist"><li><p class="para">0 -&gt; Voltage on VREF pin</p></li>
+<li><p class="para">1 -&gt; Voltage on AVCC pin</p></li>
+<li><p class="para">2 -&gt; Internal 2.56 reference voltage</p></li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">AVRADCSetup</span><span class="scilabopenclose">(</span><span class="scilabnumber">128</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRReadADC.html" class="link">AVRReadADC</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li>
+ <li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">&lt;&lt; Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRDigitalIn.html">AVRDigitalIn &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..d2dad6b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRDigitalIn.html
@@ -0,0 +1,88 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRDigitalIn</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRADCSetup.html">&lt;&lt; AVRADCSetup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRDigitalOut.html">AVRDigitalOut &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRDigitalIn</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRDigitalIn</h1>
+ <p class="refpurpose">Function to get state (high\low) of a digital input pin on AVR</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">state</span><span class="default">=</span><span class="functionid">AVRDigitalIn</span><span class="default">(</span><span class="default">port</span><span class="default">,</span><span class="default">pin</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">port :</span>
+ <dd><p class="para">port of microcontroller to be used</p></dd></dt>
+ <dt><span class="term">pin :</span>
+ <dd><p class="para">pin of port (mentioned above) to be used</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Each AVR microcontroller has pins which can be configured as digital
+inputs. These are normally divided among some &#0039;ports&#0039; (group of pins).
+User has to select one of these port and which pin of that port as
+digital input.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">pinA0</span> <span class="scilaboperator">=</span> <span class="scilabid">AVRDigitalIn</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span> <span class="scilabcomment">//To read state on pin 0 of port A</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRDigitalOut.html" class="link">AVRDigitalSetup</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li>
+ <li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRADCSetup.html">&lt;&lt; AVRADCSetup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRDigitalOut.html">AVRDigitalOut &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..7bf7845
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRDigitalOut.html
@@ -0,0 +1,91 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRDigitalOut</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRDigitalIn.html">&lt;&lt; AVRDigitalIn</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRDigitalPortSetup.html">AVRDigitalPortSetup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRDigitalOut</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRDigitalOut</h1>
+ <p class="refpurpose">Function to change state (high\low) of a digital output pin on AVR</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">AVRDigitalOut</span><span class="default">(</span><span class="default">port</span><span class="default">,</span><span class="default">pin</span><span class="default">,</span><span class="default">state</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">port :</span>
+ <dd><p class="para">port of microcontroller to be used</p></dd></dt>
+ <dt><span class="term">pin :</span>
+ <dd><p class="para">pin of port (mentioned above) to be used</p></dd></dt>
+ <dt><span class="term">state :</span>
+ <dd><p class="para">state to be outputed on pin (HIGH\LOW)</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Each AVR microcontroller has pins which can be configured as digital
+outputs. These are normally divided among some &#0039;ports&#0039; (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
+&#0039;HIGH&#0039; or &#0039;LOW&#0039;.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">AVRDigitalOut</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">A</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabid">HIGH</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRDigitalIn.html" class="link">AVRDigitalIn</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li>
+ <li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRDigitalIn.html">&lt;&lt; AVRDigitalIn</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRDigitalPortSetup.html">AVRDigitalPortSetup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..2e51dd3
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRDigitalPortSetup.html
@@ -0,0 +1,89 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRDigitalPortSetup</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRDigitalOut.html">&lt;&lt; AVRDigitalOut</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRDigitalSetup.html">AVRDigitalSetup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRDigitalPortSetup</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRDigitalPortSetup</h1>
+ <p class="refpurpose">Function to decide direction of port on AVR</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">AVRDigitalPortSetup</span><span class="default">(</span><span class="default">port</span><span class="default">,</span><span class="default">direction</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">port :</span>
+ <dd><p class="para">port of microcontroller to be used(1 for PORTA, 2 for PORTB,...)</p></dd></dt>
+ <dt><span class="term">direction :</span>
+ <dd><p class="para">direction to be set for pin (0 for INPUT, 1 for OUTPUT)</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Each AVR microcontroller has pins which can be configured as digital
+outputs/inputs. These are normally divided among some &#0039;ports&#0039; (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
+&#0039;INPUT&#0039; or &#0039;OUTPUT&#0039;.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">AVRDigitalPortSetup</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabcomment">//This function will make PortA as input port</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRDigitalIn.html" class="link">AVRDigitalOut</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li>
+ <li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRDigitalOut.html">&lt;&lt; AVRDigitalOut</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRDigitalSetup.html">AVRDigitalSetup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..38e3088
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRDigitalSetup.html
@@ -0,0 +1,91 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRDigitalSetup</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRDigitalPortSetup.html">&lt;&lt; AVRDigitalPortSetup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRGetTimerValue.html">AVRGetTimerValue &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRDigitalSetup</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRDigitalSetup</h1>
+ <p class="refpurpose">Function to decide direction of a digital pin on AVR</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">AVRDigitalSetup</span><span class="default">(</span><span class="default">port</span><span class="default">,</span><span class="default">pin</span><span class="default">,</span><span class="default">direction</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">port :</span>
+ <dd><p class="para">port of microcontroller to be used</p></dd></dt>
+ <dt><span class="term">pin :</span>
+ <dd><p class="para">pin of port (mentioned above) to be used</p></dd></dt>
+ <dt><span class="term">direction :</span>
+ <dd><p class="para">direction to be set for pin (INPUT\OUTPUT)</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Each AVR microcontroller has pins which can be configured as digital
+outputs/inputs. These are normally divided among some &#0039;ports&#0039; (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
+&#0039;INPUT&#0039; or &#0039;OUTPUT&#0039;.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">AVRDigitalSetup</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">A</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabid">OUTPUT</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRDigitalIn.html" class="link">AVRDigitalOut</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li>
+ <li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRDigitalPortSetup.html">&lt;&lt; AVRDigitalPortSetup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRGetTimerValue.html">AVRGetTimerValue &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..92ebc34
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRGetTimerValue.html
@@ -0,0 +1,83 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRGetTimerValue</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRDigitalSetup.html">&lt;&lt; AVRDigitalSetup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM0SetDuty.html">AVRPWM0SetDuty &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRGetTimerValue</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRGetTimerValue</h1>
+ <p class="refpurpose">Function to get timer count</p></div>
+
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">timer :</span>
+ <dd><p class="para">timer whose current count is to be returned</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function returns the count value of a desired timer.By knowing the count value certain interrupt action can be taken.</p>
+ <p class="para">Timer can take the following values
+<ul class="itemizedlist"><li><p class="para">0 -&gt; for timer0</p></li>
+<li><p class="para">1 -&gt; for timer1</p></li>
+<li><p class="para">2 -&gt; for timer2</p></li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">AVRGetTimerValue</span><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabcomment">//returns present count of the TCNT0 counter</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRTimerSetup.html" class="link">AVRTimerSetup</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRDigitalSetup.html">&lt;&lt; AVRDigitalSetup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM0SetDuty.html">AVRPWM0SetDuty &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..5973a08
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM0SetDuty.html
@@ -0,0 +1,80 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRPWM0SetDuty</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRGetTimerValue.html">&lt;&lt; AVRGetTimerValue</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM0Setup.html">AVRPWM0Setup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRPWM0SetDuty</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRPWM0SetDuty</h1>
+ <p class="refpurpose">Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.</p></div>
+
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">duty :</span>
+ <dd><p class="para">It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">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.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">AVRPWM0SetDuty</span><span class="scilabopenclose">(</span><span class="scilabnumber">50</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Produces 2.5V at OC0 pin</span>
+<span class="scilabid">AVRPWM0SetDuty</span><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Produces 0V at OC0 pin</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRPWM0Setup.html" class="link">AVRPWM0Setup</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRGetTimerValue.html">&lt;&lt; AVRGetTimerValue</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM0Setup.html">AVRPWM0Setup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..8ceda9e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM0Setup.html
@@ -0,0 +1,98 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRPWM0Setup</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM0SetDuty.html">&lt;&lt; AVRPWM0SetDuty</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM1SetDuty.html">AVRPWM1SetDuty &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRPWM0Setup</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRPWM0Setup</h1>
+ <p class="refpurpose">Function to Setup OC0 pin for required PWM mode</p></div>
+
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">waveform_mode:</span>
+ <dd><p class="para">integer, from 0 to 2</p></dd></dt>
+ <dt><span class="term">output_mode:</span>
+ <dd><p class="para">integer, from 0 to 1 (or 2) depending on the waveform_mode</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">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.</p>
+ <p class="para">waveform_mode can take values-
+<ul class="itemizedlist"><li><p class="para">0 -&gt; for Phase correct PWM Mode</p></li>
+<li><p class="para">1 -&gt; for Fast PWM Mode</p></li>
+<li><p class="para">2 -&gt; for CTC Mode</p></li></ul></p>
+ <p class="para">output_mode can take values-
+<ul class="itemizedlist">For Phase correct PWM Mode:
+<li><p class="para">0 for Clear OC0 on compare match when up-counting. Set OC0 on compare match when down-counting.</p></li>
+<li><p class="para">1 for Set OC0 on compare match when up-counting. Clear OC0 on compare match when down-counting.</p></li>
+For Fast PWM Mode:
+<li><p class="para">0 for non-inverted output i.e Clear OC0 on compare match, set OC0 at BOTTOM.</p></li>
+<li><p class="para">1 for inverted output i.e Set OC0 on compare match, clear OC0 at BOTTOM.</p></li>
+For CTC Mode:
+<li><p class="para">0 to Clear OC0 on compare match</p></li>
+<li><p class="para">1 to Set OC0 on compare match</p></li>
+<li><p class="para">2 to toggle OC0 on compare match</p></li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">AVRPWM0Setup</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabcomment">//This function will select CTC waveform mode and will clear OC0 on compare match</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRPWM0SetDuty.html" class="link">AVRPWM0SetDuty</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM0SetDuty.html">&lt;&lt; AVRPWM0SetDuty</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM1SetDuty.html">AVRPWM1SetDuty &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..f22ccad
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM1SetDuty.html
@@ -0,0 +1,83 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRPWM1SetDuty</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM0Setup.html">&lt;&lt; AVRPWM0Setup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM1Setup.html">AVRPWM1Setup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRPWM1SetDuty</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRPWM1SetDuty</h1>
+ <p class="refpurpose">Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.</p></div>
+
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">ouput_pin:</span>
+ <dd><p class="para">integer, 0 (for OC1A) or 1 (for OC1B)</p></dd></dt>
+ <dt><span class="term">duty:</span>
+ <dd><p class="para">It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.</p></dd></dt>
+ <dt><span class="term">Top_Value:</span>
+ <dd><p class="para">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)</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">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.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para">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.</p></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRPWM1Setup.html" class="link">AVRPWM1Setup</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM0Setup.html">&lt;&lt; AVRPWM0Setup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM1Setup.html">AVRPWM1Setup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..0617a0e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM1Setup.html
@@ -0,0 +1,100 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRPWM1Setup</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM1SetDuty.html">&lt;&lt; AVRPWM1SetDuty</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM2SetDuty.html">AVRPWM2SetDuty &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRPWM1Setup</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRPWM1Setup</h1>
+ <p class="refpurpose">Function to Setup OC1A or OC1B pin for required PWM mode</p></div>
+
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">waveform_mode:</span>
+ <dd><p class="para">integer, from 0 to 2</p></dd></dt>
+ <dt><span class="term">output_mode:</span>
+ <dd><p class="para">integer, from 0 to 1 (or 2) depending on the waveform_mode</p></dd></dt>
+ <dt><span class="term">output_pin:</span>
+ <dd><p class="para">0 (for OC1A) or 1 for (OC1B)</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">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.</p>
+ <p class="para">waveform_mode can take values-
+<ul class="itemizedlist"><li><p class="para">0 -&gt; for Phase correct PWM Mode</p></li>
+<li><p class="para">1 -&gt; for Fast PWM Mode</p></li>
+<li><p class="para">2 -&gt; for CTC Mode</p></li></ul></p>
+ <p class="para">output_mode can take values-
+<ul class="itemizedlist">For Phase correct PWM Mode:
+<li><p class="para">0 for Clear OC1A or OC1B on compare match when up-counting. Set OC1A or OC1B on compare match when down-counting.</p></li>
+<li><p class="para">1 for Set OC1A or OC1B on compare match when up-counting. Clear OC1A or OC1B on compare match when down-counting.</p></li>
+For Fast PWM Mode:
+<li><p class="para">0 for non-inverted output i.e Clear OC1A or OC1B on compare match, set OC1A or OC1B at BOTTOM.</p></li>
+<li><p class="para">1 for inverted output i.e Set OC1A or OC1B on compare match, clear OC1A or OC1B at BOTTOM.</p></li>
+For CTC Mode:
+<li><p class="para">0 to Clear OC1A or OC1B on compare match</p></li>
+<li><p class="para">1 to Set OC1A or OC1B on compare match</p></li>
+<li><p class="para">2 to toggle OC1A or OC1B on compare match</p></li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para">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.</p></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRPWM1SetDuty.html" class="link">AVRPWM1SetDuty</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM1SetDuty.html">&lt;&lt; AVRPWM1SetDuty</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM2SetDuty.html">AVRPWM2SetDuty &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..15ccd20
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM2SetDuty.html
@@ -0,0 +1,81 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRPWM2SetDuty</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM1Setup.html">&lt;&lt; AVRPWM1Setup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM2Setup.html">AVRPWM2Setup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRPWM2SetDuty</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRPWM2SetDuty</h1>
+ <p class="refpurpose">Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.</p></div>
+
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">duty :</span>
+ <dd><p class="para">It holds an integer value from 0 to 100 which sets the percentage of time for which signal is active.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">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.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para">Example
+AVRPWM2SetDuty(50); //Produces 2.5V at OC2 pin
+AVRPWM2SetDuty(0); //Produces 0V at OC2 pin</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRPWM2Setup.html" class="link">AVRPWM2Setup</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM1Setup.html">&lt;&lt; AVRPWM1Setup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRPWM2Setup.html">AVRPWM2Setup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..4d30aeb
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRPWM2Setup.html
@@ -0,0 +1,97 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRPWM2Setup</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM2SetDuty.html">&lt;&lt; AVRPWM2SetDuty</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRReadADC.html">AVRReadADC &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRPWM2Setup</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRPWM2Setup</h1>
+ <p class="refpurpose">Function to Setup OC2 pin for required PWM mode</p></div>
+
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">waveform_mode:</span>
+ <dd><p class="para">integer, from 0 to 2</p></dd></dt>
+ <dt><span class="term">output_mode:</span>
+ <dd><p class="para">integer, from 0 to 1 (or 2) depending on the waveform_mode</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">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.</p>
+ <p class="para">waveform_mode can take values-
+<ul class="itemizedlist"><li><p class="para">0 -&gt; for Phase correct PWM Mode</p></li>
+<li><p class="para">1 -&gt; for Fast PWM Mode</p></li>
+<li><p class="para">2 -&gt; for CTC Mode</p></li></ul></p>
+ <p class="para">output_mode can take values-
+<ul class="itemizedlist">For Phase correct PWM Mode:
+<li><p class="para">0 for Clear OC2 on compare match when up-counting. Set OC2 on compare match when down-counting.</p></li>
+<li><p class="para">1 for Set OC2 on compare match when up-counting. Clear OC2 on compare match when down-counting.</p></li>
+For Fast PWM Mode:
+<li><p class="para">0 for non-inverted output i.e Clear OC2 on compare match, set OC2 at BOTTOM.</p></li>
+<li><p class="para">1 for inverted output i.e Set OC2 on compare match, clear OC2 at BOTTOM.</p></li>
+For CTC Mode:
+<li><p class="para">0 to Clear OC2 on compare match</p></li>
+<li><p class="para">1 to Set OC2 on compare match</p></li>
+<li><p class="para">2 to toggle OC2 on compare match</p></li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para">Example
+AVRPWM2Setup(2,0); //This function will select CTC waveform mode and will clear OC2 on
+compare match</p></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRPWM2SetDuty.html" class="link">AVRPWM2SetDuty</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM2SetDuty.html">&lt;&lt; AVRPWM2SetDuty</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRReadADC.html">AVRReadADC &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..c15b517
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRReadADC.html
@@ -0,0 +1,84 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRReadADC</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM2Setup.html">&lt;&lt; AVRPWM2Setup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRSleep.html">AVRSleep &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRReadADC</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRReadADC</h1>
+ <p class="refpurpose">Function to get voltage on analog pin on AVR</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">u8AVRReadADCs</span><span class="default">(</span><span class="default">channel</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">channel :</span>
+ <dd><p class="para">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</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function returns digital value for present on adc pins. &#0039;channel&#0039;
+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.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">adc_result</span> <span class="scilaboperator">=</span> <span class="scilabid">u8AVRReadADC</span><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span> <span class="scilabcomment">//Read ADC0</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li>
+ <li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRPWM2Setup.html">&lt;&lt; AVRPWM2Setup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRSleep.html">AVRSleep &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..ce7f140
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRSleep.html
@@ -0,0 +1,75 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRSleep</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRReadADC.html">&lt;&lt; AVRReadADC</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRTimerSetup.html">AVRTimerSetup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRSleep</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRSleep</h1>
+ <p class="refpurpose">Function to pause the execution for the given time.</p></div>
+
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function causes the execution to stop for the given amount of time.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">AVRSleep</span><span class="scilabopenclose">(</span><span class="scilabnumber">5000</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Jorawar Singh</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRReadADC.html">&lt;&lt; AVRReadADC</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRTimerSetup.html">AVRTimerSetup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..91b5c26
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRTimerSetup.html
@@ -0,0 +1,66 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRTimerSetup</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRSleep.html">&lt;&lt; AVRSleep</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRUARTReceive.html">AVRUARTReceive &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRTimerSetup</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRTimerSetup</h1>
+ <p class="refpurpose">Function to setup Timers in ATmega16</p></div>
+
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="scilab://AVRGetTimerValues" class="link">AVRGetTimerValues</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRSleep.html">&lt;&lt; AVRSleep</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRUARTReceive.html">AVRUARTReceive &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..8d6358a
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRUARTReceive.html
@@ -0,0 +1,77 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRUARTReceive</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRTimerSetup.html">&lt;&lt; AVRTimerSetup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRUARTSetup.html">AVRUARTSetup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRUARTReceive</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRUARTReceive</h1>
+ <p class="refpurpose">Function to Receive Char value send to ATmega16 using UART or USART.</p></div>
+
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function Receives Char as 8 bit value.This value is stored in UDR at receiving
+end.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">state</span> <span class="scilaboperator">=</span> <span class="scilabid">AVRUARTReceive</span><span class="scilabopenclose">(</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabcomment">//This function will Receive char and return the entire value</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRUARTSetup.html" class="link">AVRUARTSetup</a></li>
+ <li class="member"><a href="AVRUARTTransmit.html" class="link">AVRUARTTransmit</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRTimerSetup.html">&lt;&lt; AVRTimerSetup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRUARTSetup.html">AVRUARTSetup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..79f0aba
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRUARTSetup.html
@@ -0,0 +1,96 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRUARTSetup</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRUARTReceive.html">&lt;&lt; AVRUARTReceive</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRUARTTransmit.html">AVRUARTTransmit &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRUARTSetup</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRUARTSetup</h1>
+ <p class="refpurpose">Function to Setup Serial Communication i.e UART or USART in ATmega16.</p></div>
+
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">mode :</span>
+ <dd><p class="para">integer, from 0 to 2</p></dd></dt>
+ <dt><span class="term">baudrate :</span>
+ <dd><p class="para">Enter one of the following available baudrates (2400 , 4800 , 9600 , 14400 , 19200 , 28800 , 38400 , 57600 , 768000 , 115200 , 230400 , 250000 , 1000000)</p></dd></dt>
+ <dt><span class="term">stopbits :</span>
+ <dd><p class="para">integer, (0 for one stopbit) or (1 for two stopbits)</p></dd></dt>
+ <dt><span class="term">parity :</span>
+ <dd><p class="para">integer, from 0 to 2</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function Setup the UART or USART for Serial Communicaion between ATmega16
+and different micro controllers or between ATmega16 and Computer.</p>
+ <p class="para">mode can take values:
+<ul class="itemizedlist"><li><p class="para">0 for Asynchronous Normal mode</p></li>
+<li><p class="para">1 for Asynchronous Double Speed mode</p></li>
+<li><p class="para">2 for Synchronous mode</p></li></ul></p>
+ <p class="para">parity can take values:
+<ul class="itemizedlist"><li><p class="para">0 for parity disabled</p></li>
+<li><p class="para">1 for even parity</p></li>
+<li><p class="para">2 for odd parity</p></li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">AVRUARTSetup</span><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">9600</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabcomment">//This function will enable UART Communication for ATmega16</span>
+<span class="scilabid">with</span> <span class="scilabnumber">9600</span> <span class="scilabid">as</span> <span class="scilabid">baudrate</span><span class="scilabdefault">,</span><span class="scilabid">one</span> <span class="scilabid">stop</span> <span class="scilabid">bit</span> <a class="scilabcommand" href="scilab://and">and</a> <span class="scilabstring">parity</span> <span class="scilabstring">disabled</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRUARTTransmit.html" class="link">AVRUARTTransmit</a></li>
+ <li class="member"><a href="AVRUARTReceive.html" class="link">AVRUARTReceive</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRUARTReceive.html">&lt;&lt; AVRUARTReceive</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="AVRUARTTransmit.html">AVRUARTTransmit &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..b519be2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/AVRUARTTransmit.html
@@ -0,0 +1,77 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>AVRUARTTransmit</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRUARTSetup.html">&lt;&lt; AVRUARTSetup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_AdaptiveThreshold.html">CV_AdaptiveThreshold &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; AVRUARTTransmit</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">AVRUARTTransmit</h1>
+ <p class="refpurpose">Function to Transmit data using UART or USART.</p></div>
+
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function Tranmits data over UART or USART.The data to be transmitted can
+be a Char , String , Unsigned Int, Signed Int.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for AVR.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">AVRUARTTransmit</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">This is example</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabcomment">//This function will transmit the entered string.</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="AVRUARTSetup.html" class="link">AVRUARTSetup</a></li>
+ <li class="member"><a href="AVRUARTReceive.html" class="link">AVRUARTReceive</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Ashish Kamble</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRUARTSetup.html">&lt;&lt; AVRUARTSetup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_AdaptiveThreshold.html">CV_AdaptiveThreshold &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..30e236b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_AdaptiveThreshold.html
@@ -0,0 +1,94 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_AdaptiveThreshold</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRUARTTransmit.html">&lt;&lt; AVRUARTTransmit</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_Blur.html">CV_Blur &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_AdaptiveThreshold</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_AdaptiveThreshold</h1>
+ <p class="refpurpose">function to adaptively threshold input image</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">dst</span><span class="default"> = </span><span class="functionid">CV_AdaptiveThreshold</span><span class="default">(</span><span class="default">srcimg</span><span class="default">,</span><span class="default">max_value</span><span class="default">,</span><span class="default">adaptive_method</span><span class="default">,</span><span class="default">thresh_type</span><span class="default">,</span><span class="default">blk_size</span><span class="default">,</span><span class="default">c</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">src :</span>
+ <dd><p class="para">Source 8-bit single-channel image.</p></dd></dt>
+ <dt><span class="term">max_value :</span>
+ <dd><p class="para">Non-zero value assigned to the pixels for which the condition is satisfied. See the details below.</p></dd></dt>
+ <dt><span class="term">adaptive_method :</span>
+ <dd><p class="para">Adaptive thresholding algorithm to use, ADAPTIVE_THRESH_MEAN_C or ADAPTIVE_THRESH_GAUSSIAN_C .</p></dd></dt>
+ <dt><span class="term">thresh_type :</span>
+ <dd><p class="para">Thresholding type that must be either THRESH_BINARY or THRESH_BINARY_INV .</p></dd></dt>
+ <dt><span class="term">blockSize :</span>
+ <dd><p class="para">Size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, and so on.</p></dd></dt>
+ <dt><span class="term">C :</span>
+ <dd><p class="para">Constant subtracted from the mean or weighted mean.Normally, it is positive but may be zero or negative as well.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used for adaptively threshold given image</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://dst">dst</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_AdaptiveThreshold(img</span><span class="scilabdefault">,</span><span class="scilabnumber">255</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">ADAPTIVE_THRESH_MEAN_C</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabspecial">...</span>
+<span class="scilabstring">&#0034;</span><span class="scilabstring">THRESH_BINARY</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_CreateImage</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="AVRUARTTransmit.html">&lt;&lt; AVRUARTTransmit</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_Blur.html">CV_Blur &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..a76b723
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_Blur.html
@@ -0,0 +1,96 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_Blur</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_AdaptiveThreshold.html">&lt;&lt; CV_AdaptiveThreshold</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_Canny.html">CV_Canny &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_Blur</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_Blur</h1>
+ <p class="refpurpose">function to blur image using normalised box filter</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">dst</span><span class="default"> = </span><span class="functionid">CV_Blur</span><span class="default">(</span><span class="default">srcimg</span><span class="default">,</span><span class="default">ksize_width</span><span class="default">,</span><span class="default">ksize_height</span><span class="default">,</span><span class="default">anchor_x</span><span class="default">,</span><span class="default">anchor_y</span><span class="default">,</span><span class="default">border_type</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">srcimg :</span>
+ <dd><p class="para">Source image.</p></dd></dt>
+ <dt><span class="term">ksize_width, ksize_height :</span>
+ <dd><p class="para">blurring kernel size.</p></dd></dt>
+ <dt><span class="term">anchor_x, anchor_y :</span>
+ <dd><p class="para">x,y coordinates of anchor point</p></dd></dt>
+ <dt><span class="term">border_type :</span>
+ <dd><p class="para">border mode used to extrapolate pixels outside of the image.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used for blurring image using normalised box
+filter. Image can be of any depth and have any no of channels.</p>
+ <p class="para">border_type can be :
+<ul class="itemizedlist"><li>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</li>
+<li>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</li>
+<li>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</li>
+<li>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</li>
+<li>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://dst">dst</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_Blur(img</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">BORDER_CONSTANT</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_Threshold, CV_CvtColor</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_AdaptiveThreshold.html">&lt;&lt; CV_AdaptiveThreshold</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_Canny.html">CV_Canny &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..32d9e24
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_Canny.html
@@ -0,0 +1,95 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_Canny</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_Blur.html">&lt;&lt; CV_Blur</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_CornerHarris.html">CV_CornerHarris &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_Canny</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_Canny</h1>
+ <p class="refpurpose">Finds edges in image using Canny algorithm</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">edges</span><span class="default"> = </span><span class="functionid">CV_Canny</span><span class="default">(</span><span class="default">srcimg</span><span class="default">,</span><span class="default">threhold1</span><span class="default">,</span><span class="default">threshold2</span><span class="default">,</span><span class="default">aperture_size</span><span class="default">,</span><span class="default">L2gradient</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">srcimg :</span>
+ <dd><p class="para">single-channel 8-bit input image.</p></dd></dt>
+ <dt><span class="term">threshold1 :</span>
+ <dd><p class="para">first threshold for the hysteresis procedure.</p></dd></dt>
+ <dt><span class="term">threshold2 :</span>
+ <dd><p class="para">second threshold for the hysteresis procedure.</p></dd></dt>
+ <dt><span class="term">aperture_size :</span>
+ <dd><p class="para">aperture size for the Sobel() operator.</p></dd></dt>
+ <dt><span class="term">L2gradient :</span>
+ <dd><p class="para">a flag, indicating whether a more accurate</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used for finding edes in single channel 8 bit
+image. &#0039;aperture_size&#0039; and &#0039;L2gradient&#0039; are optionals. By default,
+aperture_size is 3 and L2gradient is false.</p>
+ <p class="para">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).</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://dst">dst</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_CvtColor(img</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">CV_RGB2GRAY</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabid">edge</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_Canny</span><span class="scilabopenclose">(</span><a class="scilabcommand" href="scilab://dst">dst</a><span class="scilabdefault">,</span><span class="scilabnumber">50</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_CvtColor</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_Blur.html">&lt;&lt; CV_Blur</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_CornerHarris.html">CV_CornerHarris &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..da8acd6
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_CornerHarris.html
@@ -0,0 +1,98 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_CornerHarris</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_Canny.html">&lt;&lt; CV_Canny</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_CreateImage.html">CV_CreateImage &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_CornerHarris</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_CornerHarris</h1>
+ <p class="refpurpose">Finds edges in image using Harris algorithm</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">edges</span><span class="default"> = </span><span class="functionid">CV_CornerHarris</span><span class="default">(</span><span class="default">srcimg</span><span class="default">,</span><span class="default">blocksize</span><span class="default">,</span><span class="default">ksize</span><span class="default">,</span><span class="default">k</span><span class="default">,</span><span class="default">border_type</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">srcimg:</span>
+ <dd><p class="para">Input single-channel 8-bit or floating-point image.</p></dd></dt>
+ <dt><span class="term">blockSize:</span>
+ <dd><p class="para">Neighborhood size</p></dd></dt>
+ <dt><span class="term">ksize:</span>
+ <dd><p class="para">Aperture parameter for the Sobel() operator.</p></dd></dt>
+ <dt><span class="term">k:</span>
+ <dd><p class="para">Harris detector free parameter.</p></dd></dt>
+ <dt><span class="term">border_type:</span>
+ <dd><p class="para">border mode used to extrapolate pixels outside of the image.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">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.</p>
+ <p class="para">border_type can be :
+<ul class="itemizedlist"><li>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</li>
+<li>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</li>
+<li>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</li>
+<li>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</li>
+<li>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://dst">dst</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_CvtColor(img</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">CV_RGB2GRAY</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabid">edge</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_CornerHarris</span><span class="scilabopenclose">(</span><a class="scilabcommand" href="scilab://dst">dst</a><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">BORDER_REPLICATE</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_CvtColor</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_Canny.html">&lt;&lt; CV_Canny</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_CreateImage.html">CV_CreateImage &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..22a5ff4
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_CreateImage.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_CreateImage</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_CornerHarris.html">&lt;&lt; CV_CornerHarris</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_CvtColor.html">CV_CvtColor &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_CreateImage</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_CreateImage</h1>
+ <p class="refpurpose">function to create an image object of given size and type</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">CV_CreateImage</span><span class="default">(</span><span class="default">image_size</span><span class="default">,</span><span class="default">bit_depth</span><span class="default">,</span><span class="default">no_of_channels</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">image_size:</span>
+ <dd><p class="para">width and height of image</p></dd></dt>
+ <dt><span class="term">bit_depth:</span>
+ <dd><p class="para">Bit depth of image elements</p></dd></dt>
+ <dt><span class="term">no_of_channels:</span>
+ <dd><p class="para">no of channels per pixels</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used to create opencv image object. For more info about bit depth and channels,please refer to OpenCV documentation</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">CV_CreateImage</span><span class="scilabopenclose">(</span><span class="scilabopenclose">[</span><span class="scilabnumber">320</span> <span class="scilabnumber">240</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">IPL_DEPTH_8U</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilabcomment">//to create image of the size 320*240 pixels with 8 bit unsigned each pixels and gray scale image</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_LoadImage</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_CornerHarris.html">&lt;&lt; CV_CornerHarris</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_CvtColor.html">CV_CvtColor &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..f525b7c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_CvtColor.html
@@ -0,0 +1,90 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_CvtColor</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_CreateImage.html">&lt;&lt; CV_CreateImage</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_Dilate.html">CV_Dilate &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_CvtColor</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_CvtColor</h1>
+ <p class="refpurpose">function to convert image from one colorspace to other colorspace</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">CV_CvtColor</span><span class="default">(</span><span class="default">srcimg</span><span class="default">,</span><span class="default">code</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">srcimg:</span>
+ <dd><p class="para">source image to be converted</p></dd></dt>
+ <dt><span class="term">dstimg:</span>
+ <dd><p class="para">destination image in which to store converted image</p></dd></dt>
+ <dt><span class="term">code:</span>
+ <dd><p class="para">String specifying conversion type. Same as defined in OpenCV. for eg. &#0039;CV_RGB2GRAY&#0039; for conversion from RGB image to grayscale image</p></dd></dt>
+ <dt><span class="term">dstCn:</span>
+ <dd><p class="para">no of channels in destination image (0 by default)</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used for converting an image to other colorspace.
+Refer OpenCV documentation for list of available conversions</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://dst">dst</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_CvtColor(img</span><span class="scilabdefault">,</span><span class="scilabstring">&#0039;</span><span class="scilabstring">CV_RGB2GRAY</span><span class="scilabstring">&#0039;</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_CreateImage</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_CreateImage.html">&lt;&lt; CV_CreateImage</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_Dilate.html">CV_Dilate &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..7f4a0e2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_Dilate.html
@@ -0,0 +1,99 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_Dilate</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_CvtColor.html">&lt;&lt; CV_CvtColor</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_DistanceTransform.html">CV_DistanceTransform &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_Dilate</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_Dilate</h1>
+ <p class="refpurpose">dilates an image by using a specific structuring element.</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">cvtimg</span><span class="default"> = </span><span class="functionid">CV_Dilate</span><span class="default">(</span><span class="default">srcimg</span><span class="default">,</span><span class="default">dilation_type</span><span class="default">,</span><span class="default">dilation_size</span><span class="default">,[</span><span class="default">iterations</span><span class="default">,</span><span class="default">border_type</span><span class="default">,</span><span class="default">border_value</span><span class="default">])</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">src :</span>
+ <dd><p class="para">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.</p></dd></dt>
+ <dt><span class="term">dilation_type :</span>
+ <dd><p class="para">can be one of MORPH_RECT, MORPH_CROSS,MORPH_ELLIPSE</p></dd></dt>
+ <dt><span class="term">dilation_size :</span>
+ <dd><p class="para">size of kernel to be used for erosion. Must be odd</p></dd></dt>
+ <dt><span class="term">iterations :</span>
+ <dd><p class="para">number of times erosion is applied.</p></dd></dt>
+ <dt><span class="term">border_type :</span>
+ <dd><p class="para">pixel extrapolation method.</p></dd></dt>
+ <dt><span class="term">border_value :</span>
+ <dd><p class="para">border value in case of a constant border</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">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 &#0039;iterations(1), border_type(BORDER_CONSTANT) and border_value&#0039; are optionals. Whwn not specified, default values as as mentioned in brackets.</p>
+ <p class="para">border_type can be :
+<ul class="itemizedlist"><li><p class="para">BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</p></li>
+<li><p class="para">BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</p></li>
+<li><p class="para">BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</p></li>
+<li><p class="para">BORDER_WRAP: cdefgh|abcdefgh|abcdefg</p></li>
+<li><p class="para">BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</p></li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://dst">dst</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_Erode(img</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MORPH_RECT</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">BORDER_CONSTANT</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_Erode</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_CvtColor.html">&lt;&lt; CV_CvtColor</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_DistanceTransform.html">CV_DistanceTransform &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..e08f4fc
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_DistanceTransform.html
@@ -0,0 +1,87 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_DistanceTransform</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_Dilate.html">&lt;&lt; CV_Dilate</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_Erode.html">CV_Erode &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_DistanceTransform</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_DistanceTransform</h1>
+ <p class="refpurpose">function to calculate distance to closest zero pixels for each pixel</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">dst</span><span class="default"> = </span><span class="functionid">CV_DistanceTransform</span><span class="default">(</span><span class="default">srcimg</span><span class="default">,</span><span class="default">distance_type</span><span class="default">,</span><span class="default">mask_size</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">srcimg :</span>
+ <dd><p class="para">Source 8-bit single-channel image.</p></dd></dt>
+ <dt><span class="term">distance_type :</span>
+ <dd><p class="para">Type of distance. It can be CV_DIST_L1, CV_DIST_L2 , or CV_DIST_C</p></dd></dt>
+ <dt><span class="term">mask_size :</span>
+ <dd><p class="para">Size of the distance transform mask</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">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.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://dst">dst</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_DistanceTransform(img</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">CV_DIST_L1</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_CreateImage CV_CvtColor</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_Dilate.html">&lt;&lt; CV_Dilate</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_Erode.html">CV_Erode &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..a2824c2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_Erode.html
@@ -0,0 +1,99 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_Erode</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_DistanceTransform.html">&lt;&lt; CV_DistanceTransform</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_GaussianBlur.html">CV_GaussianBlur &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_Erode</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_Erode</h1>
+ <p class="refpurpose">Erodes an image by using a specific structuring element.</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">cvtimg</span><span class="default"> = </span><span class="functionid">CV_Erode</span><span class="default">(</span><span class="default">srcimg</span><span class="default">,</span><span class="default">erosion_type</span><span class="default">,</span><span class="default">erosion_size</span><span class="default">,[</span><span class="default">iterations</span><span class="default">,</span><span class="default">border_type</span><span class="default">,</span><span class="default">border_value</span><span class="default">])</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">src :</span>
+ <dd><p class="para">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.</p></dd></dt>
+ <dt><span class="term">erosion_type :</span>
+ <dd><p class="para">can be one of : MORPH_RECT, MORPH_CROSS, MORPH_ELLIPSE</p></dd></dt>
+ <dt><span class="term">erosion_size :</span>
+ <dd><p class="para">size of kernel to be used for erosion. Must be odd</p></dd></dt>
+ <dt><span class="term">iterations :</span>
+ <dd><p class="para">number of times erosion is applied.</p></dd></dt>
+ <dt><span class="term">border_type :</span>
+ <dd><p class="para">pixel extrapolation method.</p></dd></dt>
+ <dt><span class="term">border_value :</span>
+ <dd><p class="para">border value in case of a constant border</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">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 &#0039;iterations(1), border_type(BORDER_CONSTANT) and border_value&#0039; are optionals. Whwn not specified, default values as as mentioned in brackets.</p>
+ <p class="para">border_type can be :
+<ul class="itemizedlist"><li>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</li>
+<li>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</li>
+<li>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</li>
+<li>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</li>
+<li>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://dst">dst</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_Erode(img</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MORPH_RECT</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">BORDER_CONSTANT</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_Dilate</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_DistanceTransform.html">&lt;&lt; CV_DistanceTransform</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_GaussianBlur.html">CV_GaussianBlur &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..6068323
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_GaussianBlur.html
@@ -0,0 +1,98 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_GaussianBlur</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_Erode.html">&lt;&lt; CV_Erode</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_GetImgSize.html">CV_GetImgSize &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_GaussianBlur</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_GaussianBlur</h1>
+ <p class="refpurpose">function to blur image using gaussian filter</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">cvtimg</span><span class="default"> = </span><span class="functionid">CV_GaussianBlur</span><span class="default">(</span><span class="default">srcimg</span><span class="default">,</span><span class="default">ksize_width</span><span class="default">,</span><span class="default">ksize_height</span><span class="default">,</span><span class="default">sigma_x</span><span class="default">,</span><span class="default">sigma_y</span><span class="default">,</span><span class="default">border_type</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">srcimg :</span>
+ <dd><p class="para">Source image.</p></dd></dt>
+ <dt><span class="term">ksize_width, ksize_height :</span>
+ <dd><p class="para">blurring kernel size. must be odd.</p></dd></dt>
+ <dt><span class="term">sigmaX :</span>
+ <dd><p class="para">Gaussian kernel standard deviation in X direction.</p></dd></dt>
+ <dt><span class="term">sigmaY :</span>
+ <dd><p class="para">Gaussian kernel standard deviation in Y direction;</p></dd></dt>
+ <dt><span class="term">border_type :</span>
+ <dd><p class="para">border mode used to extrapolate pixels outside of the image.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used for blurring image using gaussian filter. Image can be of any depth and have any no of channels.</p>
+ <p class="para">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.</p>
+ <p class="para">border_type can be :
+<ul class="itemizedlist"><li>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</li>
+<li>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</li>
+<li>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</li>
+<li>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</li>
+<li>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://dst">dst</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_GaussianBlur(img</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">BORDER_CONSTANT</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_Blur, CV_CvtColor</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_Erode.html">&lt;&lt; CV_Erode</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_GetImgSize.html">CV_GetImgSize &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..c61efce
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_GetImgSize.html
@@ -0,0 +1,84 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_GetImgSize</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_GaussianBlur.html">&lt;&lt; CV_GaussianBlur</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_LoadImage.html">CV_LoadImage &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_GetImgSize</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_GetImgSize</h1>
+ <p class="refpurpose">function to get size of the image (width*height)</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">CV_GetImgSize</span><span class="default">(</span><span class="default">img</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">img:</span>
+ <dd><p class="para">image whose size is to be returned</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">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</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://size">size</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_GetImgSize(img)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_CreateImage</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_GaussianBlur.html">&lt;&lt; CV_GaussianBlur</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_LoadImage.html">CV_LoadImage &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..b70dfc2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_LoadImage.html
@@ -0,0 +1,88 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_LoadImage</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_GetImgSize.html">&lt;&lt; CV_GetImgSize</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_MedianBlur.html">CV_MedianBlur &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_LoadImage</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_LoadImage</h1>
+ <p class="refpurpose">function to load an image object from given filename</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">CV_LoadImage</span><span class="default">(</span><span class="default">filename</span><span class="default">,</span><span class="default">loadtype</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">filename:</span>
+ <dd><p class="para">name of file to be opened</p></dd></dt>
+ <dt><span class="term">loadtype:</span>
+ <dd><p class="para">desired load method</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used for loading a previously stored image</p>
+ <p class="para">loadtype can take the following values:
+<ul class="itemizedlist"><li><p class="para">less than 0 -&gt; image is loaded as is (with alpha channel)</p></li>
+<li><p class="para">0 -&gt; image is loaded as greyscale</p></li>
+<li><p class="para">greater than 0 -&gt; 3 channel color image is loaded</p></li></ul></p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_CreateImage.html" class="link">CV_CreateImage</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_GetImgSize.html">&lt;&lt; CV_GetImgSize</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_MedianBlur.html">CV_MedianBlur &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..597b52d
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_MedianBlur.html
@@ -0,0 +1,86 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_MedianBlur</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_LoadImage.html">&lt;&lt; CV_LoadImage</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_SaveImage.html">CV_SaveImage &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_MedianBlur</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_MedianBlur</h1>
+ <p class="refpurpose">function to blur image using median filter</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">cvtimg</span><span class="default"> = </span><span class="functionid">CV_MedianBlur</span><span class="default">(</span><span class="default">srcimg</span><span class="default">,</span><span class="default">ksize</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">srcimg :</span>
+ <dd><p class="para">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.</p></dd></dt>
+ <dt><span class="term">ksize_width :</span>
+ <dd><p class="para">aperture linear size; it must be odd and greater than 1, for example: 3, 5, 7 ...</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used for blurring image using median
+filter. Image can be of any depth and have any no of channels.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://dst">dst</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_MedianBlur(img</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="scilab://CV_GaussianBlur," class="link">CV_Blur, CV_CvtColor</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_LoadImage.html">&lt;&lt; CV_LoadImage</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_SaveImage.html">CV_SaveImage &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..4927445
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_SaveImage.html
@@ -0,0 +1,86 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_SaveImage</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_MedianBlur.html">&lt;&lt; CV_MedianBlur</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_ShowImage.html">CV_ShowImage &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_SaveImage</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_SaveImage</h1>
+ <p class="refpurpose">function to save an image object as a given filename</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">CV_SaveImage</span><span class="default">(</span><span class="default">filename</span><span class="default">,</span><span class="default">img</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">filename:</span>
+ <dd><p class="para">name of file image to be saved as</p></dd></dt>
+ <dt><span class="term">img:</span>
+ <dd><p class="para">image to be saved</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used for saving image. File format is detected
+from file extension</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<span class="scilabid">CV_SaveImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">test1.png</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabid">img</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_CreateImage</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_MedianBlur.html">&lt;&lt; CV_MedianBlur</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_ShowImage.html">CV_ShowImage &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..72347d1
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_ShowImage.html
@@ -0,0 +1,86 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_ShowImage</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_SaveImage.html">&lt;&lt; CV_SaveImage</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_Threshold.html">CV_Threshold &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_ShowImage</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_ShowImage</h1>
+ <p class="refpurpose">function to show an image</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">CV_ShowImage</span><span class="default">(</span><span class="default">img</span><span class="default">)</span>
+<span class="functionid">CV_ShowImage</span><span class="default">(</span><span class="default">winname</span><span class="default">,</span><span class="default">img</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">winname:</span>
+ <dd><p class="para">name of window in which img is to be shown</p></dd></dt>
+ <dt><span class="term">img:</span>
+ <dd><p class="para">image to be shown already acquired (from file/camera)</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used for showing images</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<span class="scilabid">CV_ShowImage</span><span class="scilabopenclose">(</span><span class="scilabid">img</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_CreateImage.html" class="link">CV_LoadImage</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_SaveImage.html">&lt;&lt; CV_SaveImage</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_Threshold.html">CV_Threshold &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..c74eb0c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_Threshold.html
@@ -0,0 +1,90 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_Threshold</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_ShowImage.html">&lt;&lt; CV_ShowImage</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_WaitKey.html">CV_WaitKey &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_Threshold</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_Threshold</h1>
+ <p class="refpurpose">function to threshold input image</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">dst</span><span class="default"> = </span><span class="functionid">CV_Threshold</span><span class="default">(</span><span class="default">srcimg</span><span class="default">,</span><span class="default">code</span><span class="default">,</span><span class="default">threshold</span><span class="default">,</span><span class="default">max_value</span><span class="default">,</span><span class="default">thresh_type</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">srcimg:</span>
+ <dd><p class="para">source image to be converted</p></dd></dt>
+ <dt><span class="term">threshold:</span>
+ <dd><p class="para">threshold value</p></dd></dt>
+ <dt><span class="term">max_value:</span>
+ <dd><p class="para">maximum value to be used with THRESH_BINARY and THRESH_BINARY_INV</p></dd></dt>
+ <dt><span class="term">thresh_type:</span>
+ <dd><p class="para">Type for threshold. It can one of the following: THRESH_BINARY, THRESH_BINARY_INV, THRESH_TRUNC, THRESH_TOZERO, THRESH_TOZERO_INV</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used for converting an image to other colorspace.
+Refer OpenCV documentation for list of available conversions</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://dst">dst</a> <span class="scilabstring">=</span> <span class="scilabstring">CV_Threshold(img</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabdefault">,</span><span class="scilabnumber">255</span><span class="scilabdefault">,</span><span class="scilabstring">&#0039;</span><span class="scilabstring">THRESH_BINARY</span><span class="scilabstring">&#0039;</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_CreateImage</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_ShowImage.html">&lt;&lt; CV_ShowImage</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="CV_WaitKey.html">CV_WaitKey &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..5e82971
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/CV_WaitKey.html
@@ -0,0 +1,83 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>CV_WaitKey</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_Threshold.html">&lt;&lt; CV_Threshold</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; <a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a> &gt; CV_WaitKey</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">CV_WaitKey</h1>
+ <p class="refpurpose">function similar to cvWaitKey</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">CV_WaitKey</span><span class="default">(</span><span class="default">delay</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">delay:</span>
+ <dd><p class="para">waiting delay, if 0 then wait till keypress</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This function can be used for inseting some delay. This function must
+follow CV_ShowImage to display image.</p>
+ <p class="para">This is curretly dummy function. It provides no functionality but is required
+for providing support for generating C code for OpenCV</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">img</span> <span class="scilaboperator">=</span> <span class="scilabid">CV_LoadImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">~/test.jpg</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<span class="scilabid">CV_ShowImage</span><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">&#0039;</span><span class="scilabdefault">,</span><span class="scilabid">img</span><span class="scilabopenclose">)</span>
+<span class="scilabid">CV_WaitKey</span><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="CV_LoadImage.html" class="link">CV_ShowImage</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Siddhesh Wani</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="CV_Threshold.html">&lt;&lt; CV_Threshold</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_0da8c7f3adca54f0475553087384b7a7.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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..3b891a0
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS
Binary files 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..3c84a71
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB
@@ -0,0 +1,2 @@
+eÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÿÿÿÿÿÿÿÿý×ÿÿÿÿÿÿÿ÷_ÿÿÿÿÿÿ÷_ÿuÿ}ÿÿÿý×ÿÿÿÿÿuÿÿÿÿÿÿuÿÿÿÿý×ýÕõÿÿÿ÷_ýÕ×ÿÿ÷_ÿÿuÿÿÿÿÿÿÿÿý×ÿÿÿÿÿÿÿÿÿ÷_ÿÿÿÿÿÿÿÿÝÿÿÿÿ÷_ÿÿÿuÿÿÝÿÿÿÿÿÿÿý×ÿÿu÷_ÿÿÿ÷_uÿÿÿ÷_ý×ÿÝÿuÿÿ@<oñxo]á±a‘a±uq(dÈV*ªªª‡†D¡¼K4¨l[*ªÿüÂÿ±bŽ8oÅñ¿¨ch_/8lLdHhO¬ß/áRÆ—*£
+<¸â£J£J0dN†Dª>¥ÆâÍ,dU†üâüÒüÒ³¥Íuب`Hér画|»>¡a¤©Òÿ,Ê,䪢̪ªºªeʪŒ/¨âªŽ*¸å(å(Òªªº7*¨ÒÍe8¿ÿ9rÿÿÏRó2óËÿÎ/ñ‘rÎг ÿÎ/:]¿6è³ 6¦F_ÿÿÿÆ—Ëÿÿ0¿ÿó2ÿÿó 4¿ÿÿÿÿüÖ/ÍËÿÍ/=Kÿÿ9}”¿üȳ ÿüÂÿÿó—/ÿüå/9KÿÿÿÿüåË2/ÿÿ9Kÿ4¿ÿ4¿ÿÍËÿý€ \ 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..5675c21
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS
@@ -0,0 +1 @@
+ˆåS+mž]E&ÉM?ã>îY’Ó16Í2S­òQ@€4àË`‘‰,qiüœý‹Ê½] qHQõû&¯1±å`pþ,c—YßN²¸sOlr˜þM+™3ý·&M¶5sîaª{s ÍዯÇã%cW?¬Š•«V` \ 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..8fef32c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS
Binary files 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..069c99b
--- /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=729 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..3e33f3e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP
Binary files 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..a9e4ff3
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/ScilabCaution.png
Binary files 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..188e1c1
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/ScilabEdit.png
Binary files 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..a7de0fe
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/ScilabExecute.png
Binary files 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..81e9ed2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/ScilabImportant.png
Binary files 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..8851b99
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/ScilabNote.png
Binary files 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..8851b99
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/ScilabTip.png
Binary files 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..a9e4ff3
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/ScilabWarning.png
Binary files 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..977ca18
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/index.html
@@ -0,0 +1,259 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+
+ <br /><br />
+ <h3 class="book-title">Scilab 2 C Converter</h3>
+<ul class="list-part"><a name="scilab_2_c_converter_manual"></a><div class="info"></div>
+
+<li><a href="section_0da8c7f3adca54f0475553087384b7a7.html" class="part">Scilab 2 C Converter</a>
+<ul class="list-chapter"><li><a href="AVRADCSetup.html" class="refentry">AVRADCSetup</a> &#8212; <span class="refentry-description">Function to initialise ADC of AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalIn.html" class="refentry">AVRDigitalIn</a> &#8212; <span class="refentry-description">Function to get state (high\low) of a digital input pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalOut.html" class="refentry">AVRDigitalOut</a> &#8212; <span class="refentry-description">Function to change state (high\low) of a digital output pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalPortSetup.html" class="refentry">AVRDigitalPortSetup</a> &#8212; <span class="refentry-description">Function to decide direction of port on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalSetup.html" class="refentry">AVRDigitalSetup</a> &#8212; <span class="refentry-description">Function to decide direction of a digital pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRGetTimerValue.html" class="refentry">AVRGetTimerValue</a> &#8212; <span class="refentry-description">Function to get timer count</span></li>
+
+
+
+
+
+<li><a href="AVRPWM0SetDuty.html" class="refentry">AVRPWM0SetDuty</a> &#8212; <span class="refentry-description">Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.</span></li>
+
+
+
+
+
+<li><a href="AVRPWM0Setup.html" class="refentry">AVRPWM0Setup</a> &#8212; <span class="refentry-description">Function to Setup OC0 pin for required PWM mode</span></li>
+
+
+
+
+
+<li><a href="AVRPWM1SetDuty.html" class="refentry">AVRPWM1SetDuty</a> &#8212; <span class="refentry-description">Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.</span></li>
+
+
+
+
+
+<li><a href="AVRPWM1Setup.html" class="refentry">AVRPWM1Setup</a> &#8212; <span class="refentry-description">Function to Setup OC1A or OC1B pin for required PWM mode</span></li>
+
+
+
+
+
+<li><a href="AVRPWM2SetDuty.html" class="refentry">AVRPWM2SetDuty</a> &#8212; <span class="refentry-description">Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.</span></li>
+
+
+
+
+
+<li><a href="AVRPWM2Setup.html" class="refentry">AVRPWM2Setup</a> &#8212; <span class="refentry-description">Function to Setup OC2 pin for required PWM mode</span></li>
+
+
+
+
+
+<li><a href="AVRReadADC.html" class="refentry">AVRReadADC</a> &#8212; <span class="refentry-description">Function to get voltage on analog pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRSleep.html" class="refentry">AVRSleep</a> &#8212; <span class="refentry-description">Function to pause the execution for the given time.</span></li>
+
+
+
+
+
+<li><a href="AVRTimerSetup.html" class="refentry">AVRTimerSetup</a> &#8212; <span class="refentry-description">Function to setup Timers in ATmega16</span></li>
+
+
+
+
+
+<li><a href="AVRUARTReceive.html" class="refentry">AVRUARTReceive</a> &#8212; <span class="refentry-description">Function to Receive Char value send to ATmega16 using UART or USART.</span></li>
+
+
+
+
+
+<li><a href="AVRUARTSetup.html" class="refentry">AVRUARTSetup</a> &#8212; <span class="refentry-description">Function to Setup Serial Communication i.e UART or USART in ATmega16.</span></li>
+
+
+
+
+
+<li><a href="AVRUARTTransmit.html" class="refentry">AVRUARTTransmit</a> &#8212; <span class="refentry-description">Function to Transmit data using UART or USART.</span></li>
+
+
+
+
+
+<li><a href="CV_AdaptiveThreshold.html" class="refentry">CV_AdaptiveThreshold</a> &#8212; <span class="refentry-description">function to adaptively threshold input image</span></li>
+
+
+
+
+
+<li><a href="CV_Blur.html" class="refentry">CV_Blur</a> &#8212; <span class="refentry-description">function to blur image using normalised box filter</span></li>
+
+
+
+
+
+<li><a href="CV_Canny.html" class="refentry">CV_Canny</a> &#8212; <span class="refentry-description">Finds edges in image using Canny algorithm</span></li>
+
+
+
+
+
+<li><a href="CV_CornerHarris.html" class="refentry">CV_CornerHarris</a> &#8212; <span class="refentry-description">Finds edges in image using Harris algorithm</span></li>
+
+
+
+
+
+<li><a href="CV_CreateImage.html" class="refentry">CV_CreateImage</a> &#8212; <span class="refentry-description">function to create an image object of given size and type</span></li>
+
+
+
+
+
+<li><a href="CV_CvtColor.html" class="refentry">CV_CvtColor</a> &#8212; <span class="refentry-description">function to convert image from one colorspace to other colorspace</span></li>
+
+
+
+
+
+<li><a href="CV_Dilate.html" class="refentry">CV_Dilate</a> &#8212; <span class="refentry-description">dilates an image by using a specific structuring element.</span></li>
+
+
+
+
+
+<li><a href="CV_DistanceTransform.html" class="refentry">CV_DistanceTransform</a> &#8212; <span class="refentry-description">function to calculate distance to closest zero pixels for each pixel</span></li>
+
+
+
+
+
+<li><a href="CV_Erode.html" class="refentry">CV_Erode</a> &#8212; <span class="refentry-description">Erodes an image by using a specific structuring element.</span></li>
+
+
+
+
+
+<li><a href="CV_GaussianBlur.html" class="refentry">CV_GaussianBlur</a> &#8212; <span class="refentry-description">function to blur image using gaussian filter</span></li>
+
+
+
+
+
+<li><a href="CV_GetImgSize.html" class="refentry">CV_GetImgSize</a> &#8212; <span class="refentry-description">function to get size of the image (width*height)</span></li>
+
+
+
+
+
+<li><a href="CV_LoadImage.html" class="refentry">CV_LoadImage</a> &#8212; <span class="refentry-description">function to load an image object from given filename</span></li>
+
+
+
+
+
+<li><a href="CV_MedianBlur.html" class="refentry">CV_MedianBlur</a> &#8212; <span class="refentry-description">function to blur image using median filter</span></li>
+
+
+
+
+
+<li><a href="CV_SaveImage.html" class="refentry">CV_SaveImage</a> &#8212; <span class="refentry-description">function to save an image object as a given filename</span></li>
+
+
+
+
+
+<li><a href="CV_ShowImage.html" class="refentry">CV_ShowImage</a> &#8212; <span class="refentry-description">function to show an image</span></li>
+
+
+
+
+
+<li><a href="CV_Threshold.html" class="refentry">CV_Threshold</a> &#8212; <span class="refentry-description">function to threshold input image</span></li>
+
+
+
+
+
+<li><a href="CV_WaitKey.html" class="refentry">CV_WaitKey</a> &#8212; <span class="refentry-description">function similar to cvWaitKey</span></li></ul></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE index PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Index Version 1.0//EN" "http://java.sun.com/products/javahelp/index_1_0.dtd">
+<index version="1.0"/> \ 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..d042239
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/jhelpmap.jhm
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN" "http://java.sun.com/products/javahelp/map_1_0.dtd">
+<map version="1.0">
+<mapID target="index" url="index.html"/>
+<mapID target="section_0da8c7f3adca54f0475553087384b7a7" url="section_0da8c7f3adca54f0475553087384b7a7.html"/>
+<mapID target="AVRADCSetup" url="AVRADCSetup.html"/>
+<mapID target="AVRDigitalIn" url="AVRDigitalIn.html"/>
+<mapID target="AVRDigitalOut" url="AVRDigitalOut.html"/>
+<mapID target="AVRDigitalPortSetup" url="AVRDigitalPortSetup.html"/>
+<mapID target="AVRDigitalSetup" url="AVRDigitalSetup.html"/>
+<mapID target="AVRGetTimerValue" url="AVRGetTimerValue.html"/>
+<mapID target="AVRPWM0SetDuty" url="AVRPWM0SetDuty.html"/>
+<mapID target="AVRPWM0Setup" url="AVRPWM0Setup.html"/>
+<mapID target="AVRPWM1SetDuty" url="AVRPWM1SetDuty.html"/>
+<mapID target="AVRPWM1Setup" url="AVRPWM1Setup.html"/>
+<mapID target="AVRPWM2SetDuty" url="AVRPWM2SetDuty.html"/>
+<mapID target="AVRPWM2Setup" url="AVRPWM2Setup.html"/>
+<mapID target="AVRReadADC" url="AVRReadADC.html"/>
+<mapID target="AVRSleep" url="AVRSleep.html"/>
+<mapID target="AVRTimerSetup" url="AVRTimerSetup.html"/>
+<mapID target="AVRUARTReceive" url="AVRUARTReceive.html"/>
+<mapID target="AVRUARTSetup" url="AVRUARTSetup.html"/>
+<mapID target="AVRUARTTransmit" url="AVRUARTTransmit.html"/>
+<mapID target="CV_AdaptiveThreshold" url="CV_AdaptiveThreshold.html"/>
+<mapID target="CV_Blur" url="CV_Blur.html"/>
+<mapID target="CV_Canny" url="CV_Canny.html"/>
+<mapID target="CV_CornerHarris" url="CV_CornerHarris.html"/>
+<mapID target="CV_CreateImage" url="CV_CreateImage.html"/>
+<mapID target="CV_CvtColor" url="CV_CvtColor.html"/>
+<mapID target="CV_Dilate" url="CV_Dilate.html"/>
+<mapID target="CV_DistanceTransform" url="CV_DistanceTransform.html"/>
+<mapID target="CV_Erode" url="CV_Erode.html"/>
+<mapID target="CV_GaussianBlur" url="CV_GaussianBlur.html"/>
+<mapID target="CV_GetImgSize" url="CV_GetImgSize.html"/>
+<mapID target="CV_LoadImage" url="CV_LoadImage.html"/>
+<mapID target="CV_MedianBlur" url="CV_MedianBlur.html"/>
+<mapID target="CV_SaveImage" url="CV_SaveImage.html"/>
+<mapID target="CV_ShowImage" url="CV_ShowImage.html"/>
+<mapID target="CV_Threshold" url="CV_Threshold.html"/>
+<mapID target="CV_WaitKey" url="CV_WaitKey.html"/>
+</map> \ 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 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE helpset
+ PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN" "http://java.sun.com/products/javahelp/helpset_1_0.dtd">
+<helpset version="1.0">
+<title>Scilab 2 C Converter</title>
+<maps>
+<homeID>top</homeID>
+<mapref location="jhelpmap.jhm"/>
+</maps>
+<view>
+<name>TOC</name>
+<label>Table Of Contents</label>
+<type>javax.help.TOCView</type>
+<data>jhelptoc.xml</data>
+</view>
+<view>
+<name>Index</name>
+<label>Index</label>
+<type>javax.help.IndexView</type>
+<data>jhelpidx.xml</data>
+</view>
+<view>
+<name>Search</name>
+<label>Search</label>
+<type>javax.help.SearchView</type>
+<data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
+</view>
+</helpset> \ 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..103425f
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/jhelptoc.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 1.0//EN" "http://java.sun.com/products/javahelp/toc_1_0.dtd">
+<toc version="1.0">
+<tocitem target="index" text="Scilab 2 C Converter">
+<tocitem target="section_0da8c7f3adca54f0475553087384b7a7" text="Scilab 2 C Converter">
+<tocitem target="AVRADCSetup" text="AVRADCSetup"/>
+<tocitem target="AVRDigitalIn" text="AVRDigitalIn"/>
+<tocitem target="AVRDigitalOut" text="AVRDigitalOut"/>
+<tocitem target="AVRDigitalPortSetup" text="AVRDigitalPortSetup"/>
+<tocitem target="AVRDigitalSetup" text="AVRDigitalSetup"/>
+<tocitem target="AVRGetTimerValue" text="AVRGetTimerValue"/>
+<tocitem target="AVRPWM0SetDuty" text="AVRPWM0SetDuty"/>
+<tocitem target="AVRPWM0Setup" text="AVRPWM0Setup"/>
+<tocitem target="AVRPWM1SetDuty" text="AVRPWM1SetDuty"/>
+<tocitem target="AVRPWM1Setup" text="AVRPWM1Setup"/>
+<tocitem target="AVRPWM2SetDuty" text="AVRPWM2SetDuty"/>
+<tocitem target="AVRPWM2Setup" text="AVRPWM2Setup"/>
+<tocitem target="AVRReadADC" text="AVRReadADC"/>
+<tocitem target="AVRSleep" text="AVRSleep"/>
+<tocitem target="AVRTimerSetup" text="AVRTimerSetup"/>
+<tocitem target="AVRUARTReceive" text="AVRUARTReceive"/>
+<tocitem target="AVRUARTSetup" text="AVRUARTSetup"/>
+<tocitem target="AVRUARTTransmit" text="AVRUARTTransmit"/>
+<tocitem target="CV_AdaptiveThreshold" text="CV_AdaptiveThreshold"/>
+<tocitem target="CV_Blur" text="CV_Blur"/>
+<tocitem target="CV_Canny" text="CV_Canny"/>
+<tocitem target="CV_CornerHarris" text="CV_CornerHarris"/>
+<tocitem target="CV_CreateImage" text="CV_CreateImage"/>
+<tocitem target="CV_CvtColor" text="CV_CvtColor"/>
+<tocitem target="CV_Dilate" text="CV_Dilate"/>
+<tocitem target="CV_DistanceTransform" text="CV_DistanceTransform"/>
+<tocitem target="CV_Erode" text="CV_Erode"/>
+<tocitem target="CV_GaussianBlur" text="CV_GaussianBlur"/>
+<tocitem target="CV_GetImgSize" text="CV_GetImgSize"/>
+<tocitem target="CV_LoadImage" text="CV_LoadImage"/>
+<tocitem target="CV_MedianBlur" text="CV_MedianBlur"/>
+<tocitem target="CV_SaveImage" text="CV_SaveImage"/>
+<tocitem target="CV_ShowImage" text="CV_ShowImage"/>
+<tocitem target="CV_Threshold" text="CV_Threshold"/>
+<tocitem target="CV_WaitKey" text="CV_WaitKey"/>
+</tocitem>
+</tocitem>
+</toc> \ 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 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; Scilab 2 C Converter</span>
+
+ <br /><br />
+ <h3 class="title-part">Scilab 2 C Converter</h3>
+<ul class="list-chapter"><li><a href="AVRADCSetup.html" class="refentry">AVRADCSetup</a> &#8212; <span class="refentry-description">Function to initialise ADC of AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalIn.html" class="refentry">AVRDigitalIn</a> &#8212; <span class="refentry-description">Function to get state (high\low) of a digital input pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalOut.html" class="refentry">AVRDigitalOut</a> &#8212; <span class="refentry-description">Function to change state (high\low) of a digital output pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalPortSetup.html" class="refentry">AVRDigitalPortSetup</a> &#8212; <span class="refentry-description">Function to decide direction of port on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalSetup.html" class="refentry">AVRDigitalSetup</a> &#8212; <span class="refentry-description">Function to decide direction of a digital pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRGetTimerValue.html" class="refentry">AVRGetTimerValue</a> &#8212; <span class="refentry-description">Function to get timer count</span></li>
+
+
+
+
+
+<li><a href="AVRPWM0SetDuty.html" class="refentry">AVRPWM0SetDuty</a> &#8212; <span class="refentry-description">Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.</span></li>
+
+
+
+
+
+<li><a href="AVRPWM0Setup.html" class="refentry">AVRPWM0Setup</a> &#8212; <span class="refentry-description">Function to Setup OC0 pin for required PWM mode</span></li>
+
+
+
+
+
+<li><a href="AVRPWM1SetDuty.html" class="refentry">AVRPWM1SetDuty</a> &#8212; <span class="refentry-description">Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.</span></li>
+
+
+
+
+
+<li><a href="AVRPWM1Setup.html" class="refentry">AVRPWM1Setup</a> &#8212; <span class="refentry-description">Function to Setup OC1A or OC1B pin for required PWM mode</span></li>
+
+
+
+
+
+<li><a href="AVRPWM2SetDuty.html" class="refentry">AVRPWM2SetDuty</a> &#8212; <span class="refentry-description">Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.</span></li>
+
+
+
+
+
+<li><a href="AVRPWM2Setup.html" class="refentry">AVRPWM2Setup</a> &#8212; <span class="refentry-description">Function to Setup OC2 pin for required PWM mode</span></li>
+
+
+
+
+
+<li><a href="AVRReadADC.html" class="refentry">AVRReadADC</a> &#8212; <span class="refentry-description">Function to get voltage on analog pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRSleep.html" class="refentry">AVRSleep</a> &#8212; <span class="refentry-description">Function to pause the execution for the given time.</span></li>
+
+
+
+
+
+<li><a href="AVRTimerSetup.html" class="refentry">AVRTimerSetup</a> &#8212; <span class="refentry-description">Function to setup Timers in ATmega16</span></li>
+
+
+
+
+
+<li><a href="AVRUARTReceive.html" class="refentry">AVRUARTReceive</a> &#8212; <span class="refentry-description">Function to Receive Char value send to ATmega16 using UART or USART.</span></li>
+
+
+
+
+
+<li><a href="AVRUARTSetup.html" class="refentry">AVRUARTSetup</a> &#8212; <span class="refentry-description">Function to Setup Serial Communication i.e UART or USART in ATmega16.</span></li>
+
+
+
+
+
+<li><a href="AVRUARTTransmit.html" class="refentry">AVRUARTTransmit</a> &#8212; <span class="refentry-description">Function to Transmit data using UART or USART.</span></li>
+
+
+
+
+
+<li><a href="CV_AdaptiveThreshold.html" class="refentry">CV_AdaptiveThreshold</a> &#8212; <span class="refentry-description">function to adaptively threshold input image</span></li>
+
+
+
+
+
+<li><a href="CV_Blur.html" class="refentry">CV_Blur</a> &#8212; <span class="refentry-description">function to blur image using normalised box filter</span></li>
+
+
+
+
+
+<li><a href="CV_Canny.html" class="refentry">CV_Canny</a> &#8212; <span class="refentry-description">Finds edges in image using Canny algorithm</span></li>
+
+
+
+
+
+<li><a href="CV_CornerHarris.html" class="refentry">CV_CornerHarris</a> &#8212; <span class="refentry-description">Finds edges in image using Harris algorithm</span></li>
+
+
+
+
+
+<li><a href="CV_CreateImage.html" class="refentry">CV_CreateImage</a> &#8212; <span class="refentry-description">function to create an image object of given size and type</span></li>
+
+
+
+
+
+<li><a href="CV_CvtColor.html" class="refentry">CV_CvtColor</a> &#8212; <span class="refentry-description">function to convert image from one colorspace to other colorspace</span></li>
+
+
+
+
+
+<li><a href="CV_Dilate.html" class="refentry">CV_Dilate</a> &#8212; <span class="refentry-description">dilates an image by using a specific structuring element.</span></li>
+
+
+
+
+
+<li><a href="CV_DistanceTransform.html" class="refentry">CV_DistanceTransform</a> &#8212; <span class="refentry-description">function to calculate distance to closest zero pixels for each pixel</span></li>
+
+
+
+
+
+<li><a href="CV_Erode.html" class="refentry">CV_Erode</a> &#8212; <span class="refentry-description">Erodes an image by using a specific structuring element.</span></li>
+
+
+
+
+
+<li><a href="CV_GaussianBlur.html" class="refentry">CV_GaussianBlur</a> &#8212; <span class="refentry-description">function to blur image using gaussian filter</span></li>
+
+
+
+
+
+<li><a href="CV_GetImgSize.html" class="refentry">CV_GetImgSize</a> &#8212; <span class="refentry-description">function to get size of the image (width*height)</span></li>
+
+
+
+
+
+<li><a href="CV_LoadImage.html" class="refentry">CV_LoadImage</a> &#8212; <span class="refentry-description">function to load an image object from given filename</span></li>
+
+
+
+
+
+<li><a href="CV_MedianBlur.html" class="refentry">CV_MedianBlur</a> &#8212; <span class="refentry-description">function to blur image using median filter</span></li>
+
+
+
+
+
+<li><a href="CV_SaveImage.html" class="refentry">CV_SaveImage</a> &#8212; <span class="refentry-description">function to save an image object as a given filename</span></li>
+
+
+
+
+
+<li><a href="CV_ShowImage.html" class="refentry">CV_ShowImage</a> &#8212; <span class="refentry-description">function to show an image</span></li>
+
+
+
+
+
+<li><a href="CV_Threshold.html" class="refentry">CV_Threshold</a> &#8212; <span class="refentry-description">function to threshold input image</span></li>
+
+
+
+
+
+<li><a href="CV_WaitKey.html" class="refentry">CV_WaitKey</a> &#8212; <span class="refentry-description">function similar to cvWaitKey</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Scilab 2 C Converter</a> &gt;&gt; Scilab 2 C Converter</span>
+
+ <br /><br />
+ <h3 class="title-part">Scilab 2 C Converter</h3>
+<ul class="list-chapter"><li><a href="AVRADCSetup.html" class="refentry">AVRADCSetup</a> &#8212; <span class="refentry-description">Function to initialise ADC of AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalIn.html" class="refentry">AVRDigitalIn</a> &#8212; <span class="refentry-description">Function to get state (high\low) of a digital input pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalOut.html" class="refentry">AVRDigitalOut</a> &#8212; <span class="refentry-description">Function to change state (high\low) of a digital output pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalPortSetup.html" class="refentry">AVRDigitalPortSetup</a> &#8212; <span class="refentry-description">Function to decide direction of port on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRDigitalSetup.html" class="refentry">AVRDigitalSetup</a> &#8212; <span class="refentry-description">Function to decide direction of a digital pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRGetTimerValue.html" class="refentry">AVRGetTimerValue</a> &#8212; <span class="refentry-description">Function to get timer count</span></li>
+
+
+
+
+
+<li><a href="AVRPWM0SetDuty.html" class="refentry">AVRPWM0SetDuty</a> &#8212; <span class="refentry-description">Function to Set Duty cycle of PWM Output generated by Timer0 at OC0 pin.</span></li>
+
+
+
+
+
+<li><a href="AVRPWM0Setup.html" class="refentry">AVRPWM0Setup</a> &#8212; <span class="refentry-description">Function to Setup OC0 pin for required PWM mode</span></li>
+
+
+
+
+
+<li><a href="AVRPWM1SetDuty.html" class="refentry">AVRPWM1SetDuty</a> &#8212; <span class="refentry-description">Function to Set Duty cycle of PWM Output generated by Timer1 at OC1A or OC1B pin.</span></li>
+
+
+
+
+
+<li><a href="AVRPWM1Setup.html" class="refentry">AVRPWM1Setup</a> &#8212; <span class="refentry-description">Function to Setup OC1A or OC1B pin for required PWM mode</span></li>
+
+
+
+
+
+<li><a href="AVRPWM2SetDuty.html" class="refentry">AVRPWM2SetDuty</a> &#8212; <span class="refentry-description">Function to Set Duty cycle of PWM Output generated by Timer2 at OC2 pin.</span></li>
+
+
+
+
+
+<li><a href="AVRPWM2Setup.html" class="refentry">AVRPWM2Setup</a> &#8212; <span class="refentry-description">Function to Setup OC2 pin for required PWM mode</span></li>
+
+
+
+
+
+<li><a href="AVRReadADC.html" class="refentry">AVRReadADC</a> &#8212; <span class="refentry-description">Function to get voltage on analog pin on AVR</span></li>
+
+
+
+
+
+<li><a href="AVRSleep.html" class="refentry">AVRSleep</a> &#8212; <span class="refentry-description">Function to pause the execution for the given time.</span></li>
+
+
+
+
+
+<li><a href="AVRTimerSetup.html" class="refentry">AVRTimerSetup</a> &#8212; <span class="refentry-description">Function to setup Timers in ATmega16</span></li>
+
+
+
+
+
+<li><a href="AVRUARTReceive.html" class="refentry">AVRUARTReceive</a> &#8212; <span class="refentry-description">Function to Receive Char value send to ATmega16 using UART or USART.</span></li>
+
+
+
+
+
+<li><a href="AVRUARTSetup.html" class="refentry">AVRUARTSetup</a> &#8212; <span class="refentry-description">Function to Setup Serial Communication i.e UART or USART in ATmega16.</span></li>
+
+
+
+
+
+<li><a href="AVRUARTTransmit.html" class="refentry">AVRUARTTransmit</a> &#8212; <span class="refentry-description">Function to Transmit data using UART or USART.</span></li>
+
+
+
+
+
+<li><a href="CV_AdaptiveThreshold.html" class="refentry">CV_AdaptiveThreshold</a> &#8212; <span class="refentry-description">function to adaptively threshold input image</span></li>
+
+
+
+
+
+<li><a href="CV_Blur.html" class="refentry">CV_Blur</a> &#8212; <span class="refentry-description">function to blur image using normalised box filter</span></li>
+
+
+
+
+
+<li><a href="CV_Canny.html" class="refentry">CV_Canny</a> &#8212; <span class="refentry-description">Finds edges in image using Canny algorithm</span></li>
+
+
+
+
+
+<li><a href="CV_CornerHarris.html" class="refentry">CV_CornerHarris</a> &#8212; <span class="refentry-description">Finds edges in image using Harris algorithm</span></li>
+
+
+
+
+
+<li><a href="CV_CreateImage.html" class="refentry">CV_CreateImage</a> &#8212; <span class="refentry-description">function to create an image object of given size and type</span></li>
+
+
+
+
+
+<li><a href="CV_CvtColor.html" class="refentry">CV_CvtColor</a> &#8212; <span class="refentry-description">function to convert image from one colorspace to other colorspace</span></li>
+
+
+
+
+
+<li><a href="CV_Dilate.html" class="refentry">CV_Dilate</a> &#8212; <span class="refentry-description">dilates an image by using a specific structuring element.</span></li>
+
+
+
+
+
+<li><a href="CV_DistanceTransform.html" class="refentry">CV_DistanceTransform</a> &#8212; <span class="refentry-description">function to calculate distance to closest zero pixels for each pixel</span></li>
+
+
+
+
+
+<li><a href="CV_Erode.html" class="refentry">CV_Erode</a> &#8212; <span class="refentry-description">Erodes an image by using a specific structuring element.</span></li>
+
+
+
+
+
+<li><a href="CV_GaussianBlur.html" class="refentry">CV_GaussianBlur</a> &#8212; <span class="refentry-description">function to blur image using gaussian filter</span></li>
+
+
+
+
+
+<li><a href="CV_GetImgSize.html" class="refentry">CV_GetImgSize</a> &#8212; <span class="refentry-description">function to get size of the image (width*height)</span></li>
+
+
+
+
+
+<li><a href="CV_LoadImage.html" class="refentry">CV_LoadImage</a> &#8212; <span class="refentry-description">function to load an image object from given filename</span></li>
+
+
+
+
+
+<li><a href="CV_MedianBlur.html" class="refentry">CV_MedianBlur</a> &#8212; <span class="refentry-description">function to blur image using median filter</span></li>
+
+
+
+
+
+<li><a href="CV_SaveImage.html" class="refentry">CV_SaveImage</a> &#8212; <span class="refentry-description">function to save an image object as a given filename</span></li>
+
+
+
+
+
+<li><a href="CV_ShowImage.html" class="refentry">CV_ShowImage</a> &#8212; <span class="refentry-description">function to show an image</span></li>
+
+
+
+
+
+<li><a href="CV_Threshold.html" class="refentry">CV_Threshold</a> &#8212; <span class="refentry-description">function to threshold input image</span></li>
+
+
+
+
+
+<li><a href="CV_WaitKey.html" class="refentry">CV_WaitKey</a> &#8212; <span class="refentry-description">function similar to cvWaitKey</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Scilab 2 C Converter</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
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 ba568ce..5f12bc2 100644
--- a/includes/lapack.h
+++ b/includes/lapack.h
@@ -186,6 +186,15 @@ extern int dggbal_(char*,int*,double*,int*,double*,int*,int*,int*,double*, \
double*,double*,int*);
extern int dgebak_(char*,char*,int*,int*,int*,double*,int*,double*,int*,int*);
+/*Used in SVD */
+extern double dgesvd_(char*,char*,int*,int*,double*,int*,double*,double*,int*,\
+ double*,int*,double *,int*,int*);
+
+/* Used in svd complex */
+extern doubleComplex zgesvd_( char* , char* , int* , int* ,doubleComplex *,\
+ int* , double* ,doubleComplex* , int* ,doubleComplex* , int* ,\
+ doubleComplex* , int* , double* , int* );
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/includes/sci2clib.h b/includes/sci2clib.h
index 5bbd8ba..dc26798 100644
--- a/includes/sci2clib.h
+++ b/includes/sci2clib.h
@@ -65,8 +65,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 +203,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"
@@ -382,7 +402,7 @@ extern "C" {
/* interfacing ones */
#include "ones.h"
#include "int_ones.h"
-/* interfacing spec */
+/* Linear Algebra - spec */
#include "spec.h"
#include "int_spec.h"
/* interfacing trace */
@@ -421,6 +441,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"
@@ -610,8 +642,17 @@ extern "C" {
#include "balanc.h"
#include "int_balanc.h"
+#include "svd.h" /*Linear Alegbra - Singular value decompostion */
+#include "int_svd.h"
+
#include "rcond.h"
#include "int_rcond.h"
+
+#include "hess.h" /* Linear Algebra - Hess function */
+#include "int_hess.h"
+
+#include "sva.h"
+#include "int_sva.h" /*Linear Algebra - SVA function */
/*Functions related to opencv*/
/*#include "cvcore.hpp"
@@ -634,8 +675,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"
@@ -660,21 +717,41 @@ extern "C" {
#endif
/*RPi*/
-#ifdef RPi1
+//#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"
-#endif
+#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/interfaces/int_OpApex.h b/interfaces/int_OpApex.h
deleted file mode 100644
index 4915e20..0000000
--- a/interfaces/int_OpApex.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_OPAPEX_H__
-#define __INT_OPAPEX_H__
-
-#define s0OpApexs0(in) in
-
-#define d0OpApexd0(in) in
-
-#define c0OpApexc0(in) cconjs(in)
-
-#define z0OpApexz0(in) zconjs(in)
-
-#define s2OpApexs2(in,size,out) stransposea(in,size[0],size[1],out);
-
-#define d2OpApexd2(in,size,out) dtransposea(in,size[0],size[1],out);
-
-#define c2OpApexc2(in,size,out) ctransposea(in,size[0],size[1],out);cconja(out,size[0]*size[1],out);
-
-#define z2OpApexz2(in,size,out) ztransposea(in,size[0],size[1],out);zconja(out,size[0]*size[1],out);
-
-#endif /* !__INT_OPAPEX_H__ */
diff --git a/interfaces/int_OpBackSlash.h b/interfaces/int_OpBackSlash.h
deleted file mode 100644
index 8a733f2..0000000
--- a/interfaces/int_OpBackSlash.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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_OPBACKSLASH_H__
-#define __INT_OPBACKSLASH_H__
-
-/* Scalar \ Scalar */
-
-#define s0s0OpBackSlashs0(in1,in2) sldivs(in1,in2)
-
-#define d0d0OpBackSlashd0(in1,in2) dldivs(in1,in2)
-
-#define c0c0OpBackSlashc0(in1,in2) cldivs(in1,in2)
-
-#define z0z0OpBackSlashz0(in1,in2) zldivs(in1,in2)
-
-#define s0c0OpBackSlashc0(in1,in2) cldivs(FloatComplex(in1,0),in2)
-
-#define c0s0OpBackSlashc0(in1,in2) cldivs(in1,FloatComplex(in2,0))
-
-#define d0z0OpBackSlashz0(in1,in2) zldivs(DoubleComplex(in1,0),in2)
-
-#define z0d0OpBackSlashz0(in1,in2) zldivs(in1,DoubleComplex(in2,0))
-
-
-/* Scalar \ Matrix */
-
-#define s0s2OpBackSlashs2(in1,in2,size,out) {int i;\
- for( i=0;i<size[0]*size[1];i++) out[i]= sldivs(in1,in2[i]);}
-
-#define d0d2OpBackSlashd2(in1,in2,size,out) {int i;\
- for( i=0;i<size[0]*size[1];i++) out[i]= dldivs(in1,in2[i]);}
-
-#define c0c2OpBackSlashc2(in1,in2,size,out) {int i;\
- for( i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1,in2[i]);}
-
-#define z0z2OpBackSlashz2(in1,in2,size,out) {int i;\
- for( i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1,in2[i]);}
-
-#define s0c2OpBackSlashc2(in1,in2,size,out) c0c2OpBackSlashc2(FloatComplex(in1,0),in2,size,out)
-
-#define d0z2OpBackSlashz2(in1,in2,size,out) z0z2OpBackSlashz2(DoubleComplex(in1,0),in2,size,out)
-
-#define c0s2OpBackSlashc2(in1,in2,size,out) {int i;\
- for ( i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1,FloatComplex(in2[i],0));}
-
-#define z0d2OpBackSlashz2(in1,in2,size,out) {int i;\
- for ( i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1,DoubleComplex(in2[i],0));}
-
-
-/* Matrix \ Scalar */
-
-#define s2s0OpBackSlashs2(in1,size,in2,out) {float temp[1] = {in2};\
- sldivma(in1,size[0],size[1],temp,1,1,out);}
-
-#define d2d0OpBackSlashd2(in1,size,in2,out) {double temp[1] = {in2};\
- dldivma(in1,size[0],size[1],temp,1,1,out);}
-
-#define c2c0OpBackSlashc2(in1,size,in2,out) {int i;\
- for ( i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1[i],in2);}
-
-#define z2z0OpBackSlashz2(in1,size,in2,out) {int i;\
- for ( i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1[i],in2);}
-
-#define s2c0OpBackSlashc2(in1,size,in2,out) {int i;\
- for ( i=0;i<size[0]*size[1];i++) out[i]= cldivs(FloatComplex(in1[i],0),in2);}
-
-#define d2z0OpBackSlashz2(in1,size,in2,out) {int i;\
- for ( i=0;i<size[0]*size[1];i++) out[i]= zldivs(DoubleComplex(in1[i],0),in2);}
-
-#define c2s0OpBackSlashc2(in1,size,in2,out) c2c0OpBackSlashc2(in1,size,FloatComplex(in2,0),out)
-
-#define z2d0OpBackSlashz2(in1,size,in2,out) z2z0OpBackSlashz2(in1,size,DoubleComplex(in2,0),out)
-
-
-
-/* Matrix \ Matrix */
-
-#define s2s2OpBackSlashs2(in1,size1,in2,size2,out) sldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-#define d2d2OpBackSlashd2(in1,size1,in2,size2,out) dldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-#define c2c2OpBackSlashc2(in1,size1,in2,size2,out) cldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-#define c2s2OpBackSlashc2(in1,size1,in2,size2,out) cldivma(in1,size1[0],size1[1],FloatComplexMatrix(in2,0,size2[0]*size2[1]),size2[0],size2[1],out)
-
-#define s2c2OpBackSlashc2(in1,size1,in2,size2,out) cldivma(FloatComplexMatrix(in1,0,size1[0]*size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
-
-#define z2z2OpBackSlashz2(in1,size1,in2,size2,out) zldivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-#define z2d2OpBackSlashc2(in1,size1,in2,size2,out) cldivma(in1,size1[0],size1[1],DoubleComplexMatrix(in2,0,size2[0]*size2[1]),size2[0],size2[1],out)
-
-#define d2z2OpBackSlashc2(in1,size1,in2,size2,out) cldivma(DoubleComplexMatrix(in1,0,size1[0]*size1[1]),size1[0],size1[1],in2,size2[0],size2[1],out)
-
-
-
-
-#endif /* !__INT_OPBACKSLASH_H__ */
diff --git a/interfaces/int_OpCc.h b/interfaces/int_OpCc.h
deleted file mode 100644
index 2cd3d55..0000000
--- a/interfaces/int_OpCc.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * 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_OPCC_H__
-#define __INT_OPCC_H__
-
-/*
- /!\
- / ! \ We used rowcat because disp isn't right. In the real case, it must be columncat for Cc.
- /__!_ \
-
-*/
-
-
-/* Column Cat */
-
-/* Same input elements */
-
-#define s0s0OpCcs2(in1,in2,out) srowcats(in1,in2,out)
-
-#define d0d0OpCcd2(in1,in2,out) drowcats(in1,in2,out)
-
-#define c0c0OpCcc2(in1,in2,out) crowcats(in1,in2,out)
-
-#define z0z0OpCcz2(in1,in2,out) zrowcats(in1,in2,out)
-
-#define s2s2OpCcs2(in1,size1,in2,size2,out) srowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define d2d2OpCcd2(in1,size1,in2,size2,out) drowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define c2c2OpCcc2(in1,size1,in2,size2,out) crowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define z2z2OpCcz2(in1,size1,in2,size2,out) zrowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-/* Differents input elements */
-#define s0c0OpCcc2(in1,in2,out) c0c0OpCcc2(FloatComplex(in1,0),in2,out)
-
-#define d0z0OpCcz2(in1,in2,out) z0z0OpCcz2(DoubleComplex(in1,0),in2,out)
-
-#define c0s0OpCcc2(in1,in2,out) c0c0OpCcc2(in1,FloatComplex(in2,0),out)
-
-#define z0d0OpCcz2(in1,in2,out) z0z0OpCcz2(in1,DoubleComplex(in2,0),out)
-
-#define s2c2OpCcc2(in1,size1,in2,size2,out) sfilla((float*)out,size1[0],size1[1],0); \
- c2c2OpCcc2(FloatComplexMatrix(in1,(float*)out,size1[0]*size1[1]), size1, in2, size2, out)
-
-#define d2z2OpCcz2(in1,size1,in2,size2,out) dfilla((double*)out,size1[0],size1[1],0); \
- z2z2OpCcz2(DoubleComplexMatrix(in1,(double*)out,size1[0]*size1[1]), size1, in2, size2, out)
-
-#define c2s2OpCcc2(in1,size1,in2,size2,out) sfilla((float*)out,size2[0],size2[1],0); \
- c2c2OpCcc2(in1, size1, FloatComplexMatrix(in2,(float*)out,size2[0]*size2[1]), size2, out)
-
-#define z2d2OpCcz2(in1,size1,in2,size2,out) dfilla((double*)out,size2[0],size2[1],0); \
- z2z2OpCcz2(in1, size1, DoubleComplexMatrix(in2,(double*)out,size2[0]*size2[1]), size2, out)
-
-/* Matrix-Scalar */
-
-/* Same type */
-
-#define s2s0OpCcs2(in1,size,in2,out) { float temp=in2; \
- srowcata(in1, size[0], size[1],&temp, 1, 1, out); \
- }
-
-#define d2d0OpCcd2(in1,size,in2,out) { double temp=in2; \
- drowcata(in1, size[0], size[1],&temp, 1, 1, out); \
- }
-
-#define c2c0OpCcc2(in1,size,in2,out) { floatComplex temp = in2; \
- crowcata(in1, size[0], size[1],&temp, 1, 1, out);\
- }
-
-#define z2z0OpCcz2(in1,size,in2,out) { doubleComplex temp =in2; \
- zrowcata(in1, size[0], size[1],&temp, 1, 1, out);\
- }
-
-
-/* Different type */
-#define s2c0OpCcc2(in1,size,in2,out) sfilla((float *)out,size[0],size[1],0); \
- c2c0OpCcc2(FloatComplexMatrix(in1,(float*)out,size[0]*size[1]),size,in2,out)
-
-#define d2z0OpCcz2(in1,size,in2,out) dfilla((double *)out,size[0],size[1],0); \
- z2z0OpCcz2(DoubleComplexMatrix(in1,(double *)out,size[0]*size[1]),size,in2,out)
-
-#define c2s0OpCcc2(in1,size,in2,out) { floatComplex temp = FloatComplex(in2, 0); c2c0OpCcc2(in1, size, temp, out)}
-
-#define z2d0OpCcz2(in1,size,in2,out) { doubleComplex temp = DoubleComplex(in2, 0); z2z0OpCcz2(in1, size, temp, out)}
-
-
-/* Scalar-Matrix */
-
-/* Same type */
-#define s0s2OpCcs2(in1,in2,size,out) { \
- float __tmp1 = in1 ;\
- srowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-#define d0d2OpCcd2(in1,in2,size,out) { \
- double __tmp1 = in1 ;\
- drowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-#define c0c2OpCcc2(in1,in2,size,out) { \
- floatComplex __tmp1 = in1 ;\
- crowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-#define z0z2OpCcz2(in1,in2,size,out) { \
- doubleComplex __tmp1 = in1 ;\
- zrowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-/* Different type */
-#define s0c2OpCcc2(in1,in2,size,out) c0c2OpCcc2(FloatComplex(in1,0),in2,size,out)
-
-#define d0z2OpCcz2(in1,in2,size,out) z0z2OpCcz2(DoubleComplex(in1,0),in2,size,out)
-
-#define c0s2OpCcc2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],0); \
- c0c2OpCcc2(in1,FloatComplexMatrix(in2,(float*)out,size[0]*size[1]),size,out)
-
-#define z0d2OpCcz2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],0); \
- z0z2OpCcz2(in1,DoubleComplexMatrix(in2,(double*)out,size[0]*size[1]),size,out)
-
-#endif /* !__INT_OPCC_H__ */
diff --git a/interfaces/int_OpColon.h b/interfaces/int_OpColon.h
deleted file mode 100644
index af84c2f..0000000
--- a/interfaces/int_OpColon.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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_OPCOLON_H__
-#define __INT_OPCOLON_H__
-
-#define s0s0OpColons0(in1,in2) in1
-
-#define d0d0OpColond0(in1,in2) in1
-
-#define c0c0OpColons0(in1,in2) in1
-
-#define z0z0OpColond0(in1,in2) in1
-
-
-
-#define s0s0OpColons2(in1,in2,out) simplicitLists(in1,1.0,in2,out)
-
-#define d0d0OpColond2(in1,in2,out) dimplicitLists(in1,1.0,in2,out)
-
-#define c0c0OpColons2(in1,in2,out) cimplicitLists(in1,FloatComplex(1.0f,0.0f),in2,out)
-
-#define z0z0OpColond2(in1,in2,out) zimplicitLists(in1,DoubleComplex(1.0,0.0),in2,out)
-
-/*mixed input*/
-#define s0c0OpColons0(in1,in2) in1
-
-#define d0z0OpColond0(in1,in2) in1
-
-#define c0s0OpColons0(in1,in2) in1
-
-#define z0d0OpColond0(in1,in2) in1
-
-
-
-#define s0c0OpColons2(in1,in2,out) cimplicitLists(FloatComplex(in1,0.0f),FloatComplex(1.0f,0.0f),in2,out)
-
-#define d0z0OpColond2(in1,in2,out) zimplicitLists(DoubleComplex(in1,0.0),DoubleComplex(1.0,0.0),in2,out)
-
-#define c0s0OpColons2(in1,in2,out) cimplicitLists(in1,FloatComplex(1.0f,0.0f),FloatComplex(in2,0.0f),out)
-
-#define z0d0OpColond2(in1,in2,out) zimplicitLists(in1,DoubleComplex(1.0,0.0),DoubleComplex(in2,0.0),out)
-
-
-/*three input*/
-
-#define s0s0s0OpColons0(in1,in2,in3) in1
-#define s0s0c0OpColons0(in1,in2,in3) in1
-#define s0c0s0OpColons0(in1,in2,in3) in1
-#define s0c0c0OpColons0(in1,in2,in3) in1
-
-#define d0d0d0OpColond0(in1,in2,in3) in1
-#define d0d0z0OpColond0(in1,in2,in3) in1
-#define d0z0d0OpColond0(in1,in2,in3) in1
-#define d0z0z0OpColond0(in1,in2,in3) in1
-
-#define c0c0c0OpColons0(in1,in2,in3) in1
-#define c0c0s0OpColons0(in1,in2,in3) in1
-#define c0s0c0OpColons0(in1,in2,in3) in1
-#define c0s0s0OpColons0(in1,in2,in3) in1
-
-#define z0z0z0OpColond0(in1,in2,in3) in1
-#define z0z0d0OpColond0(in1,in2,in3) in1
-#define z0d0z0OpColond0(in1,in2,in3) in1
-#define z0d0d0OpColond0(in1,in2,in3) in1
-
-
-#define s0s0s0OpColons2(in1,in2,in3,out) simplicitLists(in1,in2,in3,out)
-#define s0s0c0OpColons2(in1,in2,in3,out) cimplicitLists(FloatComplex(in1,0.0f),FloatComplex(in2,0.0f),in3,out)
-#define s0c0s0OpColons2(in1,in2,in3,out) cimplicitLists(FloatComplex(in1,0.0f),in2,FloatComplex(in3,0.0f),out)
-#define s0c0c0OpColons2(in1,in2,in3,out) cimplicitLists(FloatComplex(in1,0.0f),in2,in3,out)
-
-#define d0d0d0OpColond2(in1,in2,in3,out) dimplicitLists(in1,in2,in3,out)
-#define d0d0z0OpColond2(in1,in2,in3,out) zimplicitLists(DoubleComplex(in1,0.0),DoubleComplex(in2,0.0),in3,out)
-#define d0z0d0OpColond2(in1,in2,in3,out) zimplicitLists(DoubleComplex(in1,0.0),in2,DoubleComplex(in3,0.0),out)
-#define d0z0z0OpColond2(in1,in2,in3,out) zimplicitLists(DoubleComplex(in1,0.0),in2,in3,out)
-
-#define c0c0c0OpColons2(in1,in2,in3,out) cimplicitLists(in1,in2,in3,out)
-#define c0c0s0OpColons2(in1,in2,in3,out) cimplicitLists(in1,in2,FloatComplex(in3,0.0f),out)
-#define c0s0c0OpColons2(in1,in2,in3,out) cimplicitLists(in1,FloatComplex(in2,0.0f),in3,out)
-#define c0s0s0OpColons2(in1,in2,in3,out) cimplicitLists(in1,FloatComplex(in2,0.0f),FloatComplex(in3,0.0f),out)
-
-#define z0z0z0OpColond2(in1,in2,in3,out) zimplicitLists(in1,in2,in3,out)
-#define z0z0d0OpColond2(in1,in2,in3,out) zimplicitLists(in1,in2,DoubleComplex(in3,0.0),out)
-#define z0d0z0OpColond2(in1,in2,in3,out) zimplicitLists(in1,DoubleComplex(in2,0.0),in3,out)
-#define z0d0d0OpColond2(in1,in2,in3,out) zimplicitLists(in1,DoubleComplex(in2,0.0),DoubleComplex(in3,0.0),out)
-
-
-
-#endif /* !__INT_OPCOLON_H__ */
diff --git a/interfaces/int_OpDotApex.h b/interfaces/int_OpDotApex.h
deleted file mode 100644
index 4978ca5..0000000
--- a/interfaces/int_OpDotApex.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_OPDOTAPEX_H__
-#define __INT_OPDOTAPEX_H__
-
-#define s0OpDotApexs0(in) in
-
-#define d0OpDotApexd0(in) in
-
-#define c0OpDotApexc0(in) in
-
-#define z0OpDotApexz0(in) in
-
-#define s2OpDotApexs2(in,size,out) stransposea(in,size[0],size[1],out);
-
-#define d2OpDotApexd2(in,size,out) dtransposea(in,size[0],size[1],out);
-
-#define c2OpDotApexc2(in,size,out) ctransposea(in,size[0],size[1],out);
-
-#define z2OpDotApexz2(in,size,out) ztransposea(in,size[0],size[1],out);
-
-#endif /* !__INT_OPDOTAPEX_H__ */
diff --git a/interfaces/int_OpDotBackSlash.h b/interfaces/int_OpDotBackSlash.h
deleted file mode 100644
index 220da8d..0000000
--- a/interfaces/int_OpDotBackSlash.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * 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_OPDOTBACKSLASH_H__
-#define __INT_OPDOTBACKSLASH_H__
-
-/* Scalar .\ Scalar */
-
-#define s0s0OpDotBackSlashs0(in1,in2) sldivs(in1,in2)
-
-#define d0d0OpDotBackSlashd0(in1,in2) dldivs(in1,in2)
-
-#define c0c0OpDotBackSlashc0(in1,in2) cldivs(in1,in2)
-
-#define z0z0OpDotBackSlashz0(in1,in2) zldivs(in1,in2)
-
-#define u80u80OpDotBackSlashu80(in1,in2) u8ldivs(in1,in2)
-
-#define u160u160OpDotBackSlashu160(in1,in2) u16ldivs(in1,in2)
-
-#define i80i80OpDotBackSlashi80(in1,in2) i8ldivs(in1,in2)
-
-#define i160i160OpDotBackSlashi160(in1,in2) i16ldivs(in1,in2)
-
-#define s0c0OpDotBackSlashc0(in1,in2) cldivs(FloatComplex(in1,0),in2)
-
-#define c0s0OpDotBackSlashc0(in1,in2) cldivs(in1,FloatComplex(in2,0))
-
-#define d0z0OpDotBackSlashz0(in1,in2) zldivs(DoubleComplex(in1,0),in2)
-
-#define z0d0OpDotBackSlashz0(in1,in2) zldivs(in1,DoubleComplex(in2,0))
-
-
-/* Scalar \ Matrix */
-
-#define s0s2OpDotBackSlashs2(in1,in2,size,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= sldivs(in1,in2[i]);}
-
-#define d0d2OpDotBackSlashd2(in1,in2,size,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= dldivs(in1,in2[i]);}
-
-#define c0c2OpDotBackSlashc2(in1,in2,size,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1,in2[i]);}
-
-#define z0z2OpDotBackSlashz2(in1,in2,size,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1,in2[i]);}
-
-#define u80u82OpDotBackSlashu82(in1,in2,size,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= u8ldivs(in1,in2[i]);}
-
-#define u160u162OpDotBackSlashu162(in1,in2,size,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= u16ldivs(in1,in2[i]);}
-
-#define i80i82OpDotBackSlashi82(in1,in2,size,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= i8ldivs(in1,in2[i]);}
-
-#define i160i162OpDotBackSlashi162(in1,in2,size,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= i16ldivs(in1,in2[i]);}
-
-
-#define s0c2OpDotBackSlashc2(in1,in2,size,out) c0c2OpDotBackSlashc2(FloatComplex(in1,0),in2,size,out)
-
-#define d0z2OpDotBackSlashz2(in1,in2,size,out) z0z2OpDotBackSlashz2(DoubleComplex(in1,0),in2,size,out)
-
-#define c0s2OpDotBackSlashc2(in1,in2,size,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1,FloatComplex(in2[i],0));}
-
-#define z0d2OpDotBackSlashz2(in1,in2,size,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1,DoubleComplex(in2[i],0));}
-
-
-/* Matrix \ Scalar */
-
-#define s2s0OpDotBackSlashs2(in1,size,in2,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= sldivs(in1[i],in2);}
-
-#define d2d0OpDotBackSlashd2(in1,size,in2,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= dldivs(in1[i],in2);}
-
-#define c2c0OpDotBackSlashc2(in1,size,in2,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= cldivs(in1[i],in2);}
-
-#define z2z0OpDotBackSlashz2(in1,size,in2,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= zldivs(in1[i],in2);}
-
-#define u82u80OpDotBackSlashu82(in1,size,in2,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= u8ldivs(in1[i],in2);}
-
-#define u162u160OpDotBackSlashu162(in1,size,in2,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= u16ldivs(in1[i],in2);}
-
-#define i82i80OpDotBackSlashi82(in1,size,in2,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= i8ldivs(in1[i],in2);}
-
-#define i162i160OpDotBackSlashi162(in1,size,in2,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= i16ldivs(in1[i],in2);}
-
-
-
-#define s2c0OpDotBackSlashc2(in1,size,in2,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= cldivs(FloatComplex(in1[i],0),in2);}
-
-#define d2z0OpDotBackSlashz2(in1,size,in2,out) {int i;\
- for(i=0;i<size[0]*size[1];i++) out[i]= zldivs(DoubleComplex(in1[i],0),in2);}
-
-#define c2s0OpDotBackSlashc2(in1,size,in2,out) c2c0OpDotBackSlashc2(in1,size,FloatComplex(in2,0),out)
-
-#define z2d0OpDotBackSlashz2(in1,size,in2,out) z2z0OpDotBackSlashz2(in1,size,DoubleComplex(in2,0),out)
-
-/* Matrix .\ Matrix */
-
-#define s2s2OpDotBackSlashs2(in1,size1,in2,size2,out) sldiva(in1,in2,size2[0]*size2[1],out)
-
-#define d2d2OpDotBackSlashd2(in1,size1,in2,size2,out) dldiva(in1,in2,size2[0]*size2[1],out)
-
-#define c2c2OpDotBackSlashc2(in1,size1,in2,size2,out) cldiva(in1,in2,size2[0]*size2[1],out)
-
-#define u82u82OpDotBackSlashu82(in1,size1,in2,size2,out) u8ldiva(in1,in2,size2[0]*size2[1],out)
-
-#define u162u162OpDotBackSlashu162(in1,size1,in2,size2,out) u16ldiva(in1,in2,size2[0]*size2[1],out)
-
-#define i82i82OpDotBackSlashi82(in1,size1,in2,size2,out) i8ldiva(in1,in2,size2[0]*size2[1],out)
-
-#define i162i162OpDotBackSlashi162(in1,size1,in2,size2,out) i16ldiva(in1,in2,size2[0]*size2[1],out)
-
-
-#define c2s2OpDotBackSlashc2(in1,size1,in2,size2,out) {int i;\
- for(i=0;i<size1[0]*size2[1];i++) out[i]= cldivs(in1[i],FloatComplex(in2[i], 0));}
-
-#define s2c2OpDotBackSlashc2(in1,size1,in2,size2,out) {int i; \
- for(i=0;i<size1[0]*size2[1];i++) out[i]= cldivs(FloatComplex(in1[i], 0),in2[i]);}
-
-#define z2z2OpDotBackSlashz2(in1,size1,in2,size2,out) zldiva(in1,in2,size2[0]*size2[1],out)
-
-#define z2d2OpDotBackSlashz2(in1,size1,in2,size2,out) {int i;\
- for(i=0;i<size1[0]*size2[1];i++) out[i]= zldivs(in1[i],DoubleComplex(in2[i], 0));}
-
-#define d2z2OpDotBackSlashz2(in1,size1,in2,size2,out) {int i;\
- for(i=0;i<size1[0]*size2[1];i++) out[i]= zldivs(DoubleComplex(in1[i], 0),in2[i]);}
-
-
-#endif /* !__INT_OPDOTBACKSLASH_H__ */
diff --git a/interfaces/int_OpDotHat.h b/interfaces/int_OpDotHat.h
deleted file mode 100644
index 2444f10..0000000
--- a/interfaces/int_OpDotHat.h
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * 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_OPDOTHAT_H__
-#define __INT_OPDOTHAT_H__
-
-
-/* Scalar - Scalar */
-#define s0s0OpDotHats0(in1, in2) spows(in1, in2)
-
-#define d0d0OpDotHatd0(in1, in2) dpows(in1, in2)
-
-#define c0c0OpDotHatc0(in1, in2) cpows(in1, in2)
-
-#define z0z0OpDotHatz0(in1, in2) zpows(in1, in2)
-
-#define u80u80OpDotHatu80(in1, in2) u8pows(in1, in2)
-
-#define u160u160OpDotHatu160(in1, in2) u16pows(in1, in2)
-
-#define i80i80OpDotHati80(in1, in2) i8pows(in1, in2)
-
-#define i160i160OpDotHati60(in1, in2) i16pows(in1, in2)
-
-#define s0c0OpDotHatc0(in1, in2) cpows(FloatComplex(in1,0), in2)
-
-#define c0s0OpDotHatc0(in1, in2) cpows(in1, FloatComplex(in2,0))
-
-#define d0z0OpDotHatz0(in1, in2) zpows(DoubleComplex(in1,0), in2)
-
-#define z0d0OpDotHatz0(in1, in2) zpows(in1, DoubleComplex(in2,0))
-
-
-/* Scalar - Matrix */
-#define s0s2OpDotHats2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=spows(in1,in2[i]);\
- }
-
-#define d0d2OpDotHatd2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=dpows(in1,in2[i]);\
- }
-
-
-#define c0c2OpDotHatc2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cpows(in1,in2[i]);\
- }
-
-
-#define z0z2OpDotHatz2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zpows(in1,in2[i]);\
- }
-
-#define u80u82OpDotHatu82(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=u8pows(in1,in2[i]);\
- }
-
-#define u160u162OpDotHatu162(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=u16pows(in1,in2[i]);\
- }
-#define i80i82OpDotHati82(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=i8pows(in1,in2[i]);\
- }
-
-#define i160i162OpDotHati162(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=i16pows(in1,in2[i]);\
- }
-
-
-#define s0c2OpDotHatc2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cpows(FloatComplex(in1,0),in2[i]);\
- }
-
-#define d0z2OpDotHatz2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zpows(DoubleComplex(in1,0),in2[i]);\
- }
-
-#define c0s2OpDotHatc2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cpows(in1,FloatComplex(in2[i],0));\
- }
-
-#define z0d2OpDotHatz2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zpows(in1,DoubleComplex(in2[i],0));\
- }
-
-
-/* Matrix - Scalar */
-
-#define s2s0OpDotHats2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=spows(in1[i],in2);\
- }
-
-#define d2d0OpDotHatd2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=dpows(in1[i],in2);\
- }
-
-#define c2c0OpDotHatc2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cpows(in1[i],in2);\
- }
-
-#define z2z0OpDotHatz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zpows(in1[i],in2);\
- }
-
-#define u82u80OpDotHatu82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=u8pows(in1[i],in2);\
- }
-
-#define u162u160OpDotHatu162(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=u16pows(in1[i],in2);\
- }
-
-#define i82i80OpDotHati82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=i8pows(in1[i],in2);\
- }
-
-#define i162i160OpDotHati162(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=i16pows(in1[i],in2);\
- }
-
-
-#define s2c0OpDotHatc2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cpows(FloatComplex(in1[i],0),in2);\
- }
-
-#define d2z0OpDotHatz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zpows(DoubleComplex(in1[i],0),in2);\
- }
-
-#define c2s0OpDotHatc2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cpows(in1[i],FloatComplex(in2,0));\
- }
-
-#define z2d0OpDotHatz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zpows(in1[i],DoubleComplex(in2,0));\
- }
-
-#define u82d0OpDotHatu82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=u8pows(in1[i],in2);\
- }
-
-#define u162d0OpDotHatu162(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=u16pows(in1[i],in2);\
- }
-
-
-#define i82d0OpDotHati82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=i8pows(in1[i],in2);\
- }
-
-#define i162d0OpDotHatui62(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=i16pows(in1[i],in2);\
- }
-
-
-
-/* Matrix - Matrix */
-
-#define s2s2OpDotHats2(in1, size1, in2, size2, out) spowa(in1, size1[0]*size2[1], in2, out)
-
-#define d2d2OpDotHatd2(in1, size1, in2, size2, out) dpowa(in1, size1[0]*size2[1], in2, out)
-
-#define c2c2OpDotHatc2(in1, size1, in2, size2, out) cpowa(in1, size1[0]*size2[1], in2, out)
-
-#define z2z2OpDotHatz2(in1, size1, in2, size2, out) zpowa(in1, size1[0]*size2[1], in2, out)
-
-#define u82u82OpDotHatu82(in1, size1, in2, size2, out) u8powa(in1, size1[0]*size2[1], in2, out)
-
-#define u162u162OpDotHatu162(in1, size1, in2, size2, out) u16powa(in1, size1[0]*size2[1], in2, out)
-
-#define i82i82OpDotHati82(in1, size1, in2, size2, out) i8powa(in1, size1[0]*size2[1], in2, out)
-
-#define i162i162OpDotHati162(in1, size1, in2, size2, out) i16powa(in1, size1[0]*size2[1], in2, out)
-
-#define s2c2OpDotHatc2(in1, size1, in2, size2, out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=cpows(FloatComplex(in1[i],0),in2[i]);\
- }
-
-#define c2s2OpDotHatc2(in1, size1, in2, size2, out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=cpows(in1[i],FloatComplex(in2[i],0));\
- }
-
-#define d2z2OpDotHatz2(in1, size1, in2, size2, out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=zpows(DoubleComplex(in1[i],0),in2[i]);\
- }
-
-#define z2d2OpDotHatz2(in1, size1, in2, size2, out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=zpows(in1[i],DoubleComplex(in2[i],0));\
- }
-
-
-
-
-#endif /* !__INT_OPDOTHAT_H__ */
diff --git a/interfaces/int_OpDotSlash.h b/interfaces/int_OpDotSlash.h
deleted file mode 100644
index 54f0c3a..0000000
--- a/interfaces/int_OpDotSlash.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * 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_OPDOTSLASH_H__
-#define __INT_OPDOTSLASH_H__
-
-/* Scalar ./ Scalar */
-
-#define s0s0OpDotSlashs0(in1,in2) srdivs(in1,in2)
-
-#define d0d0OpDotSlashd0(in1,in2) drdivs(in1,in2)
-
-#define c0c0OpDotSlashc0(in1,in2) crdivs(in1,in2)
-
-#define z0z0OpDotSlashz0(in1,in2) zrdivs(in1,in2)
-
-#define u80u80OpDotSlashu80(in1,in2) u8rdivs(in1,in2)
-
-#define u160u160OpDotSlashu160(in1,in2) u16rdivs(in1,in2)
-
-#define i80i80OpDotSlashi80(in1,in2) i8rdivs(in1,in2)
-
-#define i160i60OpDotSlashi60(in1,in2) i16divs(in1,in2)
-
-#define s0c0OpDotSlashc0(in1,in2) crdivs(FloatComplex(in1,0),in2)
-
-#define c0s0OpDotSlashc0(in1,in2) crdivs(in1,FloatComplex(in2,0))
-
-#define d0z0OpDotSlashz0(in1,in2) zrdivs(DoubleComplex(in1,0),in2)
-
-#define z0d0OpDotSlashz0(in1,in2) zrdivs(in1,DoubleComplex(in2,0))
-
-
-/* Scalar / Matrix */
-
-
-#define s0s2OpDotSlashs2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-
-
-#define d0d2OpDotSlashd2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-
-
-#define c0c2OpDotSlashc2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(in1,in2[i]);}
-
-
-#define z0z2OpDotSlashz2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(in1,in2[i]);}
-
-#define u80u82OpDotSlashu82(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-
-#define u160u162OpDotSlashu162(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-
-#define i80i82OpDotSlashi82(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-
-#define i160i162OpDotSlashi162(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-
-
-#define s0c2OpDotSlashc2(in1,in2,size,out) c0c2OpDotSlashc2(FloatComplex(in1,0),in2,size,out)
-
-
-#define d0z2OpDotSlashz2(in1,in2,size,out) z0z2OpDotSlashz2(DoubleComplex(in1,0),in2,size,out)
-
-
-#define c0s2OpDotSlashc2(in1,in2,size,out) {int i=0;\
- float* temp = malloc((uint)(size[0]*size[1])*sizeof(float));\
- sinverma(in2,temp,size[0]);\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,FloatComplex(temp[i],0));}
-
-#define z0d2OpDotSlashz2(in1,in2,size,out) {int i=0;\
- double* temp = malloc((uint)(size[0]*size[1])*sizeof(double));\
- dinverma(in2,temp,size[0]);\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,DoubleComplex(temp[i],0));}
-
-
-/* Matrix / Scalar */
-
-
-#define s2s0OpDotSlashs2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
-
-
-#define d2d0OpDotSlashd2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
-
-
-#define c2c0OpDotSlashc2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(in1[i],in2);}
-
-
-#define z2z0OpDotSlashz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(in1[i],in2);}
-
-#define u82u80OpDotSlashu82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++ out[i]=in[i]/in2);}
-
-#define u162u160OpDotSlashu162(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++ out[i]=in[i]/in2);}
-
-#define i82i80OpDotSlashi82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++ out[i]=in[i]/in2);}
-
-#define i162i160OpDotSlashi162(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++ out[i]=in[i]/in2);}
-
-
-
-#define s2c0OpDotSlashc2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(FloatComplex(in1[i],0),in2);}
-
-
-#define d2z0OpDotSlashz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(DoubleComplex(in1[i],0),in2);}
-
-
-#define c2s0OpDotSlashc2(in1,size,in2,out) c2c0OpDotSlashc2(in1,size,FloatComplex(in2,0),out)
-
-
-#define z2d0OpDotSlashz2(in1,size,in2,out) z2z0OpDotSlashz2(in1,size,DoubleComplex(in2,0),out)
-
-
-
-/* Matrix ./ Matrix */
-
-#define s2s2OpDotSlashs2(in1,size1,in2,size2,out) srdiva(in1,in2,size2[0]*size2[1],out)
-
-#define d2d2OpDotSlashd2(in1,size1,in2,size2,out) drdiva(in1,in2,size2[0]*size2[1],out)
-
-#define c2c2OpDotSlashc2(in1,size1,in2,size2,out) crdiva(in1,in2,size2[0]*size2[1],out)
-
-#define z2z2OpDotSlashz2(in1,size1,in2,size2,out) zrdiva(in1,in2,size2[0]*size2[1],out)
-
-#define u82u82OpDotSlashu82(in1,size1,in2,size2,out) u8rdiva(in1,in2,size2[0]*size2[1],out)
-
-#define u162u162OpDotSlashu162(in1,size1,in2,size2,out) u16rdiva(in1,in2,size2[0]*size2[1],out)
-
-#define i82i82OpDotSlashi82(in1,size1,in2,size2,out) i8rdiva(in1,in2,size2[0]*size2[1],out)
-
-#define i162i162OpDotSlashi162(in1,size1,in2,size2,out) i16rdiva(in1,in2,size2[0]*size2[1],out)
-
-
-
-
-
-#define c2s2OpDotSlashc2(in1,size1,in2,size2,out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=crdivs(in1[i],FloatComplex(in2[i],0));}
-
-#define s2c2OpDotSlashc2(in1,size1,in2,size2,out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=crdivs(FloatComplex(in1[i],0),in2[i]);}
-
-#define z2d2OpDotSlashz2(in1,size1,in2,size2,out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=zrdivs(in1[i],DoubleComplex(in2[i],0));}
-
-#define d2z2OpDotSlashz2(in1,size1,in2,size2,out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=zrdivs(DoubleComplex(in1[i],0),in2[i]);}
-
-
-
-#endif /* !__INT_OPDOTSLASH_H__ */
diff --git a/interfaces/int_OpDotStar.h b/interfaces/int_OpDotStar.h
deleted file mode 100644
index 4586e0c..0000000
--- a/interfaces/int_OpDotStar.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * 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_OPDOTSTAR_H__
-#define __INT_OPDOTSTAR_H__
-
-/* Scalar .* Scalar */
-
-#define s0s0OpDotStars0(in1,in2) smuls(in1,in2)
-
-#define d0d0OpDotStard0(in1,in2) dmuls(in1,in2)
-
-#define c0c0OpDotStarc0(in1,in2) cmuls(in1,in2)
-
-#define z0z0OpDotStarz0(in1,in2) zmuls(in1,in2)
-
-#define u80u80OpDotStaru80(in1,in2) u8muls(in1,in2)
-
-#define u160u160OpDotStaru160(in1,in2) u16muls(in1,in2)
-
-#define i80i80OpDotStari80(in1,in2) i8muls(in1,in2)
-
-#define i160i60OpDotStari60(in1,in2) i16muls(in1,in2)
-
-#define s0c0OpDotStarc0(in1,in2) cmuls(FloatComplex(in1,0),in2)
-
-#define c0s0OpDotStarc0(in1,in2) cmuls(in1,FloatComplex(in2,0))
-
-#define d0z0OpDotStarz0(in1,in2) zmuls(DoubleComplex(in1,0),in2)
-
-#define z0d0OpDotStarz0(in1,in2) zmuls(in1,DoubleComplex(in2,0))
-
-
-/* Scalar .* Matrix */
-
-#define s0s2OpDotStars2(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= smuls(in1,in2[i]);}
-
-#define d0d2OpDotStard2(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1,in2[i]);}
-
-#define c0c2OpDotStarc2(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1,in2[i]);}
-
-#define z0z2OpDotStarz2(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,in2[i]);}
-
-#define u80u82OpDotStaru80(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i] = u8muls(in1,in2[i]);}
-
-#define u160u162OpDotStaru160(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i] = u16muls(in1,in2[i]);}
-
-#define i80i82OpDotStari80(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i] = i8muls(in1,in2[i]);}
-
-#define i160i162OpDotStari160(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i] = i16muls(in1,in2[i]);}
-
-#define s0c2OpDotStarc2(in1,in2,size,out) c0c2OpDotStarc2(FloatComplex(in1,0),in2,size,out)
-
-#define d0z2OpDotStarz2(in1,in2,size,out) z0z2OpDotStarz2(DoubleComplex(in1,0),in2,size,out)
-
-#define c0s2OpDotStarc2(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1,FloatComplex(in2[i],0));}
-
-#define z0d2OpDotStarz2(in1,in2,size,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1,DoubleComplex(in2[i],0));}
-
-
-/* Matrix .* Scalar */
-
-#define s2s0OpDotStars2(in1,size,in2,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= smuls(in1[i],in2);}
-
-#define d2d0OpDotStard2(in1,size,in2,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= dmuls(in1[i],in2);}
-
-#define c2c0OpDotStarc2(in1,size,in2,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= cmuls(in1[i],in2);}
-
-#define z2z0OpDotStarz2(in1,size,in2,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= zmuls(in1[i],in2);}
-
-#define u82u80OpDotStaru82(in1,size,in2,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i] = u8muls(in[i],in2);}
-
-#define u162u160OpDotStaru162(in1,size,in2,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i] = u16muls(in[i],in2);}
-
-#define i82i80OpDotStari82(in1,size,in2,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i] = i8muls(in[i],in2);}
-
-#define i162i160OpDotStari162(in1,size,in2,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i] = i16muls(in[i],in2);}
-
-#define s2c0OpDotStarc2(in1,size,in2,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= cmuls(FloatComplex(in1[i],0),in2);}
-
-#define d2z0OpDotStarz2(in1,size,in2,out) {int i=0;\
- for(i=0;i<size[0]*size[1];i++) out[i]= zmuls(DoubleComplex(in1[i],0),in2);}
-
-#define c2s0OpDotStarc2(in1,size,in2,out) c2c0OpDotStarc2(in1,size,FloatComplex(in2,0),out)
-
-#define z2d0OpDotStarz2(in1,size,in2,out) z2z0OpDotStarz2(in1,size,DoubleComplex(in2,0),out)
-
-/* Matrix .* Matrix */
-
-#define s2s2OpDotStars2(in1,size1,in2,size2,out) smula(in1,in2,size1[0]*size2[1],out)
-
-#define d2d2OpDotStard2(in1,size1,in2,size2,out) dmula(in1,in2,size1[0]*size2[1],out)
-
-#define c2c2OpDotStarc2(in1,size1,in2,size2,out) cmula(in1,in2,size1[0]*size2[1],out)
-
-#define z2z2OpDotStarz2(in1,size1,in2,size2,out) zmula(in1,in2,size1[0]*size2[1],out)
-
-#define u82u82OpDotStaru82(in1,size1,in2,size2,out) u8mula(in1,in2,size1[0]*size2[1],out)
-
-#define u162u162OpDotStaru162(in1,size1,in2,size2,out) u16mula(in1,in2,size1[0]*size2[1],out)
-
-#define i82i82OpDotStari82(in1,size1,in2,size2,out) i8mula(in1,in2,size1[0]*size2[1],out)
-
-#define i162i61OpDotStari162(in1,size1,in2,size2,out) i16mula(in1,in2,size1[0]*size2[1],out)
-
-
-#define c2s2OpDotStarc2(in1,size1,in2,size2,out) {int i=0;\
- for(i=0;i<size1[0]*size2[1];i++) out[i]= cmuls(in1[i],FloatComplex(in2[i],0));}
-
-#define s2c2OpDotStarc2(in1,size1,in2,size2,out) {int i=0;\
- for(i=0;i<size1[0]*size2[1];i++) out[i]= cmuls(FloatComplex(in1[i],0),in2[i]);}
-
-
-#define z2d2OpDotStarz2(in1,size1,in2,size2,out) {int i=0;\
- for(i=0;i<size1[0]*size2[1];i++) out[i]= zmuls(in1[i],DoubleComplex(in2[i],0));}
-
-#define d2z2OpDotStarz2(in1,size1,in2,size2,out) {int i=0;\
- for(i=0;i<size1[0]*size2[1];i++) out[i]= zmuls(DoubleComplex(in1[i],0),in2[i]);}
-
-
-#endif /* !__INT_OPDOTSTAR_H__ */
diff --git a/interfaces/int_OpEqual.h b/interfaces/int_OpEqual.h
deleted file mode 100644
index 869b28d..0000000
--- a/interfaces/int_OpEqual.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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_OPEQUAL_H__
-#define __INT_OPEQUAL_H__
-
-
-#define s0OpEquals0(in) in
-
-#define d0OpEquald0(in) in
-
-#define c0OpEqualc0(in) in
-
-#define z0OpEqualz0(in) in
-
-#define s2OpEquals2(in1,size,out) {int i=0; \
- for (i = 0 ; i<size[0] * size[1] ; i++) out[i]=in1[i]; \
- }
-
-#define d2OpEquald2(in1,size,out) {int i=0; \
- for (i = 0 ; i<size[0] * size[1] ; i++) out[i]=in1[i]; \
- }
-
-#define g2OpEqualg2(in1,size,out) {int i=0; \
- for (i = 0 ; i<size[0] * size[1] ; i++) out[i]=in1[i]; \
- }
-
-#endif /* !__INT_OPEQUAL_H__ */
diff --git a/interfaces/int_OpExt.h b/interfaces/int_OpExt.h
deleted file mode 100644
index 7f11ede..0000000
--- a/interfaces/int_OpExt.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
- * Copyright (C) 2009-2010 - DIGITEO - 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_OPEXT_H__
-#define __INT_OPEXT_H__
-
-#define s2s0OpExts0(in1,size,in2) in1[((int)in2)-1];
-#define d2d0OpExtd0(in1,size,in2) in1[((int)in2)-1];
-#define c2s0OpExtc0(in1,size,in2) in1[((int)in2)-1];
-#define z2d0OpExtz0(in1,size,in2) in1[((int)in2)-1];
-
-#define s3s0OpExts0(in1,size,in2) in1[((int)in2)-1];
-#define d3d0OpExtd0(in1,size,in2) in1[((int)in2)-1];
-
-#define s2s0s0OpExts0(in1,size,row,col) in1[(((int) col)-1)*size[0]+((int) row)-1];
-#define d2d0d0OpExtd0(in1,size,row,col) in1[(((int) col)-1)*size[0]+((int) row)-1];
-#define c2s0s0OpExtc0(in1,size,row,col) in1[(((int) col)-1)*size[0]+((int) row)-1];
-#define z2d0d0OpExtz0(in1,size,row,col) in1[(((int) col)-1)*size[0]+((int) row)-1];
-
-
-#define s2s2OpExts2(in1,size1,in2,size2,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=in1[(int)in2[i]-1]; \
- }
-
-#define d2d2OpExtd2(in1,size1,in2,size2,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=in1[(int)in2[i]-1]; \
- }
-
-#define c2s2OpExtc2(in1,size1,in2,size2,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=in1[(int)in2[i]-1]; \
- }
-
-#define z2d2OpExtz2(in1,size1,in2,size2,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=in1[(int)in2[i]-1]; \
- }
-
-
-#define s2s2s0OpExts2(in1,size1,rows,size2,col,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=s2s0s0OpExts0(in1,size1,(int)rows[i],((int) col)); \
- }
-
-#define d2d2d0OpExtd2(in1,size1,rows,size2,col,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=d2d0d0OpExtd0(in1,size1,(int)rows[i],((int) col)); \
- }
-
-#define c2s2s0OpExtc2(in1,size1,rows,size2,col,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=c2s0s0OpExtc0(in1,size1,(int)rows[i],((int) col)); \
- }
-
-#define z2d2d0OpExtz2(in1,size1,rows,size2,col,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=z2d0d0OpExtz0(in1,size1,(int)rows[i],((int) col)); \
- }
-
-#define s2s0s2OpExts2(in1,size1,row,cols,size2,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=s2s0s0OpExts0(in1,size1,((int) row),(int)cols[i]); \
- }
-
-#define d2d0d2OpExtd2(in1,size1,row,cols,size2,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=d2d0d0OpExtd0(in1,size1,((int) row),(int)cols[i]); \
- }
-
-#define c2s0s2OpExtc2(in1,size1,row,cols,size2,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=c2s0s0OpExtc0(in1,size1,((int) row),(int)cols[i]); \
- }
-
-#define z2d0d2OpExtz2(in1,size1,row,cols,size2,out) {int i; \
- for (i=0;i<size2[0]*size2[1];i++) out[i]=z2d0d0OpExtz0(in1,size1,((int) row),(int)cols[i]); \
- }
-
-
-#define s2s2s2OpExts2(in1,size1,rows,size2,cols,size3,out) {int i,j; \
- for (i=0;i<size2[0]*size2[1];i++) \
- for (j=0;j<size3[0]*size3[1];j++) \
- out[i+j*size2[0]*size2[1]] = in1[((int)(cols[j])-1)*size1[0]+(int)(rows[i])-1]; \
- }
-
-#define d2d2d2OpExtd2(in1,size1,rows,size2,cols,size3,out) {int i,j; \
- for (i=0;i<size2[0]*size2[1];i++) \
- for (j=0;j<size3[0]*size3[1];j++) \
- out[i+j*size2[0]*size2[1]] = in1[((int)(cols[j])-1)*size1[0]+(int)(rows[i])-1]; \
- }
-
-#define c2s2s2OpExtc2(in1,size1,rows,size2,cols,size3,out) {int i,j; \
- for (i=0;i<size2[0]*size2[1];i++) \
- for (j=0;j<size3[0]*size3[1];j++) \
- out[i+j*size2[0]*size2[1]] = in1[((int)(cols[j])-1)*size1[0]+(int)(rows[i])-1]; \
- }
-
-#define z2d2d2OpExtz2(in1,size1,rows,size2,cols,size3,out) {int i,j; \
- for (i=0;i<size2[0]*size2[1];i++) \
- for (j=0;j<size3[0]*size3[1];j++) \
- out[i+j*size2[0]*size2[1]] = in1[((int)(cols[j])-1)*size1[0]+(int)(rows[i])-1]; \
- }
-
-#define d3d0d0d0OpExtd0(in, size, row, col, level) in[(int) ((row - 1)+ (col -1) * size[0] + (level - 1) * size[0] * size[1])];
-
-#endif /* !__INT_OPEXT_H__ */
diff --git a/interfaces/int_OpHat.h b/interfaces/int_OpHat.h
deleted file mode 100644
index f1bb8d5..0000000
--- a/interfaces/int_OpHat.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * 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_OPHAT_H__
-#define __INT_OPHAT_H__
-
-
-/* Scalar - Scalar */
-#define s0s0OpHats0(in1, in2) spows(in1, in2)
-
-#define d0d0OpHatd0(in1, in2) dpows(in1, in2)
-
-#define c0c0OpHatc0(in1, in2) cpows(in1, in2)
-
-#define u80u80OpHatu80(in1,in2) u8pows(in1, in2)
-
-#define u160u160OpHatu160(in1,in2) u16pows(in1, in2)
-
-#define i80i80OpHati80(in1,in2) i8pows(in1, in2)
-
-#define i160i60OpHati60(in1,in2) i6pows(in1, in2)
-
-#define s0c0OpHatc0(in1, in2) cpows(FloatComplex(in1,0), in2)
-
-#define c0s0OpHatc0(in1, in2) cpows(in1, FloatComplex(in2,0))
-
-#define z0z0OpHatz0(in1, in2) zpows(in1, in2)
-
-#define d0z0OpHatz0(in1, in2) zpows(DoubleComplex(in1,0), in2)
-
-#define z0d0OpHatz0(in1, in2) zpows(in1, DoubleComplex(in2,0))
-
-
-
-/* Scalar - Matrix */
-#define s0s2OpHats2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=spows(in1,in2[i]);\
- }
-
-#define d0d2OpHatd2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=dpows(in1,in2[i]);\
- }
-
-
-#define c0c2OpHatc2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cpows(in1,in2[i]);\
- }
-
-
-#define z0z2OpHatz2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zpows(in1,in2[i]);\
- }
-
-#define u80u82OpHatu82(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=u8pows(in1,in2[i]);\
- }
-
-
-#define u160u162OpHatu162(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=u16pows(in1,in2[i]);\
- }
-
-#define i80i82OpHati82(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=i8pows(in1,in2[i]);\
- }
-
-
-#define i160i162OpHati162(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=i16pows(in1,in2[i]);\
- }
-
-
-
-
-#define s0c2OpHatc2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cpows(FloatComplex(in1,0),in2[i]);\
- }
-
-#define d0z2OpHatz2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zpows(DoubleComplex(in1,0),in2[i]);\
- }
-
-#define c0s2OpHatc2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cpows(in1,FloatComplex(in2[i],0));\
- }
-
-#define z0d2OpHatz2(in1, in2, size, out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zpows(in1,DoubleComplex(in2[i],0));\
- }
-
-
-/* Matrix - Scalar */
-/* Matrices must be square */
-
-#define s2s0OpHats2(in1,size,in2,out) spowma(in1,size[0],in2,out);
-
-#define d2d0OpHatd2(in1,size,in2,out) dpowma(in1,size[0],in2,out);
-
-#define c2c0OpHatc2(in1,size,in2,out) cpowma(in1,size[0],in2,out);
-
-#define z2z0OpHatz2(in1,size,in2,out) zpowma(in1,size[0],in2,out);
-
-#define u82u80OpHatu82(in1,size,in2,out) u8powa(in1,size[0],in2,out)
-
-#define u162u162OpHatu162(in1,size,in2,out) u16powa(in1,size[0],in2,out)
-
-#define i82i80OpHati82(in1,size,in2,out) i8powa(in1,size[0],in2,out)
-
-#define i162i160OpHati82(in1,size,in2,out) i16powa(in1,size[0],in2,out)
-
-#define u82d0OpHatu82(in1,size,in2,out) u8powa(in1,size[0],in2,out)
-
-#define u162d0OpHatu162(in1,size,in2,out) u16powa(in1,size[0],in2,out)
-
-#define i82d0OpHati82(in1,size,in2,out) i8powa(in1,size[0],in2,out)
-
-#define i162d0OpHati162(in1,sine,in2,out) i16powa(in1,size[0],in2,out)
-
-/* FIXME : malloc here */
-#define s2c0OpHatc2(in1,size,in2,out) {float* tmp;\
- tmp = malloc((uint)(size[0]*size[1])*sizeof(float));\
- szerosa(tmp,size[0],size[1]);\
- cpowma(FloatComplexMatrix(in1,tmp,size[0]*size[1]),size[0],in2,out);\
- free(tmp);\
- }
-
-#define d2z0OpHatz2(in1,size,in2,out) {double* tmp;\
- tmp = malloc((uint)(size[0]*size[1])*sizeof(double));\
- dzerosa(tmp,size[0],size[1]);\
- zpowma(DoubleComplexMatrix(in1,tmp,size[0]*size[1]),size[0],in2,out);\
- free(tmp);\
- }
-
-#define c2s0OpHatc2(in1,size,in2,out) cpowma(in1,size[0],FloatComplex(in2,0),out);
-
-#define z2d0OpHatz2(in1,size,in2,out) zpowma(in1,size[0],DoubleComplex(in2,0),out);
-
-
-
-
-
-#endif /* !__INT_OPHAT_H__ */
diff --git a/interfaces/int_OpIns.h b/interfaces/int_OpIns.h
deleted file mode 100644
index d15876b..0000000
--- a/interfaces/int_OpIns.h
+++ /dev/null
@@ -1,364 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2009 - POLIBA - Raffaele NUTRICATO
- * Copyright (C) 2009 - INRIA - Arnaud TORSET
- * Copyright (C) 2010-2010 - DIGITEO - 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 __OPINS_H__
-#define __OPINS_H__
-
-
-/* a(3)=2 */
-#define s2s0s0OpIns(in,size,indice,newVal) in[(int) indice-1]=newVal;
-
-#define d2d0d0OpIns(in,size,indice,newVal) in[(int) indice-1]=newVal;
-
-#define c2s0c0OpIns(in,size,indice,newVal) in[(int) indice-1]=newVal;
-
-#define z2d0z0OpIns(in,size,indice,newVal) in[(int) indice-1]=newVal;
-
-#define s3s0s0OpIns(in,size,indice,newVal) in[(int) indice-1]=newVal;
-
-#define d3d0d0OpIns(in,size,indice,newVal) in[(int) indice-1]=newVal;
-
-/* a([1 2])=2 */
-#define s2s2s0OpIns(in,size1,indices,size2,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)indices[i]-1]=newVal;\
- }
-
-
-#define d2d2d0OpIns(in,size1,indices,size2,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)indices[i]-1]=newVal;\
- }
-
-#define c2s2c0OpIns(in,size1,indices,size2,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)indices[i]-1]=newVal;\
- }
-
-#define z2d2z0OpIns(in,size1,indices,size2,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)indices[i]-1]=newVal;\
- }
-/* a([1 2])=[3,1] */
-#define s2s2s2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=newVals[i];\
- }
-
-
-#define d2d2d2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=newVals[i];\
- }
-
-#define c2s2c2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=newVals[i];\
- }
-
-#define z2d2z2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=newVals[i];\
- }
-
-
-/* a(1,3)=2 */
-#define s2s0s0s0OpIns(in,size,row,col,newVal) in[(int)(col-1)*size[0]+(int)row-1]=newVal;
-
-#define d2d0d0d0OpIns(in,size,row,col,newVal) in[(int)(col-1)*size[0]+(int)row-1]=newVal;
-
-#define c2s0s0c0OpIns(in,size,row,col,newVal) in[(int)(col-1)*size[0]+(int)row-1]=newVal;
-
-#define z2d0d0z0OpIns(in,size,row,col,newVal) in[(int)(col-1)*size[0]+(int)row-1]=newVal;
-
-
-/* a(1,[3,1])=2 */
-#define s2s0s2s0OpIns(in,size1,row,cols,size2,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVal;\
- }
-
-#define d2d0d2d0OpIns(in,size1,row,cols,size2,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVal;\
- }
-
-#define c2s0s2c0OpIns(in,size1,row,cols,size2,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVal;\
- }
-
-#define z2d0d2z0OpIns(in,size1,row,cols,size2,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVal;\
- }
-
-
-/* a([3,1],1)=2 */
-#define s2s2s0s0OpIns(in,size1,rows,size2,col,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVal;\
- }
-
-#define d2d2d0d0OpIns(in,size1,rows,size2,col,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVal;\
- }
-
-#define c2s2s0c0OpIns(in,size1,rows,size2,col,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVal;\
- }
-
-#define z2d2d0z0OpIns(in,size1,rows,size2,col,newVal) {int i;\
- for (i=0;i<size2[0]*size2[1];i++) in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVal;\
- }
-
-/* a([3,1],[1 2])=2 */
-#define s2s2s2s0OpIns(in,size1,rows,size2,cols,size3,newVal) {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVal;\
- }
-
-#define d2d2d2d0OpIns(in,size1,rows,size2,cols,size3,newVal) {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVal;\
- }
-
-#define c2s2s2c0OpIns(in,size1,rows,size2,cols,size3,newVal) {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVal;\
- }
-
-#define z2d2d2z0OpIns(in,size1,rows,size2,cols,size3,newVal) {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVal;\
- }
-/* a(1,[3,1])=[2,5] */
-#define s2s0s2s2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVals[i];\
- }
-
-#define d2d0d2d2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVals[i];\
- }
-
-#define c2s0s2c2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVals[i];\
- }
-
-#define z2d0d2z2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(cols[i]-1)*size1[0]+(int)row-1]=newVals[i];\
- }
-/* a([3,1],1)=[2,5] */
-#define s2s2s0s2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVals[i];\
- }
-
-#define d2d2d0d2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVals[i];\
- }
-
-#define c2s2s0c2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVals[i];\
- }
-
-#define z2d2d0z2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(col-1)*size1[0]+(int)rows[i]-1]=newVals[i];\
- }
-
-/* a([3,1],[1 2])=[2,1,3,5] */
-#define s2s2s2s2OpIns(in,size1,rows,size2,cols,size3,newVals,size4) {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVals[i*size4[0]+j];\
- }
-
-#define d2d2d2d2OpIns(in,size1,rows,size2,cols,size3,newVals,size4) {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVals[i*size4[0]+j];\
- }
-
-#define c2s2s2c2OpIns(in,size1,rows,size2,cols,size3,newVals,size4) {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVals[i*size4[0]+j];\
- }
-
-#define z2d2d2z2OpIns(in,size1,rows,size2,cols,size3,newVals,size4) {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=newVals[i*size4[0]+j];\
- }
-
-
-/* Mixed types
-2 cases : we assign a real in a complex array => ok, we just have put the imaginary part to 0
- we assign a complex in a real array => ko, we can't enlarge the input matrix. So we just replace by the real part of the complex
-*/
-
-/* a(3)=2 */
-#define s2s0c0OpIns(in,size,indice,newVal) s2s0s0OpIns(in,size,indice,creals(newVal))
-
-#define d2d0z0OpIns(in,size,indice,newVal) d2d0d0OpIns(in,size,indice,zreals(newVal))
-
-#define c2s0s0OpIns(in,size,indice,newVal) c2s0c0OpIns(in,size,indice,FloatComplex(newVal,0))
-
-#define z2d0d0OpIns(in,size,indice,newVal) z2d0z0OpIns(in,size,indice,DoubleComplex(newVal,0))
-
-
-/* a([1 2])=2 */
-#define s2s2c0OpIns(in,size1,indices,size2,newVal) s2s2s0OpIns(in,size1,indices,size2,creals(newVal))
-
-#define d2d2z0OpIns(in,size1,indices,size2,newVal) d2d2d0OpIns(in,size1,indices,size2,zreals(newVal))
-
-#define c2s2s0OpIns(in,size1,indices,size2,newVal) c2s2c0OpIns(in,size1,indices,size2,FloatComplex(newVal,0))
-
-#define z2d2d0OpIns(in,size1,indices,size2,newVal) z2d2z0OpIns(in,size1,indices,size2,DoubleComplex(newVal,0))
-
-
-/* a([1 2])=[3,1] */
-#define s2s2c2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=creals(newVals[i]);\
- }
-
-
-#define d2d2z2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=zreals(newVals[i]);\
- }
-
-#define c2s2s2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=FloatComplex(newVals[i],0);\
- }
-
-#define z2d2d2OpIns(in,size1,indices,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size3[1];i++) in[(int)indices[i]-1]=DoubleComplex(newVals[i],0);\
- }
-
-
-/* a(1,3)=2 */
-#define s2s0s0c0OpIns(in,size,row,col,newVal) s2s0s0s0OpIns(in,size,row,col,creals(newVal))
-
-#define d2d0d0z0OpIns(in,size,row,col,newVal) d2d0d0d0OpIns(in,size,row,col,zreals(newVal))
-
-#define c2s0s0s0OpIns(in,size,row,col,newVal) c2s0s0c0OpIns(in,size,row,col,FloatComplex(newVal,0))
-
-#define z2d0d0d0OpIns(in,size,row,col,newVal) z2d0d0z0OpIns(in,size,row,col,DoubleComplex(newVal,0))
-
-
-/* a(1,[3,1])=2 */
-#define s2s0s2c0OpIns(in,size1,row,cols,size2,newVal) s2s0s2s0OpIns(in,size1,row,cols,size2,creals(newVal))
-
-#define d2d0d2z0OpIns(in,size1,row,cols,size2,newVal) d2d0d2d0OpIns(in,size1,row,cols,size2,zreals(newVal))
-
-#define c2s0s2s0OpIns(in,size1,row,cols,size2,newVal) c2s0s2c0OpIns(in,size1,row,cols,size2,FloatComplex(newVal,0))
-
-#define z2d0d2d0OpIns(in,size1,row,cols,size2,newVal) z2d0d2z0OpIns(in,size1,row,cols,size2,DoubleComplex(newVal,0))
-
-
-/* a([3,1],1)=2 */
-#define s2s2s0c0OpIns(in,size1,rows,size2,col,newVal) s2s2s0s0OpIns(in,size1,rows,size2,col,creals(newVal))
-
-#define d2d2d0z0OpIns(in,size1,rows,size2,col,newVal) d2d2d0d0OpIns(in,size1,rows,size2,col,zreals(newVal))
-
-#define c2s2s0s0OpIns(in,size1,rows,size2,col,newVal) c2s2s0c0OpIns(in,size1,rows,size2,col,FloatComplex(newVal,0))
-
-#define z2d2d0d0OpIns(in,size1,rows,size2,col,newVal) z2d2d0z0OpIns(in,size1,rows,size2,col,DoubleComplex(newVal,0))
-
-/* a([3,1],[1 2])=2 */
-#define s2s2s2c0OpIns(in,size1,rows,size2,cols,size3,newVal) s2s2s2s0OpIns(in,size1,rows,size2,cols,size3,creals(newVal))
-
-#define d2d2d2z0OpIns(in,size1,rows,size2,cols,size3,newVal) d2d2d2d0OpIns(in,size1,rows,size2,cols,size3,zreals(newVal))
-
-#define c2s2s2s0OpIns(in,size1,rows,size2,cols,size3,newVal) c2s2s2c0OpIns(in,size1,rows,size2,cols,size3,FloatComplex(newVal,0))
-
-#define z2d2d2d0OpIns(in,size1,rows,size2,cols,size3,newVal) z2d2d2z0OpIns(in,size1,rows,size2,cols,size3,DoubleComplex(newVal,0))
-
-
-/* a(1,[3,1])=[2,5] */
-#define s2s0s2c2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(cols[i]-1)*size1[0]+(int)row-1]=creals(newVals[i]);\
- }
-
-#define d2d0d2z2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(cols[i]-1)*size1[0]+(int)row-1]=zreals(newVals[i]);\
- }
-
-#define c2s0s2s2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(cols[i]-1)*size1[0]+(int)row-1]=FloatComplex(newVals[i],0);\
- }
-
-#define z2d0d2d2OpIns(in,size1,row,cols,size2,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(cols[i]-1)*size1[0]+(int)row-1]=DoubleComplex(newVals[i],0);\
- }
-/* a([3,1],1)=[2,5] */
-#define s2s2s0c2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(col-1)*size1[0]+(int)rows[i]-1]=creals(newVals[i]);\
- }
-
-#define d2d2d0z2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(col-1)*size1[0]+(int)rows[i]-1]=zreals(newVals[i]);\
- }
-
-#define c2s2s0s2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(col-1)*size1[0]+(int)rows[i]-1]=FloatComplex(newVals[i],0);\
- }
-
-#define z2d2d0d2OpIns(in,size1,rows,size2,col,newVals,size3) {int i;\
- for (i=0;i<size2[0]*size2[1];i++)\
- in[(int)(col-1)*size1[0]+(int)rows[i]-1]=DoubleComplex(newVals[i],0);\
- }
-
-/* a([3,1],[1 2])=[2,1,3,5] */
-#define s2s2s2c2OpIns(in,size1,rows,size2,cols,size3,newVals,size4)\
- {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=creals(newVals[i*size4[0]+j]);\
- }
-
-#define d2d2d2z2OpIns(in,size1,rows,size2,cols,size3,newVals,size4)\
- {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=zreals(newVals[i*size4[0]+j]);\
- }
-
-#define c2s2s2s2OpIns(in,size1,rows,size2,cols,size3,newVals,size4)\
- {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=FloatComplex(newVals[i*size4[0]+j],0);\
- }
-
-#define z2d2d2d2OpIns(in,size1,rows,size2,cols,size3,newVals,size4)\
- {int i,j;\
- for (i=0;i<size3[0]*size3[1];i++)\
- for (j=0;j<size2[0]*size2[1];j++)\
- in[(int)(cols[i]-1)*size1[0]+(int)rows[j]-1]=DoubleComplex(newVals[i*size4[0]+j],0);\
- }
-
-/* a(x,y,z) = b */
-
-#define s3s0s0s0s0OpIns(in, size1, row, col, level, newVal) \
- in[(int) ((row - 1) + (col - 1) * size1[0] + (level - 1) * size1[0] * size1[1])] = newVal;
-
-#define d3d0d0d0d0OpIns(in, size1, row, col, level, newVal) \
- in[(int) ((row - 1) + (col - 1) * size1[0] + (level - 1) * size1[0] * size1[1])] = newVal;
-#endif /* !__OPINS_H__ */
diff --git a/interfaces/int_OpLogAnd.h b/interfaces/int_OpLogAnd.h
deleted file mode 100644
index 50a3189..0000000
--- a/interfaces/int_OpLogAnd.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * 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_OPLOGAND_H__
-#define __INT_OPLOGAND_H__
-
-#define Bool2Float(in) ((in) ? 1.0f : 0.0f)
-
-#define Bool2Double(in) ((in) ? 1.0 : 0.0)
-
-#define Bool2Uint8(in) ((in) ? (uint8)1 : (uint8)0)
-
-#define Bool2Int8(in) ((in) ? (int8)1 : (int8)0)
-
-#define Bool2Uint16(in) ((in) ? (uint16)1 : (uint16)0)
-
-#define Bool2Int16(in) ((in) ? (int16)1 : (int16)0)
-
-/*scalar and scalar*/
-
-#define s0s0OpLogAnds0(in1, in2) Bool2Float(in1 != 0.0 && in2 != 0.0)
-
-#define s0c0OpLogAnds0(in1, in2) Bool2Float(in1 != 0.0 && (creals(in2) != 0.0 || cimags(in2)))
-
-#define c0s0OpLogAnds0(in1, in2) Bool2Float((creals(in1) != 0.0 || cimags(in1) != 0.0) && in2 != 0.0)
-
-#define c0c0OpLogAnds0(in1, in2) Bool2Float((creals(in1) != 0.0 || cimags(in1) != 0.0) && (creals(in2) != 0.0 || cimags(in2)))
-
-
-#define d0d0OpLogAndd0(in1, in2) Bool2Double(in1 != 0.0 && in2 != 0.0)
-
-#define z0z0OpLogAndd0(in1, in2) Bool2Double((zreals(in1) != 0.0 || zimags(in1) != 0.0) && (zreals(in2) != 0.0 || zimags(in2)))
-
-#define d0z0OpLogAndd0(in1, in2) Bool2Double(in1 != 0.0 && (zreals(in2) != 0.0 || zimags(in2)))
-
-#define z0d0OpLogAndd0(in1, in2) Bool2Double((zreals(in1) != 0.0 || zimags(in1) != 0.0) && in2 != 0.0)
-
-#define u80u80OpLogAndu80(in1, in2) Bool2Uint8(in1 != 0 && in2 != 0)
-
-#define i80i80OpLogAndi80(in1, in2) Bool2Int8(in1 != 0 && in2 != 0)
-
-#define u160u160OpLogAndu160(in1, in2) Bool2Uint16(in1 != 0 && in2 != 0)
-
-#define i160i160OpLogAndi160(in1, in2) Bool2Int16(in1 != 0 && in2 != 0)
-
-
-/*matrix and scalar*/
-
-#define s2s0OpLogAnds2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Float(in1[i] != 0.0 && in2 != 0.0);}
-
-#define s2c0OpLogAnds2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Float(in1[i] != 0.0 && (creals(in2) != 0.0 || cimags(in2)));}
-
-#define c2s0OpLogAnds2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Float((creals(in1[i]) != 0.0 || cimags(in1[i]) != 0.0) && in2 != 0.0);}
-
-#define c2c0OpLogAnds2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Float((creals(in1[i]) != 0.0 || cimags(in1[i]) != 0.0) && (creals(in2) != 0.0 || cimags(in2)));}
-
-
-#define d2d0OpLogAndd2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Double(in1[i] != 0.0 && in2 != 0.0);}
-
-#define z2z0OpLogAndd2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.0 || zimags(in1[i]) != 0.0) && (zreals(in2) != 0.0 || zimags(in2)));}
-
-#define d2z0OpLogAndd2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Double(in1[i] != 0.0 && (zreals(in2) != 0.0 || zimags(in2)));}
-
-#define z2d0OpLogAndd2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.0 || zimags(in1[i]) != 0.0) && in2 != 0.0);}
-
-#define u82u80OpLogAndu82(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Uint8(in1[i] != 0 && in2 != 0);}
-
-#define i82i80OpLogAndi82(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Int8(in1[i] != 0 && in2 != 0);}
-
-#define u82u80OpLogAndu82(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Uint8(in1[i] != 0 && in2 != 0);}
-
-#define u162u160OpLogAndu162(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Uint16(in1[i] != 0 && in2 != 0);}
-
-#define i162i160OpLogAndi162(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Int16(in1[i] != 0 && in2 != 0);}
-
-/*scalar and matrix*/
-
-#define s0s2OpLogAnds2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float(in1 != 0.0 && in2[i] != 0.0);}
-
-#define s0c2OpLogAnds2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float(in1 != 0.0 && (creals(in2[i]) != 0.0 || cimags(in2[i])));}
-
-#define c0s2OpLogAnds2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float((creals(in1) != 0.0 || cimags(in1) != 0.0) && in2[i] != 0.0);}
-
-#define c0c2OpLogAnds2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float((creals(in1) != 0.0 || cimags(in1) != 0.0) && (creals(in2[i]) != 0.0 || cimags(in2[i])));}
-
-
-#define d0d2OpLogAndd2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double(in1 != 0.0 && in2[i] != 0.0);}
-
-#define z0z2OpLogAndd2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1) != 0.0 || zimags(in1) != 0.0) && (zreals(in2[i]) != 0.0 || zimags(in2[i])));}
-
-#define d0z2OpLogAndd2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double(in1 != 0.0 && (zreals(in2[i]) != 0.0 || zimags(in2[i])));}
-
-#define z0d2OpLogAndd2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1) != 0.0 || zimags(in1) != 0.0) && in2[i] != 0.0);}
-
-#define u80u82OpLogAndu82(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint8(in1 != 0 && in2[i] != 0);}
-
-#define i80i82OpLogAndi82(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int8(in1 != 0 && in2[i] != 0);}
-
-#define u160u162OpLogAndu162(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint16(in1 != 0 && in2[i] != 0);}
-
-#define i160i162OpLogAndi162(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int16(in1 != 0 && in2[i] != 0);}
-
-/*TODO matrix and matrix*/
-
-#define s2s2OpLogAnds2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float(in1[i] != 0.0 && in2[i] != 0.0);}
-
-#define s2c2OpLogAnds2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float(in1[i] != 0.0 && (creals(in2[i]) != 0.0 || cimags(in2[i])));}
-
-#define c2s2OpLogAnds2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float((creals(in1[i]) != 0.0 || cimags(in1[i]) != 0.0) && in2[i] != 0.0);}
-
-#define c2c2OpLogAnds2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float((creals(in1[i]) != 0.0 || cimags(in1[i]) != 0.0) && (creals(in2[i]) != 0.0 || cimags(in2[i])));}
-
-
-#define d2d2OpLogAndd2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double(in1[i] != 0.0 && in2[i] != 0.0);}
-
-#define z2z2OpLogAndd2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.0 || zimags(in1[i]) != 0.0) && (zreals(in2[i]) != 0.0 || zimags(in2[i])));}
-
-#define d2z2OpLogAndd2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double(in1[i] != 0.0 && (zreals(in2[i]) != 0.0 || zimags(in2[i])));}
-
-#define z2d2OpLogAndd2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.0 || zimags(in1[i]) != 0.0) && in2[i] != 0.0;)}
-
-
-#define u82u82OpLogAndu82(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint8(in1[i] != 0 && in2[i] != 0);}
-
-#define i82i82OpLogAndi82(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int8(in1[i] != 0 && in2[i] != 0);}
-
-#define u162u162OpLogAndu162(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint16(in1[i] != 0 && in2[i] != 0);}
-
-#define i162i162OpLogAndi162(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int16(in1[i] != 0 && in2[i] != 0);}
-
-#endif /* !__INT_OPLOGAND_H__ */
diff --git a/interfaces/int_OpLogEq.h b/interfaces/int_OpLogEq.h
deleted file mode 100644
index b693db6..0000000
--- a/interfaces/int_OpLogEq.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-** -*- C -*-
-**
-**
-** Made by Raffaele.Nutricato@tiscali.it
-**
-** Copyright Raffaele Nutricato
-*/
-/* Modified by Arnaud Torset */
-
-
-#ifndef __OPLOGEQ_H__
-#define __OPLOGEQ_H__
-
-#include "floatComplex.h"
-#include "doubleComplex.h"
-#include "types.h"
-
-#define s0s0OpLogEqs0(in1,in2) (float) (in1 == in2)
-#define d0d0OpLogEqd0(in1,in2) (double) (in1 == in2)
-#define c0c0OpLogEqs0(in1,in2) (float) ((creals(in1) == creals(in2)) && (cimags(in1) == cimags(in2)))
-#define z0z0OpLogEqd0(in1,in2) (double) ((zreals(in1) == zreals(in2)) && (zimags(in1) == zimags(in2)))
-#define u80u80OpLogEqu80(in1,in2) (uint8) (in1 == in2)
-#define i80i80OpLogEqi80(in1,in2) (int8) (in1 == in2)
-#define u160u160OpLogEqu160(in1,in2) (uint16) (in1 == in2)
-#define i160i160OpLogEqi160(in1,in2) (int16) (in1 == in2)
-
-
-#define s0c0OpLogEqs0(in1,in2) (float) ((in1==creals(in2)) && (0==cimags(in2)))
-#define d0z0OpLogEqd0(in1,in2) (double) ((in1==zreals(in2)) && (0==zimags(in2)))
-#define c0s0OpLogEqs0(in1,in2) s0c0OpLogEqs0(in2,in1)
-#define z0d0OpLogEqd0(in1,in2) d0z0OpLogEqd0(in2,in1)
-
-#define u80d0OpLogEqu80(in1,in2) (uint8) (in1 == (uint8)in2)
-#define i80d0OpLogEqi80(in1,in2) (int8) (in1 == (int8)in2)
-#define u160d0OpLogEqu160(in1,in2) (uint16) (in1 == (uint16)in2)
-#define i160d0OpLogEqi160(in1,in2) (int16) (in1 == (int16)in2)
-
-#define d0u80OpLogEqu80(in1,in2) (uint8) ((uint8)in1 == in2)
-#define d0i80OpLogEqi80(in1,in2) (int8) ((int8)in1 == in2)
-#define d0u160OpLogEqu160(in1,in2) (uint16) ((uint16)in1 == in2)
-#define d0i160OpLogEqi160(in1,in2) (int16) ((int16)in1 == in2)
-
-
-#define s2s0OpLogEqs2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(float)(in1[i]==in2);\
- }
-#define d2d0OpLogEqd2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(double)(in1[i]==in2);\
- }
-#define c2c0OpLogEqs2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(float)((creals(in1[i])==creals(in2))&&(cimags(in1[i])==cimags(in2)));\
- }
-#define z2z0OpLogEqd2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(double)((zreals(in1[i])==zreals(in2))&&(zimags(in1[i])==zimags(in2)));\
- }
-
-
-#define c2s0OpLogEqs2(in1,size,in2,out) c2c0OpLogEqs2(in1,size,FloatComplex(in2,0),out)
-#define z2d0OpLogEqd2(in1,size,in2,out) z2z0OpLogEqd2(in1,size,DoubleComplex(in2,0),out)
-
-#define s2c0OpLogEqs2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(float)((in1[i]==creals(in2))&&(cimags(in2)==0));\
- }
-
-#define d2z0OpLogEqd2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(double)((in1[i]==zreals(in2))&&(zimags(in2)==0));\
- }
-#define u82u80OpLogEqu82(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(uint8)(in1[i]==in2);\
- }
-
-#define i82i80OpLogEqi82(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(int8)(in1[i]==in2);\
- }
-
-#define u162u160OpLogEqu162(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(uint16)(in1[i]==in2);\
- }
-
-#define i162i160OpLogEqi162(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(int16)(in1[i]==in2);\
- }
-
-#define s0s2OpLogEqs2(in1,in2,inSize,out) s2s0OpLogEqs2(in2,inSize,in1,out)
-#define c0s2OpLogEqs2(in1,in2,inSize,out) s2c0OpLogEqs2(in2,inSize,in1,out)
-#define d0d2OpLogEqd2(in1,in2,inSize,out) d2d0OpLogEqd2(in2,inSize,in1,out)
-#define z0d2OpLogEqd2(in1,in2,inSize,out) d2z0OpLogEqd2(in2,inSize,in1,out)
-#define s0c2OpLogEqs2(in1,in2,inSize,out) c2s0OpLogEqs2(in2,inSize,in1,out)
-#define c0c2OpLogEqs2(in1,in2,inSize,out) c2c0OpLogEqs2(in2,inSize,in1,out)
-#define d0z2OpLogEqd2(in1,in2,inSize,out) z2d0OpLogEqd2(in2,inSize,in1,out)
-#define z0z2OpLogEqd2(in1,in2,inSize,out) z2z0OpLogEqd2(in2,inSize,in1,out)
-#define u80u82OpLogEqu82(in1,in2,inSize,out) u82u80OpLogEqu82(in2,inSize,in1,out)
-#define i80i82OpLogEqi82(in1,in2,inSize,out) i82i80OpLogEqi82(in2,inSize,in1,out)
-#define u160u162OpLogEqu162(in1,in2,inSize,out) u162u160OpLogEq162(in2,inSize,in1,out)
-#define i160i162OpLogEqi162(in1,in2,inSize,out) i162i160OpLogEqi162(in2,inSize,in1,out)
-
-
-/* we must have size1=size2 */
-
-#define s2s2OpLogEqs2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(float)(in1[i]==in2[i]);\
- }
-#define d2d2OpLogEqd2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(double)(in1[i]==in2[i]);\
- }
-#define c2c2OpLogEqs2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) \
- out[i]=(float)((creals(in1[i])==creals(in2[i]))&&(cimags(in1[i])==cimags(in2[i])));\
- }
-#define z2z2OpLogEqd2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) \
- out[i]=(double)((zreals(in1[i])==zreals(in2[i]))&&(zimags(in1[i])==zimags(in2[i])));\
- }
-
-#define s2c2OpLogEqs2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) \
- out[i]=(float)((in1[i]==creals(in2[i]))&&(0==cimags(in2[i])));\
- }
-#define d2z2OpLogEqd2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) \
- out[i]=(double)((in1[i]==zreals(in2[i]))&&(0==zimags(in2[i])));\
- }
-
-#define c2s2OpLogEqs2(in1,size1,in2,size2,out) s2c2OpLogEqs2(in2,size2,in1,size1,out)
-#define z2d2OpLogEqd2(in1,size1,in2,size2,out) d2z2OpLogEqd2(in2,size2,in1,size1,out)
-
-#define u82u82OpLogEqu82(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(uint8)(in1[i]==in2[i]);\
- }
-
-#define i82i82OpLogEqi82(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(int8)(in1[i]==in2[i]);\
- }
-
-#define u162u162OpLogEqu162(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(uint16)(in1[i]==in2[i]);\
- }
-
-#define i162i162OpLogEqi162(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(int16)(in1[i]==in2[i]);\
- }
-
-
-#endif /* !__OPLOGEQ_H__ */
diff --git a/interfaces/int_OpLogGe.h b/interfaces/int_OpLogGe.h
deleted file mode 100644
index edbdc07..0000000
--- a/interfaces/int_OpLogGe.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006-2007 - 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
- *
- */
-
-/*
- Update 23/02/09 by Arnaud Torset : Add matrix comparaison, remove include(floatComplex and doubleComplex)
-*/
-
-#ifndef __OPLOGGE_H__
-#define __OPLOGGE_H__
-
-
-#define s0s0OpLogGes0(in1,in2) (float) (in1 >= in2)
-#define d0d0OpLogGed0(in1,in2) (double) (in1 >= in2)
-
-#define u80u80OpLogGeu80(in1,in2) (uint8) (in1 >= in2)
-
-#define i80i80OpLogGei80(in1,in2) (int8) (in1 >= in2)
-
-#define u160u160OpLogGeu160(in1,in2) (uint16) (in1 >= in2)
-
-#define i160i160OpLogGei160(in1,in2) (int16) (in1 >= in2)
-
-
-#define s2s0OpLogGes2(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGes0(in1[i],in2);\
- }
-
-
-#define u82u80OpLogGeu82(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogGeu80(in1[i],in2);\
- }
-
-#define i82i80OpLogGei82(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogGei80(in1[i],in2);\
- }
-
-#define u82u80OpLogGeu82(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogGeu80(in1[i],in2);\
- }
-
-#define u162u160OpLogGeu162(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogGeu160(in1[i],in2);\
- }
-
-#define i162i160OpLogGei162(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogGei160(in1[i],in2);\
- }
-
-#define s0s2OpLogGes2(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogGes0(in1,in2[i]);\
- }
-
-#define u80u82OpLogGeu82(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u80u80OpLogGeu80(in1,in2[i]);\
- }
-
-#define u160u162OpLogGeu162(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u160u160OpLogGeu160(in1,in2[i]);\
- }
-
-
-#define i160i162OpLogGei162(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i160i160OpLogGei160(in1,in2[i]);\
- }
-
-/* we must have size1=size2 */
-#define s2s2OpLogGes2(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGes0(in1[i],in2[i]);\
- }
-
-#define d2d0OpLogGed2(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogGed0(in1[i],in2);\
- }
-
-#define d0d2OpLogGed2(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = d0d0OpLogGed0(in1,in2[i]);\
- }
-
-/* we must have size1=size2 */
-#define d2d2OpLogGed2(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogGed0(in1[i],in2[i]);\
- }
-
-#define u82u82OpLogGeu82(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogGeu80(in1[i],in2[i]);\
- }
-
-#define i82i82OpLogGei82(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogGei80(in1[i],in2[i]);\
- }
-
-#define u162u162OpLogGeu162(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogGeu160(in1[i],in2[i]);\
- }
-
-#define i162i162OpLogGei162(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogGei160(in1[i],in2[i]);\
- }
-
-
-#endif /* !__OPLOGGE_H__ */
diff --git a/interfaces/int_OpLogGt.h b/interfaces/int_OpLogGt.h
deleted file mode 100644
index 38c76cf..0000000
--- a/interfaces/int_OpLogGt.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006-2007 - 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
- *
- */
-
-/*
- Update 23/02/09 by Arnaud Torset : Add matrix comparaison, remove include(floatComplex and doubleComplex)
-*/
-
-#ifndef __OPLOGGT_H__
-#define __OPLOGGT_H__
-
-
-#define s0s0OpLogGts0(in1,in2) (float) (in1 > in2)
-#define d0d0OpLogGtd0(in1,in2) (double) (in1 > in2)
-
-#define u80u80OpLogGtu80(in1,in2) (uint8) (in1 > in2)
-#define i80i80OpLogGti80(in1,in2) (int8) (in1 > in2)
-#define u160u160OpLogGtu160(in1,in2) (uint16) (in1 > in2)
-#define i160i160OpLogGti160(in1,in2) (int16) (in1 > in2)
-
-#define s2s0OpLogGts2(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGts0(in1[i],in2);\
- }
-
-#define u82u80OpLogGtu82(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogGtu80(in1[i],in2);\
- }
-
-#define i82i80OpLogGti82(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogGti80(in1[i],in2);\
- }
-
-#define u162u160OpLogGtu162(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogGtu160(in1[i],in2);\
- }
-
-#define i162i160OpLogGti162(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogGti160(in1[i],in2);\
- }
-
-#define s0s2OpLogGts2(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogGts0(in1,in2[i]);\
- }
-
-#define u80u82OpLogGtu82(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u80u80OpLogGtu80(in1,in2[i]);\
- }
-
-#define i80i82OpLogGti82(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i80i80OpLogGti80(in1,in2[i]);\
- }
-
-#define u160u162OpLogGtu162(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u160u160OpLogGtu160(in1,in2[i]);\
- }
-
-#define i160i162OpLogGti162(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i160i160OpLogGti160(in1,in2[i]);\
- }
-
-/* we must have size1=size2 */
-#define s2s2OpLogGts2(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogGts0(in1[i],in2[i]);\
- }
-
-#define d2d0OpLogGtd2(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogGtd0(in1[i],in2);\
- }
-
-#define d0d2OpLogGtd2(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = d0d0OpLogGtd0(in1,in2[i]);\
- }
-
-/* we must have size1=size2 */
-#define d2d2OpLogGtd2(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogGtd0(in1[i],in2[i]);\
- }
-
-#define u82u82OpLogGtu82(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogGtu80(in1[i],in2[i]);\
- }
-
-#define i82i82OpLogGti82(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogGti80(in1[i],in2[i]);\
- }
-
-#define u162u162OpLogGtu162(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogGt160(in1[i],in2[i]);\
- }
-
-#define i162i162OpLogGti162(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogGti160(in1[i],in2[i]);\
- }
-
-#endif /* !__OPLOGGT_H__ */
diff --git a/interfaces/int_OpLogLe.h b/interfaces/int_OpLogLe.h
deleted file mode 100644
index 8dbd1aa..0000000
--- a/interfaces/int_OpLogLe.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006-2007 - 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
- *
- */
-
-/*
- Update 23/02/09 by Arnaud Torset : Add matrix comparaison, remove include(floatComplex and doubleComplex)
-*/
-
-#ifndef __OPLOGLE_H__
-#define __OPLOGLE_H__
-
-
-#define s0s0OpLogLes0(in1,in2) (float) (in1 <= in2)
-#define d0d0OpLogLed0(in1,in2) (double) (in1 <= in2)
-#define u80u80OpLogLeu80(in1,in2) (uint8) (in1 <= in2)
-#define i80i80OpLogLei80(in1,in2) (int8) (in1 <= in2)
-#define u160u160OpLogLeu160(in1,in2) (uint16) (in1 <= in2)
-#define i160i160OpLogLei160(in1,in2) (int16) (in1 <= in2)
-
-#define s2s0OpLogLes2(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLes0(in1[i],in2);\
- }
-
-#define u82u80OpLogLeu82(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogLeu80(in1[i],in2);\
- }
-
-#define i82i80OpLogLei82(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogLei80(in1[i],in2);\
- }
-
-#define u162u160OpLogLeu162(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogLeu160(in1[i],in2);\
- }
-
-#define i162i160OpLogLei162(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogLei160(in1[i],in2);\
- }
-
-#define s0s2OpLogLes2(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogLes0(in1,in2[i]);\
- }
-
-#define u80u82OpLogLeu82(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u80u80OpLogLeu80(in1,in2[i]);\
- }
-
-#define i80i82OpLogLei82(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i80i80OpLogLei80(in1,in2[i]);\
- }
-
-#define u160u162OpLogLeu162(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u160u160OpLogLeu160(in1,in2[i]);\
- }
-
-#define i160i162OpLogLei162(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i160i160OpLogLei160(in1,in2[i]);\
- }
-
-/* we must have size1=size2 */
-#define s2s2OpLogLes2(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLes0(in1[i],in2[i]);\
- }
-
-#define d2d0OpLogLed2(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogLed0(in1[i],in2);\
- }
-
-#define d0d2OpLogLed2(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = d0d0OpLogLed0(in1,in2[i]);\
- }
-
-/* we must have size1=size2 */
-#define d2d2OpLogLed2(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogLed0(in1[i],in2[i]);\
- }
-
-#define u82u82OpLogLeu82(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogLeu80(in1[i],in2[i]);\
- }
-
-#define i82i82OpLogLei82(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogLei80(in1[i],in2[i]);\
- }
-
-#define u162u162OpLogLeu162(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogLeu160(in1[i],in2[i]);\
- }
-
-#define i162i162OpLogLei162(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogLei160(in1[i],in2[i]);\
- }
-
-#endif /* !__OPLOGLE_H__ */
diff --git a/interfaces/int_OpLogLt.h b/interfaces/int_OpLogLt.h
deleted file mode 100644
index 8974b15..0000000
--- a/interfaces/int_OpLogLt.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006-2007 - 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
- *
- */
-
-/*
- Update 23/02/09 by Arnaud Torset : Add matrix comparaison, remove include(floatComplex and doubleComplex)
-*/
-
-#ifndef __OPLOGLT_H__
-#define __OPLOGLT_H__
-
-
-#define s0s0OpLogLts0(in1,in2) (float) (in1 < in2)
-#define d0d0OpLogLtd0(in1,in2) (double) (in1 < in2)
-#define u80u80OpLogLtu80(in1,in2) (uint8) (in1 < in2)
-#define i80i80OpLogLti80(in1,in2) (int8) (in1 < in2)
-#define u160u160OpLogLtu160(in1,in2) (uint16) (in1 < in2)
-#define i160i160OpLogLti160(in1,in2) (int16) (in1 < in2)
-
-#define s2s0OpLogLts2(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLts0(in1[i],in2);\
- }
-
-#define u82u80OpLogLtu82(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogLtu80(in1[i],in2);\
- }
-
-#define i82i80OpLogLti82(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogLti80(in1[i],in2);\
- }
-
-#define u162u160OpLogLtu162(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogLtu160(in1[i],in2);\
- }
-
-#define i162i160OpLogLti162(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogLti160(in1[i],in2);\
- }
-
-#define s0s2OpLogLts2(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = s0s0OpLogLts0(in1,in2[i]);\
- }
-
-#define u80u82OpLogLtu82(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u80u80OpLogLtu80(in1,in2[i]);\
- }
-
-#define i80i82OpLogLti82(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i80i80OpLogLti80(in1,in2[i]);\
- }
-
-#define u160u162OpLogLtu162(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = u160u160OpLogLtu160(in1,in2[i]);\
- }
-
-#define i160i162OpLogLti162(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = i160i160OpLogLti160(in1,in2[i]);\
- }
-
-/* we must have size1=size2 */
-#define s2s2OpLogLts2(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = s0s0OpLogLts0(in1[i],in2[i]);\
- }
-
-#define d2d0OpLogLtd2(in1, size1, in2, out) {int i;\
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogLtd0(in1[i],in2);\
- }
-
-#define d0d2OpLogLtd2(in1, in2, size2, out) {int i; \
- for(i = 0 ; i < size2[0] * size2[1] ; ++i) out[i] = d0d0OpLogLtd0(in1,in2[i]);\
- }
-
-/* we must have size1=size2 */
-#define d2d2OpLogLtd2(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = d0d0OpLogLtd0(in1[i],in2[i]);\
- }
-
-#define u82u82OpLogLtu82(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u80u80OpLogLtu80(in1[i],in2[i]);\
- }
-
-#define i82i82OpLogLti82(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i80i80OpLogLti80(in1[i],in2[i]);\
- }
-
-#define u162u162OpLogLtu162(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = u160u160OpLogLtu160(in1[i],in2[i]);\
- }
-
-#define i162i162OpLogLti162(in1, size1, in2, size2, out) {int i; \
- for(i = 0 ; i < size1[0] * size1[1] ; ++i) out[i] = i160i160OpLogLti160(in1[i],in2[i]);\
- }
-
-#endif /* !__OPLOGLT_H__ */
diff --git a/interfaces/int_OpLogNe.h b/interfaces/int_OpLogNe.h
deleted file mode 100644
index 56cafef..0000000
--- a/interfaces/int_OpLogNe.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008 - INRIA - Aranud 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
- *
- */
-
-/* Idem that OpLogEq with a !(negation) behind*/
-
-#ifndef __OPLOGNE_H__
-#define __OPLOGNE_H__
-
-#include "floatComplex.h"
-#include "doubleComplex.h"
-
-#define s0s0OpLogNes0(in1,in2) (float) !(in1 == in2)
-#define d0d0OpLogNed0(in1,in2) (double) !(in1 == in2)
-#define c0c0OpLogNes0(in1,in2) (float) !((creals(in1) == creals(in2)) && (cimags(in1) == cimags(in2)))
-#define z0z0OpLogNed0(in1,in2) (double) !((zreals(in1) == zreals(in2)) && (zimags(in1) == zimags(in2)))
-#define u80u80OpLogNeu80(in1,in2) (uint8) !(in1 == in2)
-#define i80i80OpLogNei80(in1,in2) (int8) !(in1 == in2)
-#define u160u160OpLogNeu160(in1,in2) (uint16) !(in1 == in2)
-#define i160i160OpLogNei160(in1,in2) (int16) !(in1 == in2)
-
-#define s0c0OpLogNes0(in1,in2) (float) !((in1==creals(in2)) && (0==cimags(in2)))
-#define d0z0OpLogNed0(in1,in2) (double) !((in1==zreals(in2)) && (0==zimags(in2)))
-#define c0s0OpLogNes0(in1,in2) s0c0OpLogNes0(in2,in1)
-#define z0d0OpLogNed0(in1,in2) d0z0OpLogNed0(in2,in1)
-
-
-
-#define s2s0OpLogNes2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(float)!(in1[i]==in2);\
- }
-#define d2d0OpLogNed2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(double)!(in1[i]==in2);\
- }
-#define c2c0OpLogNes2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(float)!((creals(in1[i])==creals(in2))&&(cimags(in1[i])==cimags(in2)));\
- }
-#define z2z0OpLogNed2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(double)!((zreals(in1[i])==zreals(in2))&&(zimags(in1[i])==zimags(in2)));\
- }
-
-
-#define c2s0OpLogNes2(in1,size,in2,out) c2c0OpLogNes2(in1,size,FloatComplex(in2,0),out)
-#define z2d0OpLogNed2(in1,size,in2,out) z2z0OpLogNed2(in1,size,DoubleComplex(in2,0),out)
-
-#define s2c0OpLogNes2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(float)!((in1[i]==creals(in2))&&(cimags(in2)==0));\
- }
-
-#define d2z0OpLogNed2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(double)!((in1[i]==zreals(in2))&&(zimags(in2)==0));\
- }
-
-#define u82u80OpLogNeu82(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(uint8)!(in1[i]==in2);\
- }
-
-#define i82i80OpLogNei82(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(int8)!(in1[i]==in2);\
- }
-
-#define u162u160OpLogNeu162(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(uint16)!(in1[i]==in2);\
- }
-
-#define i162i160OpLogNei162(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=(int16)!(in1[i]==in2);\
- }
-
-#define s0s2OpLogNes2(in1,in2,inSize,out) s2s0OpLogNes2(in2,inSize,in1,out)
-#define c0s2OpLogNes2(in1,in2,inSize,out) s2c0OpLogNes2(in2,inSize,in1,out)
-#define d0d2OpLogNed2(in1,in2,inSize,out) d2d0OpLogNed2(in2,inSize,in1,out)
-#define z0d2OpLogNed2(in1,in2,inSize,out) d2z0OpLogNed2(in2,inSize,in1,out)
-#define s0c2OpLogNes2(in1,in2,inSize,out) c2s0OpLogNes2(in2,inSize,in1,out)
-#define c0c2OpLogNes2(in1,in2,inSize,out) c2c0OpLogNes2(in2,inSize,in1,out)
-#define d0z2OpLogNed2(in1,in2,inSize,out) z2d0OpLogNed2(in2,inSize,in1,out)
-#define z0z2OpLogNed2(in1,in2,inSize,out) z2z0OpLogNed2(in2,inSize,in1,out)
-#define u80u82OpLogNeu82(in1,in2,inSize,out) u82u80OpLogNeu82(in2,inSize,in1,out)
-#define i80i82OpLogNei82(in1,in2,inSize,out) i82i80OpLogNei82(in2,inSize,in1,out)
-#define u160u162OpLogNeu162(in1,in2,inSize,out) u162u160OpLogNeu162(in2,inSize,in1,out)
-#define i160i162OpLogNei162(in1,in2,inSize,out) i162i160OpLogNei162(in2,inSize,in1,out)
-
-/* we must have size1=size2 */
-
-#define s2s2OpLogNes2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(float)!(in1[i]==in2[i]);\
- }
-#define d2d2OpLogNed2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(double)!(in1[i]==in2[i]);\
- }
-#define c2c2OpLogNes2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) \
- out[i]=(float)!((creals(in1[i])==creals(in2[i]))&&(cimags(in1[i])==cimags(in2[i])));\
- }
-#define z2z2OpLogNed2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) \
- out[i]=(double)!((zreals(in1[i])==zreals(in2[i]))&&(zimags(in1[i])==zimags(in2[i])));\
- }
-
-#define s2c2OpLogNes2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) \
- out[i]=(float)!((in1[i]==creals(in2[i]))&&(0==cimags(in2[i])));\
- }
-#define d2z2OpLogNed2(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) \
- out[i]=(double)!((in1[i]==zreals(in2[i]))&&(0==zimags(in2[i])));\
- }
-
-#define c2s2OpLogNes2(in1,size1,in2,size2,out) s2c2OpLogNes2(in2,size2,in1,size1,out)
-#define z2d2OpLogNed2(in1,size1,in2,size2,out) d2z2OpLogNed2(in2,size2,in1,size1,out)
-
-#define u82u82OpLogNeu82(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(uint8)!(in1[i]==in2[i]);\
- }
-
-#define i82i82OpLogNei82(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(int8)!(in1[i]==in2[i]);\
- }
-
-#define u162u162OpLogNeu162(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(uint16)!(in1[i]==in2[i]);\
- }
-
-#define i162i162OpLogNei162(in1,size1,in2,size2,out) {int i;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=(int16)!(in1[i]==in2[i]);\
- }
-
-#endif /* !__OPLOGNE_H__ */
diff --git a/interfaces/int_OpLogNot.h b/interfaces/int_OpLogNot.h
deleted file mode 100644
index 852cd1c..0000000
--- a/interfaces/int_OpLogNot.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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_OPLOGNOT_H__
-#define __INT_OPLOGNOT_H__
-
-#define s0OpLogNots0(in) (in==0) ? (float)1 : (float)0
-
-#define d0OpLogNotd0(in) (in==0) ? (double)1 : (double)0
-
-#define c0OpLogNotc0(in) (creals(in)==0) ? FloatComplex(1,0) : FloatComplex(0,0)
-
-#define z0OpLogNotz0(in) (zreals(in)==0) ? DoubleComplex(1,0) : DoubleComplex(0,0)
-
-#define u8OpLogNotu80(in) (in==0) ? (uint8)1 : (uint8)0
-
-#define i8OpLogNoti80(in) (in==0) ? (int8)1 : (int8)0
-
-#define u16OpLogNotu160(in) (in==0) ? (uint16)1 : (uint16)0
-
-#define i16OpLogNoti160(in) (in==0) ? (int16)1 : (int16)0
-
-#define s2OpLogNots2(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=s0OpLogNots0(in[i]);\
- }
-
-#define d2OpLogNotd2(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=d0OpLogNotd0(in[i]);\
- }
-
-#define c2OpLogNotc2(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=c0OpLogNotc0(in[i]);\
- }
-
-#define z2OpLogNotz2(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=z0OpLogNotz0(in[i]);\
- }
-
-#define u82OpLogNotu82(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=u80OpLogNotu80(in[i]);\
- }
-
-#define i82OpLogNoti82(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=i80OpLogNoti80(in[i]);\
- }
-
-#define u162OpLogNotu162(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=u160OpLogNoti160(in[i]);\
- }
-
-#define i162OpLogNoti162(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=i160OpLogNotu160(in[i]);\
- }
-
-
-#endif /* !__INT_OPLOGNOT_H__ */
diff --git a/interfaces/int_OpLogOr.h b/interfaces/int_OpLogOr.h
deleted file mode 100644
index c7acb51..0000000
--- a/interfaces/int_OpLogOr.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * 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_OPLOGOR_H__
-#define __INT_OPLOGOR_H__
-
-#define Bool2Float(in) ((in) ? 1.0f : 0.0f)
-
-#define Bool2Double(in) ((in) ? 1.0 : 0.0)
-
-#define Bool2Uint8(in) ((in) ? (uint8)1 : (uint8)0)
-
-#define Bool2Int8(in) ((in) ? (int8)1 : (int8)0)
-
-#define Bool2Uint16(in) ((in) ? (uint16)1 : (uint16)0)
-
-#define Bool2Int16(in) ((in) ? (int16)1 : (int16)0)
-
-/*scalar or scalar */
-
-#define s0s0OpLogOrs0(in1, in2) Bool2Float(in1 != 0.0f || in2 != 0.0f)
-
-#define d0d0OpLogOrd0(in1, in2) Bool2Double(in1 != 0.0 || in2 != 0.0)
-
-#define c0c0OpLogOrs0(in1, in2) Bool2Float((creals(in1) != 0.0f || cimags(in1) != 0.0f) || (creals(in2) != 0.0f || cimags(in2)))
-
-#define s0c0OpLogOrs0(in1, in2) Bool2Float(in1 != 0.0f && (creals(in2) != 0.0f || cimags(in2)))
-
-#define c0s0OpLogOrs0(in1, in2) Bool2Float((creals(in1) != 0.0f || cimags(in1) != 0.0f) && in2 != 0.0f)
-
-#define z0z0OpLogOrd0(in1, in2) Bool2Double((zreals(in1) != 0.0 || zimags(in1) != 0.0) && (zreals(in2) != 0.0 || zimags(in2)))
-
-#define d0z0OpLogOrd0(in1, in2) Bool2Double(in1 != 0.0 && (zreals(in2) != 0.0 || zimags(in2)))
-
-#define z0d0OpLogOrd0(in1, in2) Bool2Double((zreals(in1) != 0.0 || zimags(in1) != 0.0) && in2 != 0.0)
-
-#define u80u80OpLogOru80(in1, in2) Bool2Uint8(in1 != 0 || in2 != 0)
-
-#define i80i80OpLogOri80(in1, in2) Bool2Int8(in1 != 0 || in2 != 0)
-
-#define u160u160OpLogOru160(in1, in2) Bool2Uint16(in1 != 0 || in2 != 0)
-
-#define i160i160OpLogOri160(in1, in2) Bool2Int16(in1 != 0 || in2 != 0)
-
-/*matrix or scalar */
-
-#define s2s0OpLogOrs2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Float(in1[i] != 0.0f || in2 != 0.0f);}
-
-#define d2d0OpLogOrd2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Double(in1[i] != 0.0 || in2 != 0.0);}
-
-#define c2c0OpLogOrs2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Float((creals(in1[i]) != 0.0f || cimags(in1[i]) != 0.0f) || (creals(in2) != 0.0f || cimags(in2)));}
-
-#define s2c0OpLogOrs2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Float(in1[i] != 0.0f && (creals(in2) != 0.0f || cimags(in2)));}
-
-#define c2s0OpLogOrs2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Float((creals(in1[i]) != 0.0f || cimags(in1[i]) != 0.0f) && in2 != 0.0f);}
-
-#define z2z0OpLogOrd2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.0 || zimags(in1[i]) != 0.0) && (zreals(in2) != 0.0 || zimags(in2)));}
-
-#define d2z0OpLogOrd2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Double(in1[i] != 0.0 && (zreals(in2) != 0.0 || zimags(in2)));}
-
-#define z2d0OpLogOrd2(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.0 || zimags(in1[i]) != 0.0) && in2 != 0.0);}
-
-#define i82i80OpLogOri82(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Int8(in1[i] != 0 || in2 != 0);}
-
-#define u82u80OpLogOru82(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Uint8(in1[i] != 0 || in2 != 0);}
-
-#define u162u160OpLogOru162(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Uint16(in1[i] != 0 || in2 != 0);}
-
-#define i162i160OpLogOri162(in1, size1, in2, out) {int i = 0 ;\
- for (i = 0 ; i < size1[0]*size1[1] ; i++ ) out[i] = Bool2Int16(in1[i] != 0 || in2 != 0);}
-
-
-/*scalar or matrix */
-
-#define s0s2OpLogOrs2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float(in1 != 0.0 || in2[i] != 0.0);}
-
-#define d0d2OpLogOrd2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double(in1 != 0.0 || in2[i] != 0.0);}
-
-#define c0c2OpLogOrs2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float((creals(in1) != 0.0 || cimags(in1) != 0.0) || (creals(in2[i]) != 0.0 || cimags(in2[i])));}
-
-#define s0c2OpLogOrs2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float(in1 != 0.0 && (creals(in2[i]) != 0.0 || cimags(in2[i])));}
-
-#define c0s2OpLogOrs2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float((creals(in1) != 0.0 || cimags(in1) != 0.0) && in2[i] != 0.0);}
-
-#define z0z2OpLogOrd2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1) != 0.0 || zimags(in1) != 0.0) && (zreals(in2[i]) != 0.0 || zimags(in2[i])));}
-
-#define d0z2OpLogOrd2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double(in1 != 0.0 && (zreals(in2[i]) != 0.0 || zimags(in2[i])));}
-
-#define z0d2OpLogOrd2(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1) != 0.0 || zimags(in1) != 0.0) && in2[i] != 0.0);}
-
-#define u80u82OpLogOru82(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint8(in1 != 0 || in2[i] != 0);}
-
-#define i80i82OpLogOri82(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int8(in1 != 0 || in2[i] != 0);}
-
-#define u160u162OpLogOru162(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint16(in1 != 0 || in2[i] != 0);}
-
-#define i160i162OpLogOri162(in1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int16(in1 != 0 || in2[i] != 0);}
-
-/*matrix or matrix */
-
-#define s2s2OpLogOrs2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float(in1[i] != 0.0 || in2[i] != 0.0);}
-
-#define d2d2OpLogOrd2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double(in1[i] != 0.0 || in2[i] != 0.0);}
-
-#define c2c2OpLogOrs2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float((creals(in1[i]) != 0.0 || cimags(in1[i]) != 0.0) || (creals(in2[i]) != 0.0 || cimags(in2[i])));}
-
-#define s2c2OpLogOrs2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float(in1[i] != 0.0 && (creals(in2[i]) != 0.0 || cimags(in2[i])));}
-
-#define c2s2OpLogOrs2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Float((creals(in1[i]) != 0.0 || cimags(in1[i]) != 0.0) && in2[i] != 0.0);}
-
-#define z2z2OpLogOrd2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.0 || zimags(in1[i]) != 0.0) && (zreals(in2[i]) != 0.0 || zimags(in2[i])));}
-
-#define d2z2OpLogOrd2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double(in1[i] != 0.0 && (zreals(in2[i]) != 0.0 || zimags(in2[i])));}
-
-#define z2d2OpLogOrd2(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Double((zreals(in1[i]) != 0.0 || zimags(in1[i]) != 0.0) && in2[i] != 0.0);}
-
-#define u82u82OpLogOru82(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint8(in1[i] != 0 || in2[i] != 0);}
-
-#define i82i82OpLogOri82(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int8(in1[i] != 0 || in2[i] != 0);}
-
-#define u162u162OpLogOru162(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Uint16(in1[i] != 0 || in2[i] != 0);}
-
-#define i162i162OpLogOri162(in1, size1, in2, size2, out) {int i = 0 ;\
- for (i = 0 ; i < size2[0]*size2[1] ; i++ ) out[i] = Bool2Int16(in1[i] != 0 || in2[i] != 0);}
-
-#endif /* !__INT_OPLOGOR_H__ */
diff --git a/interfaces/int_OpMinus.h b/interfaces/int_OpMinus.h
deleted file mode 100644
index 2ea8a52..0000000
--- a/interfaces/int_OpMinus.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * 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_OPMINUS_H__
-#define __INT_OPMINUS_H__
-
-/* - Scalar */
-
-#define s0OpMinuss0(in) -in
-
-#define d0OpMinusd0(in) -in
-
-#define c0OpMinusc0(in) FloatComplex(-creals(in), -cimags(in))
-
-#define z0OpMinusz0(in) DoubleComplex(-zreals(in), -zimags(in))
-
-#define u80OpMinusu80(in) -(int8)in
-
-#define i80OpMinusi80(in) -in
-
-#define u160OpMinusu160(in) -(int16)in
-
-#define i160OpMinusi160(in) -in
-
-/* - Matrix */
-
-#define s2OpMinuss2(in, size, out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i] = -in[i]; \
- }
-
-#define d2OpMinusd2(in, size, out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i] = -in[i]; \
- }
-
-#define c2OpMinusc2(in, size, out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i] = FloatComplex(-creals(in[i]), -cimags(in[i])); \
- }
-
-#define z2OpMinusz2(in, size, out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i] = DoubleComplex(-zreals(in[i]), -zimags(in[i])); \
- }
-
-#define u82OpMinusu82(in, size, out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i] = -(int8)in[i]; \
- }
-
-
-#define i82OpMinusi82(in, size, out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i] = -in[i]; \
- }
-
-
-#define u162OpMinusu162(in, size, out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i] = -(int16)in[i]; \
- }
-
-
-#define i162OpMinui162(in, size, out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i] = -(int16)in[i]; \
- }
-
-
-/* Scalar - Scalar */
-
-#define s0s0OpMinuss0(in1,in2) sdiffs(in1,in2)
-
-#define d0d0OpMinusd0(in1,in2) ddiffs(in1,in2)
-
-#define c0c0OpMinusc0(in1,in2) cdiffs(in1,in2)
-
-#define z0z0OpMinusz0(in1,in2) zdiffs(in1,in2)
-
-#define s0c0OpMinusc0(in1,in2) cdiffs(FloatComplex(in1,0),in2)
-
-#define c0s0OpMinusc0(in1,in2) cdiffs(in1,FloatComplex(in2,0))
-
-#define d0z0OpMinusz0(in1,in2) zdiffs(DoubleComplex(in1,0),in2)
-
-#define z0d0OpMinusz0(in1,in2) zdiffs(in1,DoubleComplex(in2,0))
-
-#define u80u80OpMinusu80(in1,in2) u8diffs(in1,in2)
-
-#define i80i80OpMinusi80(in1,in2) i8diffs(in1,in2)
-
-#define u160u160OpMinusu160(in1,in2) u16diffs(in1,in2)
-
-#define i160i160OpMinusi160(in1,in2) i16diffs(in1,in2)
-
-/* Matrix - Scalar */
-
-
-#define s2s0OpMinuss2(in1,size,in2,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]-in2; \
- }
-
-
-#define d2d0OpMinusd2(in1,size,in2,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]-in2; \
- }
-
-
-#define c2c0OpMinusc2(in1,size,in2,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(in1[i],in2); \
- }
-
-#define c2s0OpMinusc2(in1,size,in2,out) c2c0OpMinusc2(in1,size,FloatComplex(in2,0),out)
-
-
-#define s2c0OpMinusc2(in1,size,in2,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(FloatComplex(in1[i],0),in2); \
- }
-
-
-#define z2z0OpMinusz2(in1,size,in2,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1[i],in2); \
- }
-
-#define z2d0OpMinusz2(in1,size,in2,out) z2z0OpMinusz2(in1,size,DoubleComplex(in2,0),out)
-
-
-#define d2z0OpMinusz2(in1,size,in2,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(DoubleComplex(in1[i],0),in2); \
- }
-
-
-#define u82u80OpMinusu82(in1,size,in2,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]-in2; \
- }
-
-
-#define i82i80OpMinusi82(in1,size,in2,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]-in2; \
- }
-
-
-#define u162u160OpMinusu162(in1,size,in2,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]-in2; \
- }
-
-
-#define i162i160OpMinusi162(in1,size,in2,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]-in2; \
- }
-
-/* Scalar - Matrix */
-
-
-#define s0s2OpMinuss2(in1,in2,size,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i]; \
- }
-
-
-#define d0d2OpMinusd2(in1,in2,size,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i]; \
- }
-
-
-#define c0c2OpMinusc2(in1,in2,size,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(in1,in2[i]); \
- }
-
-#define s0c2OpMinusc2(in1,in2,size,out) c0c2OpMinusc2(FloatComplex(in1,0),in2,size,out)
-
-
-#define c0s2OpMinusc2(in1,in2,size,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=cdiffs(in1,FloatComplex(in2[i],0)); \
- }
-
-
-#define z0z2OpMinusz2(in1,in2,size,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1,in2[i]); \
- }
-
-#define d0z2OpMinusz2(in1,in2,size,out) z0z2OpMinusz2(DoubleComplex(in1,0),in2,size,out)
-
-
-#define z0d2OpMinusz2(in1,in2,size,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=zdiffs(in1,DoubleComplex(in2[i],0)); \
- }
-
-
-#define u80u82OpMinusu82(in1,in2,size,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i]; \
- }
-
-
-#define i80i82OpMinusi82(in1,in2,size,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i]; \
- }
-
-#define u160u162OpMinusu162(in1,in2,size,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i]; \
- }
-
-#define i160i162OpMinusi162(in1,in2,size,out) {int i=0; \
- for (i=0;i<size[0]*size[1];i++) out[i]=in1-in2[i]; \
- }
-
-/* Matrix - Matrix */
-
-#define s2s2OpMinuss2(in1,size1,in2,size2,out) sdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define d2d2OpMinusd2(in1,size1,in2,size2,out) ddiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define c2c2OpMinusc2(in1,size1,in2,size2,out) cdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-
-#define s2c2OpMinusc2(in1,size1,in2,size2,out) {int i; \
- for (i=0;i<size1[0]*size2[1];i++) out[i]=cdiffs(FloatComplex(in1[i],0),in2[i]); \
- }
-
-
-#define c2s2OpMinusc2(in1,size1,in2,size2,out) {int i; \
- for (i=0;i<size1[0]*size2[1];i++) out[i]=cdiffs(in1[i],FloatComplex(in2[i],0));\
- }
-
-#define z2z2OpMinusz2(in1,size1,in2,size2,out) zdiffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-
-#define d2z2OpMinusz2(in1,size1,in2,size2,out) {int i; \
- for (i=0;i<size1[0]*size2[1];i++) out[i]=zdiffs(DoubleComplex(in1[i],0),in2[i]); \
- }
-
-
-#define z2d2OpMinusz2(in1,size1,in2,size2,out) {int i; \
- for (i=0;i<size1[0]*size2[1];i++) out[i]=zdiffs(in1[i],DoubleComplex(in2[i],0)); \
- }
-
-#define u82u82OpMinusu82(in1,size1,in2,size2,out) u8diffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define i82i82OpMinusi82(in1,size1,in2,size2,out) i8diffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define u162u162OpMinusu162(in1,size1,in2,size2,out) u16diffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define i162i162OpMinusi162(in1,size1,in2,size2,out) i16diffa(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#endif /* !__INT_OPMINUS_H__ */
diff --git a/interfaces/int_OpPlus.h b/interfaces/int_OpPlus.h
deleted file mode 100644
index a5731d4..0000000
--- a/interfaces/int_OpPlus.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * 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_OPPLUS_H__
-#define __INT_OPPLUS_H__
-
-
-/* Scalar + Scalar */
-
-#define s0s0OpPluss0(in1,in2) sadds(in1,in2)
-
-#define d0d0OpPlusd0(in1,in2) dadds(in1,in2)
-
-#define c0c0OpPlusc0(in1,in2) cadds(in1,in2)
-
-#define z0z0OpPlusz0(in1,in2) zadds(in1,in2)
-
-#define s0c0OpPlusc0(in1,in2) cadds(FloatComplex(in1,0),in2)
-
-#define c0s0OpPlusc0(in1,in2) cadds(in1,FloatComplex(in2,0))
-
-#define d0z0OpPlusz0(in1,in2) zadds(DoubleComplex(in1,0),in2)
-
-#define z0d0OpPlusz0(in1,in2) zadds(in1,DoubleComplex(in2,0))
-
-#define u80u80OpPlusu80(in1,in2) u8adds(in1,in2)
-
-#define i80i80OpPlusi80(in1,in2) i8adds(in1,in2)
-
-#define u160u160OpPlusu160(in1,in2) u16adds(in1,in2)
-
-#define i160i160OpPlusi160(in1,in2) i16adds(in1,in2)
-
-/* Matrix + Scalar */
-
-#define s2s0OpPluss2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\
- }
-
-#define d2d0OpPlusd2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\
- }
-
-#define c2c0OpPlusc2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cadds(in1[i],in2);\
- }
-
-/*On transforme le scalaire float en scalaire floatComplex pour pouvoir utiliser c2c0...c2*/
-#define c2s0OpPlusc2(in1,size,in2,out) c2c0OpPlusc2(in1,size,FloatComplex(in2,0),out)
-
-#define s2c0OpPlusc2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cadds(FloatComplex(in1[i],0),in2);\
- }
-
-#define z2z0OpPlusz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zadds(in1[i],in2);\
- }
-
-/*On transforme le scalaire double en scalaire doubleComplex pour pouvoir utiliser z2z0...z2*/
-#define z2d0OpPlusz2(in1,size,in2,out) z2z0OpPlusz2(in1,size,DoubleComplex(in2,0),out)
-
-#define d2z0OpPlusz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zadds(DoubleComplex(in1[i],0),in2);\
- }
-
-#define u82u80OpPlusu82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\
- }
-
-#define i82i80OpPlusi82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\
- }
-
-#define u162u160OpPlusu162(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\
- }
-
-#define i162i160OpPlusi162(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]+in2;\
- }
-
-/* Scalar + Matrix */
-
-#define s0s2OpPluss2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\
- }
-
-#define d0d2OpPlusd2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\
- }
-
-#define c0c2OpPlusc2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cadds(in1,in2[i]);\
- }
-
-/*On transforme le scalaire float en scalaire floatComplex pour pouvoir utiliser c0c2...c2*/
-#define s0c2OpPlusc2(in1,in2,size,out) c0c2OpPlusc2(FloatComplex(in1,0),in2,size,out)
-
-#define c0s2OpPlusc2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cadds(in1,FloatComplex(in2[i],0));\
- }
-
-#define z0z2OpPlusz2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zadds(in1,in2[i]);\
- }
-
-/*On transforme le scalaire double en scalaire doubleComplex pour pouvoir utiliser z0z2...z2*/
-#define d0z2OpPlusz2(in1,in2,size,out) z0z2OpPlusz2(DoubleComplex(in1,0),in2,size,out)
-
-#define z0d2OpPlusz2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zadds(in1,DoubleComplex(in2[i],0));\
- }
-
-#define u80u82OpPlusu82(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\
- }
-
-#define i80i82OpPlusi82(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\
- }
-
-#define u160u162OpPlusu162(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\
- }
-
-#define i160i162OpPlusi162(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1+in2[i];\
- }
-
-/* Matrix + Matrix */
-
-#define s2s2OpPluss2(in1,size1,in2,size2,out) sadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define d2d2OpPlusd2(in1,size1,in2,size2,out) dadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define c2c2OpPlusc2(in1,size1,in2,size2,out) cadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-
-#define s2c2OpPlusc2(in1,size1,in2,size2,out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=cadds(FloatComplex(in1[i],0),in2[i]);\
- }
-
-#define c2s2OpPlusc2(in1,size1,in2,size2,out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=cadds(in1[i],FloatComplex(in2[i],0));\
- }
-
-#define z2z2OpPlusz2(in1,size1,in2,size2,out) zadda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-
-#define d2z2OpPlusz2(in1,size1,in2,size2,out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=zadds(DoubleComplex(in1[i],0),in2[i]);\
- }
-
-
-#define z2d2OpPlusz2(in1,size1,in2,size2,out) {int i=0;\
- for (i=0;i<size1[0]*size2[1];i++) out[i]=zadds(in1[i],DoubleComplex(in2[i],0));\
- }
-
-#define u82u82OpPlusu82(in1,size1,in2,size2,out) u8adda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define i82i82OpPlusi82(in1,size1,in2,size2,out) i8adda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define u162u162OpPlusu162(in1,size1,in2,size2,out) u16adda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define i162i162OpPlusi162(in1,size1,in2,size2,out) i16adda(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-/* Strings */
-/* RNU: size1[1]-1 -> "-1" because '\0' of the first string must be removed. */
-#define g2g2OpPlusg2(in1,size1,in2,size2,out) {int i = 0, j = 0; \
- for(i = 0 ; i < size1[1]-1 ; ++i, ++j) out[j] = in1[i]; \
- for(i = 0 ; i < size2[1] ; ++i, ++j) out[j] = in2[i]; \
- }
-
-
-#endif /* !__INT_OPPLUS_H__ */
diff --git a/interfaces/int_OpRc.h b/interfaces/int_OpRc.h
deleted file mode 100644
index 1e8f1c9..0000000
--- a/interfaces/int_OpRc.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * 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_OPRC_H__
-#define __INT_OPRC_H__
-
-/*
- /!\
- / ! \ We used columncat because disp isn't right. In the real case, it must be rowcat for Rc.
- /__!_ \
-
-*/
-
-
-/* Column Cat */
-
-/* Same input elements */
-
-#define s0s0OpRcs2(in1,in2,out) scolumncats(in1,in2,out)
-
-#define d0d0OpRcd2(in1,in2,out) dcolumncats(in1,in2,out)
-
-#define c0c0OpRcc2(in1,in2,out) ccolumncats(in1,in2,out)
-
-#define z0z0OpRcz2(in1,in2,out) zcolumncats(in1,in2,out)
-
-#define s2s2OpRcs2(in1,size1,in2,size2,out) scolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define d2d2OpRcd2(in1,size1,in2,size2,out) dcolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define c2c2OpRcc2(in1,size1,in2,size2,out) ccolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define z2z2OpRcz2(in1,size1,in2,size2,out) zcolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-/* Differents input elements */
-#define s0c0OpRcc2(in1,in2,out) c0c0OpRcc2(FloatComplex(in1,0),in2,out)
-
-#define d0z0OpRcz2(in1,in2,out) z0z0OpRcz2(DoubleComplex(in1,0),in2,out)
-
-#define c0s0OpRcc2(in1,in2,out) c0c0OpRcc2(in1,FloatComplex(in2,0),out)
-
-#define z0d0OpRcz2(in1,in2,out) z0z0OpRcz2(in1,DoubleComplex(in2,0),out)
-
-#define s2c2OpRcc2(in1,size1,in2,size2,out) sfilla((float*)out,size1[0],size1[1],0); \
- c2c2OpRcc2(FloatComplexMatrix(in1,(float*)out,size1[0]*size1[1]), size1, in2, size2, out)
-
-#define d2z2OpRcz2(in1,size1,in2,size2,out) dfilla((double*)out,size1[0],size1[1],0); \
- z2z2OpRcz2(DoubleComplexMatrix(in1,(double*)out,size1[0]*size1[1]), size1, in2, size2, out)
-
-#define c2s2OpRcc2(in1,size1,in2,size2,out) sfilla((float*)out,size2[0],size2[1],0); \
- c2c2OpRcc2(in1, size1, FloatComplexMatrix(in2,(float*)out,size2[0]*size2[1]), size2, out)
-
-#define z2d2OpRcz2(in1,size1,in2,size2,out) dfilla((double*)out,size2[0],size2[1],0); \
- z2z2OpRcz2(in1, size1, DoubleComplexMatrix(in2,(double*)out,size2[0]*size2[1]), size2, out)
-
-/* Matrix-Scalar */
-
-/* Same type */
-
-#define s2s0OpRcs2(in1,size,in2,out) { float temp=in2; \
- scolumncata(in1, size[0], size[1],&temp, 1, 1, out); \
- }
-
-#define d2d0OpRcd2(in1,size,in2,out) { double temp=in2; \
- dcolumncata(in1, size[0], size[1],&temp, 1, 1, out); \
- }
-
-#define c2c0OpRcc2(in1,size,in2,out) { floatComplex temp=in2; \
- ccolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
- }
-
-#define z2z0OpRcz2(in1,size,in2,out) { doubleComplex temp=in2; \
- zcolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
- }
-
-/* Different type */
-#define s2c0OpRcc2(in1,size,in2,out) { floatComplex temp=in2; \
- sfilla((float *)out,size[0],size[1],0); \
- scolumncata(FloatComplexMatrix(in1,(float*)out,size[0]*size[1]), size[0], size[1], &temp , 1, 1, out); \
- }
-
-#define d2z0OpRcz2(in1,size,in2,out) { doubleComplex temp=in2; \
- dfilla((double *)out,size[0],size[1],0); \
- zcolumncata(DoubleComplexMatrix(in1,(double *)out,size[0]*size[1]), size[0], size[1], &temp , 1, 1, out); \
- }
-
-#define c2s0OpRcc2(in1,size,in2,out) { floatComplex temp = FloatComplex(in2,0); \
- ccolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
- }
-
-#define z2d0OpRcz2(in1,size,in2,out) { doubleComplex temp = DoubleComplex(in2,0); \
- zcolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
- }
-
-/* Scalar-Matrix */
-
-/* Same type */
-#define s0s2OpRcs2(in1,in2,size,out) { \
- float __tmp1 = in1 ;\
- scolumncata(&__tmp1 , 1, 1, in2, size[0], size[1], out);\
-}
-#define d0d2OpRcd2(in1,in2,size,out) {\
- double __tmp1 = in1 ;\
- dcolumncata(&__tmp1 , 1, 1, in2, size[0], size[1], out); \
-}
-
-#define c0c2OpRcc2(in1,in2,size,out) { \
- floatComplex __tmp1 = in1 ;\
- ccolumncata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-#define z0z2OpRcz2(in1,in2,size,out) { \
- doubleComplex __tmp1 = in1 ;\
- zcolumncata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-/* Different type */
-#define s0c2OpRcc2(in1,in2,size,out) c0c2OpRcc2(FloatComplex(in1,0),in2,size,out)
-
-#define d0z2OpRcz2(in1,in2,size,out) z0z2OpRcz2(DoubleComplex(in1,0),in2,size,out)
-
-#define c0s2OpRcc2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],0); \
- c0c2OpRcc2(in1,FloatComplexMatrix(in2,(float*)out,size[0]*size[1]),size,out)
-
-#define z0d2OpRcz2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],0); \
- z0z2OpRcz2(in1,DoubleComplexMatrix(in2,(double*)out,size[0]*size[1]),size,out)
-
-#endif /* !__INT_OPRC_H__ */
diff --git a/interfaces/int_OpSlash.h b/interfaces/int_OpSlash.h
deleted file mode 100644
index 635fe2b..0000000
--- a/interfaces/int_OpSlash.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * 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_OPSLASH_H__
-#define __INT_OPSLASH_H__
-
-/* Scalar / Scalar */
-
-#define s0s0OpSlashs0(in1,in2) srdivs(in1,in2)
-
-#define d0d0OpSlashd0(in1,in2) drdivs(in1,in2)
-
-#define c0c0OpSlashc0(in1,in2) crdivs(in1,in2)
-
-#define z0z0OpSlashz0(in1,in2) zrdivs(in1,in2)
-
-#define s0c0OpSlashc0(in1,in2) crdivs(FloatComplex(in1,0),in2)
-
-#define c0s0OpSlashc0(in1,in2) crdivs(in1,FloatComplex(in2,0))
-
-#define d0z0OpSlashz0(in1,in2) zrdivs(DoubleComplex(in1,0),in2)
-
-#define z0d0OpSlashz0(in1,in2) zrdivs(in1,DoubleComplex(in2,0))
-
-#define u80u80OpSlashu80(in1,in2) u8rdivs(in1,in2)
-
-#define i80i80OpSlashi80(in1,in2) i8rdivs(in1,in2)
-
-#define u160u160OpSlashu160(in1,in2) u16rdivs(in1,in2)
-
-#define i160i160OpSlashi160(in1,in2) i16rdivs(in1,in2)
-
-/* Scalar / Matrix */
-
-
-#define s0s2OpSlashs2(in1,in2,size,out) {int i=0;\
- sinverma(in2,out,size[0]);\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1*out[i];}
-
-
-#define d0d2OpSlashd2(in1,in2,size,out) {int i=0;\
- dinverma(in2,out,size[0]);\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1*out[i];}
-
-
-#define c0c2OpSlashc2(in1,in2,size,out) {int i=0;\
- cinverma(in2,out,size[0]);\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,out[i]);}
-
-
-#define z0z2OpSlashz2(in1,in2,size,out) {int i=0;\
- zinverma(in2,out,size[0]);\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,out[i]);}
-
-
-
-#define s0c2OpSlashc2(in1,in2,size,out) c0c2OpSlashc2(FloatComplex(in1,0),in2,size,out)
-
-
-#define d0z2OpSlashz2(in1,in2,size,out) z0z2OpSlashz2(DoubleComplex(in1,0),in2,size,out)
-
-
-/* FIXME: malloc */
-#define c0s2OpSlashc2(in1,in2,size,out) {int i=0;\
- float* temp = malloc((uint)(size[0]*size[1])*sizeof(float));\
- sinverma(in2,temp,size[0]);\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,FloatComplex(temp[i],0));}
-
-/* FIXME: malloc */
-#define z0d2OpSlashz2(in1,in2,size,out) {int i=0;\
- double* temp = malloc((uint)(size[0]*size[1])*sizeof(double));\
- dinverma(in2,temp,size[0]);\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,DoubleComplex(temp[i],0));}
-
-#define u80u82OpSlashu82(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-
-#define i80i82OpSlashi82(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-
-#define u160u162OpSlashu162(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-
-#define i160i162OpSlashi162(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1/in2[i];}
-
-/* Matrix / Scalar */
-
-
-#define s2s0OpSlashs2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
-
-
-#define d2d0OpSlashd2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
-
-
-#define c2c0OpSlashc2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(in1[i],in2);}
-
-
-#define z2z0OpSlashz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(in1[i],in2);}
-
-
-#define s2c0OpSlashc2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=crdivs(FloatComplex(in1[i],0),in2);}
-
-
-#define d2z0OpSlashz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zrdivs(DoubleComplex(in1[i],0),in2);}
-
-
-#define c2s0OpSlashc2(in1,size,in2,out) c2c0OpSlashc2(in1,size,FloatComplex(in2,0),out)
-
-
-#define z2d0OpSlashz2(in1,size,in2,out) z2z0OpSlashz2(in1,size,DoubleComplex(in2,0),out)
-
-
-#define u82u80OpSlashu82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
-
-#define i82i80OpSlashi82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
-
-#define u162u160OpSlashu162(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
-
-#define i162i160OpSlashi162(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]/in2;}
-
-/* Matrix / Matrix */
-
-#define s2s2OpSlashs2(in1,size1,in2,size2,out) srdivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-#define d2d2OpSlashd2(in1,size1,in2,size2,out) drdivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-#define c2c2OpSlashc2(in1,size1,in2,size2,out) crdivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-#define z2z2OpSlashz2(in1,size1,in2,size2,out) zrdivma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-/* FIXME: There is some malloc in the define below, maybe they can be remove */
-#define c2s2OpSlashc2(in1,size1,in2,size2,out) {float* temp;\
- temp=malloc((uint)(size2[0]*size2[1])*sizeof(float));\
- sfilla(temp,size2[0],size2[1],0);\
- c2c2OpSlashc2(in1, size1, FloatComplexMatrix(in2,temp,size2[0]*size2[1]), size2, out);}
-
-#define s2c2OpSlashc2(in1,size1,in2,size2,out) {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- c2c2OpSlashc2(FloatComplexMatrix(in2,temp,size1[0]*size1[1]), size1, in2, size2, out);}
-
-#define z2d2OpSlashz2(in1,size1,in2,size2,out) {double* temp;\
- temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
- dfilla(temp,size2[0],size2[1],0);\
- z2z2OpSlashz2(in1, size1, DoubleComplexMatrix(in2,temp,size2[0]*size2[1]), size2, out);}
-
-#define d2z2OpSlashz2(in1,size1,in2,size2,out) {double* temp;\
- temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- z2z2OpSlashz2(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]), size1, in2, size2, out);}
-
-
-/* Vector * Vector, so there is a scalar output */
-
-#define s2s2OpSlashs0(in1, size1, in2, size2) srdivv( in1, in2, size1[1])
-
-#define c2s2OpSlashc0(in1, size1, in2, size2) crdivcsv(in1, in2, size1[1])
-
-#define s2c2OpSlashc0(in1, size1, in2, size2) crdivscv(in1, in2, size1[1])
-
-#define c2c2OpSlashc0(in1, size1, in2, size2) crdivv( in1, in2, size1[1])
-
-
-#define d2d2OpSlashd0(in1, size1, in2, size2) drdivv( in1, in2, size1[1])
-
-#define z2d2OpSlashz0(in1, size1, in2, size2) zrdivzdv(in1, in2, size1[1])
-
-#define d2z2OpSlashz0(in1, size1, in2, size2) zrdivdzv(in1, in2, size1[1])
-
-#define z2z2OpSlashz0(in1, size1, in2, size2) zrdivv( in1, in2, size1[1])
-
-
-#endif /* !__INT_OPSLASH_H__ */
diff --git a/interfaces/int_OpStar.h b/interfaces/int_OpStar.h
deleted file mode 100644
index 78697b3..0000000
--- a/interfaces/int_OpStar.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * 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_OPSTAR_H__
-#define __INT_OPSTAR_H__
-
-/* Scalar * Scalar */
-
-#define s0s0OpStars0(in1,in2) smuls(in1,in2)
-
-#define d0d0OpStard0(in1,in2) dmuls(in1,in2)
-
-#define c0c0OpStarc0(in1,in2) cmuls(in1,in2)
-
-#define z0z0OpStarz0(in1,in2) zmuls(in1,in2)
-
-#define s0c0OpStarc0(in1,in2) cmuls(FloatComplex(in1,0),in2)
-
-#define c0s0OpStarc0(in1,in2) cmuls(in1,FloatComplex(in2,0))
-
-#define d0z0OpStarz0(in1,in2) zmuls(DoubleComplex(in1,0),in2)
-
-#define z0d0OpStarz0(in1,in2) zmuls(in1,DoubleComplex(in2,0))
-
-#define u80u80OpStaru80(in1,in2) u8muls(in1, in2)
-
-#define u80u80OpStaru160(in1,in2) (uint16)(in1 * in2)
-
-#define u80i80OpStari80(in1,in2) (int8)(in1 * in2)
-
-#define u80i80OpStari160(in1,in2) (int16)(in1 * in2)
-
-#define u80u160OpStaru160(in1,in2) (uint16)(in1 * in2)
-
-#define u80i160OpStari160(in1,in2) (int16)(in1 * in2)
-
-#define i80u80OpStari80(in1,in2) (int8)(in1 * in2)
-
-#define i80u80OpStari160(in1,in2) (int16)(in1 * in2)
-
-#define i80i80OpStari80(in1,in2) (int8)(in1 , in2)
-
-#define i80i80OpStari160(in1,in2) (int16)(in1 * in2)
-
-#define i80u160OpStari160(in1,in2) (int16)(in1 * in2)
-
-#define i80i160OpStari160(in1,in2) (int16)(in1 * in2)
-
-#define u160u80OpStaru160(in1,in2) (uint16)(in1 * in2)
-
-#define u160i80OpStari160(in1,in2) (int16)(in1 * in2)
-
-#define u160u160OpStaru160(in1,in2) u16muls(in1 , in2)
-
-#define u160i160OpStari160(in1,in2) (int16)(in1 * in2)
-
-#define i160u80OpStari160(in1,in2) (int16)(in1 * in2)
-
-#define i160i80OpStari160(in1,in2) (int16)(in1 * in2)
-
-#define i160u160OpStari160(in1,in2) (int16)(in1 * in2)
-
-#define i160i160OpStari160(in1,in2) i16muls(in1 , in2)
-
-/* Scalar * Matrix */
-
-#define s0s2OpStars2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];}
-
-
-#define d0d2OpStard2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];}
-
-
-#define c0c2OpStarc2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,in2[i]);}
-
-
-#define z0z2OpStarz2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,in2[i]);}
-
-#define s0c2OpStarc2(in1,in2,size,out) c0c2OpStarc2(FloatComplex(in1,0),in2,size,out)
-
-
-#define d0z2OpStarz2(in1,in2,size,out) z0z2OpStarz2(DoubleComplex(in1,0),in2,size,out)
-
-
-#define c0s2OpStarc2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,FloatComplex(in2[i],0));}
-
-#define z0d2OpStarz2(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,DoubleComplex(in2[i],0));}
-
-
-#define u80u82OpStaru82(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1*(uint8)in2[i];}
-
-#define i80i82OpStari82(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];}
-
-#define u160u162OpStaru162(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];}
-
-#define i160i162OpStari162(in1,in2,size,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];}
-
-/* Matrix * Scalar */
-
-
-#define s2s0OpStars2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;}
-
-
-#define d2d0OpStard2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;}
-
-
-#define c2c0OpStarc2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1[i],in2);}
-
-#define z2z0OpStarz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1[i],in2);}
-
-
-#define s2c0OpStarc2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(FloatComplex(in1[i],0),in2);}
-
-
-#define d2z0OpStarz2(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(DoubleComplex(in1[i],0),in2);}
-
-
-#define c2s0OpStarc2(in1,size,in2,out) c2c0OpStarc2(in1,size,FloatComplex(in2,0),out)
-
-
-#define z2d0OpStarz2(in1,size,in2,out) z2z0OpStarz2(in1,size,DoubleComplex(in2,0),out)
-
-
-#define u82u80OpStaru82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;}
-
-#define i82i80OpStari82(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;}
-
-#define u162u160OpStaru162(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;}
-
-#define i162i160OpStari162(in1,size,in2,out) {int i=0;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;}
-
-
-/* Matrix * Matrix */
-
-#define s2s2OpStars2(in1,size1,in2,size2,out) smulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-#define d2d2OpStard2(in1,size1,in2,size2,out) dmulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-#define c2c2OpStarc2(in1,size1,in2,size2,out) cmulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-#define z2z2OpStarz2(in1,size1,in2,size2,out) zmulma(in1,size1[0],size1[1],in2,size2[0],size2[1],out)
-
-/* FIXME: There is some malloc in the define below, maybe they can be remove */
-#define c2s2OpStarc2(in1,size1,in2,size2,out) {float* temp;\
- temp=malloc((uint)(size2[0]*size2[1])*sizeof(float));\
- sfilla(temp,size2[0],size2[1],0);\
- c2c2OpStarc2(in1, size1, FloatComplexMatrix(in2,temp,size2[0]*size2[1]), size2, out);}
-
-#define s2c2OpStarc2(in1,size1,in2,size2,out) {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- c2c2OpStarc2(FloatComplexMatrix(in1,temp,size1[0]*size1[1]), size1, in2, size2, out);}
-
-#define z2d2OpStarz2(in1,size1,in2,size2,out) {double* temp;\
- temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
- dfilla(temp,size2[0],size2[1],0);\
- z2z2OpStarz2(in1, size1, DoubleComplexMatrix(in2,temp,size2[0]*size2[1]), size2, out);}
-
-#define d2z2OpStarz2(in1,size1,in2,size2,out) {double* temp;\
- temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- z2z2OpStarz2(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]), size1, in2, size2, out);}
-
-/* Vector * Vector, so there is a scalar output */
-
-#define MAX(a, b) (a > b ? a : b)
-
-#define s2s2OpStars0(in1, size1, in2, size2) smulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-#define c2s2OpStarc0(in1, size1, in2, size2) cmulcsv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-#define s2c2OpStarc0(in1, size1, in2, size2) cmulscv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-#define c2c2OpStarc0(in1, size1, in2, size2) cmulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-
-#define d2d2OpStard0(in1, size1, in2, size2) dmulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-#define z2d2OpStarz0(in1, size1, in2, size2) zmulzdv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-#define d2z2OpStarz0(in1, size1, in2, size2) zmuldzv(in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-#define z2z2OpStarz0(in1, size1, in2, size2) zmulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-#define u82u82OpStaru80(in1, size1, in2, size2) u8mulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-#define i82i82OpStari80(in1, size1, in2, size2) i8mulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-#define u162u162OpStaru160(in1, size1, in2, size2) u16mulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-#define i162i162OpStari160(in1, size1, in2, size2) i16mulv( in1, in2, MAX(MAX(size1[0], size1[1]), MAX(size2[0], size2[1])))
-
-#endif /* !__INT_OPSTAR_H__ */
diff --git a/interfaces/int_abs.h b/interfaces/int_abs.h
deleted file mode 100644
index 70a428c..0000000
--- a/interfaces/int_abs.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_ABS_H__
-#define __INT_ABS_H__
-
-#define s0abss0(in) sabss(in)
-
-#define d0absd0(in) dabss(in)
-
-#define c0abss0(in) cabss(in)
-
-#define z0absd0(in) zabss(in)
-
-#define u80absu80(in) u8abss(in)
-
-#define i80absi80(in) i8abss(in)
-
-#define u160absu160(in) u16abss(in)
-
-#define i160absi160(in) i16abss(in)
-
-#define s2abss2(in,size,out) sabsa(in, size[0]*size[1], out)
-
-#define d2absd2(in,size,out) dabsa(in, size[0]*size[1], out)
-
-#define c2abss2(in,size,out) cabsa(in, size[0]*size[1], out)
-
-#define z2absd2(in,size,out) zabsa(in, size[0]*size[1], out)
-
-#define u82absu82(in,size,out) u8absa(in, size[0]*size[1], out)
-
-#define i82absi82(in,size,out) i8absa(in, size[0]*size[1], out)
-
-#define u162absu162(in,size,out) u16absa(in, size[0]*size[1], out)
-
-#define i162absi162(in,size,out) i16absa(in, size[0]*size[1], out)
-
-#endif /* !__INT_ABS_H__ */
diff --git a/interfaces/int_acos.h b/interfaces/int_acos.h
deleted file mode 100644
index ad62534..0000000
--- a/interfaces/int_acos.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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_ACOS_H__
-#define __INT_ACOS_H__
-
-#define s0acoss0(in) sacoss(in)
-
-#define s0acosc0(in) cacoss(FloatComplex(in,0))
-
-#define d0acosd0(in) dacoss(in)
-
-#define d0acosz0(in) zacoss(DoubleComplex(in,0))
-
-#define c0acosc0(in) cacoss(in)
-
-#define z0acosz0(in) zacoss(in)
-
-#define s2acoss2(in,size,out) sacosa(in, size[0]*size[1], out)
-
-#define s2acosc2(in,size,out) cacosa(FloatComplexMatrix(in,0), size[0]*size[1], out)
-
-#define d2acosd2(in,size,out) dacosa(in, size[0]*size[1], out)
-
-#define d2acosz2(in,size,out) zacosa(DoubleComplexMatrix(in,0), size[0]*size[1], out)
-
-#define c2acosc2(in,size,out) cacosa(in, size[0]*size[1], out)
-
-#define z2acosz2(in,size,out) zacosa(in, size[0]*size[1], out)
-
-#endif /* !__INT_ACOS_H__ */
diff --git a/interfaces/int_acosd.h b/interfaces/int_acosd.h
deleted file mode 100644
index ee188c9..0000000
--- a/interfaces/int_acosd.h
+++ /dev/null
@@ -1,34 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-#ifndef __INT_ACOSD_H__
-#define __INT_ACOSD_H__
-
-#include "acosd.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0acosdd0(in1) dacosds(in1);
-
-#define d2acosdd2(in1,in2,in3) dacosda(in1,in2[0]*in2[1],in3);
-
-#define s0acosds0(in1) sacosds(in1);
-
-#define s2acosds2(in1,in2,in3) sacosda(in1,in2[0]*in2[1],in3);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ACOSD_H__ */
-
diff --git a/interfaces/int_acosh.h b/interfaces/int_acosh.h
deleted file mode 100644
index 51280aa..0000000
--- a/interfaces/int_acosh.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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_ACOSH_H__
-#define __INT_ACOSH_H__
-
-#define s0acoshs0(in) sacoshs(in)
-
-#define s0acoshc0(in) cacoshs(FloatComplex(in,0))
-
-#define d0acoshd0(in) dacoshs(in)
-
-#define d0acoshz0(in) zacoshs(DoubleComplex(in,0))
-
-#define c0acoshc0(in) cacoshs(in)
-
-#define z0acoshz0(in) zacoshs(in)
-
-#define s2acoshs2(in,size,out) sacosha(in, size[0]*size[1], out)
-
-#define s2acoshc2(in,size,out) cacosha(FloatComplexMatrix(in,0), size[0]*size[1], out)
-
-#define d2acoshd2(in,size,out) dacosha(in, size[0]*size[1], out)
-
-#define d2acoshz2(in,size,out) zacosha(DoubleComplexMatrix(in,0), size[0]*size[1], out)
-
-#define c2acoshc2(in,size,out) cacosha(in, size[0]*size[1], out)
-
-#define z2acoshz2(in,size,out) zacosha(in, size[0]*size[1], out)
-
-#endif /* !__INT_ACOSH_H__ */
diff --git a/interfaces/int_acot.h b/interfaces/int_acot.h
deleted file mode 100644
index 371e64b..0000000
--- a/interfaces/int_acot.h
+++ /dev/null
@@ -1,42 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-#ifndef __INT_ACOT_H__
-#define __INT_ACOT_H__
-
-#include "acot.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0acotd0(in1) dacots(in1);
-
-#define d2acotd2(in1,in2,in3) dacota(in1,in2[0]*in2[1],in3);
-
-#define s0acots0(in1) sacots(in1);
-
-#define s2acots2(in1,in2,in3) sacota(in1,in2[0]*in2[1],in3);
-
-#define c0acotd0(in1) cacots(in1);
-
-#define c2acotc2(in1,in2,in3) cacota(in1,in2[0]*in2[1],in3);
-
-#define z0acotz0(in1) zacots(in1);
-
-#define z2acotz2(in1,in2,in3) zacota(in1,in2[0]*in2[1],in3);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ACOT_H__ */
-
diff --git a/interfaces/int_acotd.h b/interfaces/int_acotd.h
deleted file mode 100644
index 22367be..0000000
--- a/interfaces/int_acotd.h
+++ /dev/null
@@ -1,33 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-#ifndef __INT_ACOTD_H__
-#define __INT_ACOTD_H__
-
-#include "acotd.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0acotdd0(in1) dacotds(in1);
-
-#define d2acotdd2(in1,in2,in3) dacotda(in1,in2[0]*in2[1],in3);
-
-#define s0acotds0(in1) sacotds(in1);
-
-#define s2acotds2(in1,in2,in3) sacotda(in1,in2[0]*in2[1],in3);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ACOTD_H__ */
-
diff --git a/interfaces/int_acoth.h b/interfaces/int_acoth.h
deleted file mode 100644
index 8ec51a7..0000000
--- a/interfaces/int_acoth.h
+++ /dev/null
@@ -1,43 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-
-#ifndef __INT_ACOTH_H__
-#define __INT_ACOTH_H__
-
-#include "acoth.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0acothd0(in1) dacoths(in1);
-
-#define d2acothd2(in1,in2,in3) dacotha(in1,in2[0]*in2[1],in3);
-
-#define s0acoths0(in1) sacoths(in1);
-
-#define s2acoths2(in1,in2,in3) sacotha(in1,in2[0]*in2[1],in3);
-
-#define c0acothc0(in1) cacoths(in1);
-
-#define c2acothc2(in1,in2,in3) cacotha(in1,in2[0]*in2[1],in3);
-
-#define z0acothz0(in1) zacoths(in1);
-
-#define z2acothz2(in1,in2,in3) zacotha(in1,in2[0]*in2[1],in3);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ACOTH_H__ */
-
diff --git a/interfaces/int_acsc.h b/interfaces/int_acsc.h
deleted file mode 100644
index e16f7c9..0000000
--- a/interfaces/int_acsc.h
+++ /dev/null
@@ -1,42 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-#ifndef __INT_ACSC_H__
-#define __INT_ACSC_H__
-
-#include "acsc.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0acscd0(in1) dacscs(in1);
-
-#define d2acscd2(in1,in2,in3) dacsca(in1,in2[0]*in2[1],in3);
-
-#define s0acscs0(in1) sacscs(in1);
-
-#define s2acscs2(in1,in2,in3) sacsca(in1,in2[0]*in2[1],in3);
-
-#define c0acscc0(in1) cacscs(in1);
-
-#define c2acscc2(in1,in2,in3) cacsca(in1,in2[0]*in2[1],in3);
-
-#define z0acscz0(in1) zacscs(in1);
-
-#define z2acscz2(in1,in2,in3) zacsca(in1,in2[0]*in2[1],in3);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ACSC_H__ */
-
diff --git a/interfaces/int_acscd.h b/interfaces/int_acscd.h
deleted file mode 100644
index fa13acb..0000000
--- a/interfaces/int_acscd.h
+++ /dev/null
@@ -1,34 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-#ifndef __INT_ACSCD_H__
-#define __INT_ACSCD_H__
-
-#include "acscd.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0acscdd0(in1) dacscds(in1);
-
-#define d2acscdd2(in1,in2,in3) dacscda(in1,in2[0]*in2[1],in3);
-
-#define s0acscds0(in1) sacscds(in1);
-
-#define s2acscds2(in1,in2,in3) sacscda(in1,in2[0]*in2[1],in3);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ACSCD_H__ */
-
diff --git a/interfaces/int_acsch.h b/interfaces/int_acsch.h
deleted file mode 100644
index 2101abe..0000000
--- a/interfaces/int_acsch.h
+++ /dev/null
@@ -1,34 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-#ifndef __INT_ACSCH_H__
-#define __INT_ACSCH_H__
-
-#include "acsch.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0acschd0(in1) dacschs(in1);
-
-#define d2acschd2(in1,in2,in3) dacscha(in1,in2[0]*in2[1],in3);
-
-#define s0acschs0(in1) sacschs(in1);
-
-#define s2acschs2(in1,in2,in3) sacscha(in1,in2[0]*in2[1],in3);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ACSCH_H__ */
-
diff --git a/interfaces/int_asec.h b/interfaces/int_asec.h
deleted file mode 100644
index 25a1f11..0000000
--- a/interfaces/int_asec.h
+++ /dev/null
@@ -1,34 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-#ifndef __INT_ASEC_H__
-#define __INT_ASEC_H__
-
-#include "asec.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0asecd0(in1) dasecs(in1);
-
-#define d2asecd2(in1,in2,in3) daseca(in1,in2[0]*in2[1],in3);
-
-#define s0asecs0(in1) sasecs(in1);
-
-#define s2asecs2(in1,in2,in3) saseca(in1,in2[0]*in2[1],in3);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ASEC_H__ */
-
diff --git a/interfaces/int_asecd.h b/interfaces/int_asecd.h
deleted file mode 100644
index a722b6b..0000000
--- a/interfaces/int_asecd.h
+++ /dev/null
@@ -1,34 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-#ifndef __INT_ASECD_H__
-#define __INT_ASECD_H__
-
-#include "asecd.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0asecdd0(in1) dasecds(in1);
-
-#define d2asecdd2(in1,in2,in3) dasecda(in1,in2[0]*in2[1],in3);
-
-#define s0asecds0(in1) sasecds(in1);
-
-#define s2asecds2(in1,in2,in3) sasecda(in1,in2[0]*in2[1],in3);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ASECD_H__ */
-
diff --git a/interfaces/int_asech.h b/interfaces/int_asech.h
deleted file mode 100644
index c6830f5..0000000
--- a/interfaces/int_asech.h
+++ /dev/null
@@ -1,34 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-#ifndef __INT_ASECH_H__
-#define __INT_ASECH_H__
-
-#include "asech.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0asechd0(in1) dasechs(in1);
-
-#define d2asechd2(in1,in2,in3) dasecha(in1,in2[0]*in2[1],in3);
-
-#define s0asechs0(in1) sasechs(in1);
-
-#define s2asechs2(in1,in2,in3) sasecha(in1,in2[0]*in2[1],in3);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ASECH_H__ */
-
diff --git a/interfaces/int_asin.h b/interfaces/int_asin.h
deleted file mode 100644
index 65b5d17..0000000
--- a/interfaces/int_asin.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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_ASIN_H__
-#define __INT_ASIN_H__
-
-#define s0asins0(in) sasins(in)
-
-#define s0asinc0(in) casins(FloatComplex(in,0))
-
-#define d0asind0(in) dasins(in)
-
-#define d0asinz0(in) zasins(DoubleComplex(in,0))
-
-#define c0asinc0(in) casins(in)
-
-#define z0asinz0(in) zasins(in)
-
-#define s2asins2(in,size,out) sasina(in, size[0]*size[1], out)
-
-#define s2asinc2(in,size,out) casina(FloatComplexMatrix(in,0), size[0]*size[1], out)
-
-#define d2asind2(in,size,out) dasina(in, size[0]*size[1], out)
-
-#define d2asinz2(in,size,out) zasina(DoubleComplexMatrix(in,0), size[0]*size[1], out)
-
-#define c2asinc2(in,size,out) casina(in, size[0]*size[1], out)
-
-#define z2asinz2(in,size,out) zasina(in, size[0]*size[1], out)
-
-#endif /* !__INT_ASIN_H__ */
diff --git a/interfaces/int_asind.h b/interfaces/int_asind.h
deleted file mode 100644
index fe640ea..0000000
--- a/interfaces/int_asind.h
+++ /dev/null
@@ -1,34 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-#ifndef __INT_ASIND_H__
-#define __INT_ASIND_H__
-
-#include "asind.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0asindd0(in1) dasinds(in1);
-
-#define d2asindd2(in1,in2,in3) dasinda(in1,in2[0]*in2[1],in3);
-
-#define s0asinds0(in1) sasinds(in1);
-
-#define s2asinds2(in1,in2,in3) sasinda(in1,in2[0]*in2[1],in3);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ASIND_H__ */
-
diff --git a/interfaces/int_asinh.h b/interfaces/int_asinh.h
deleted file mode 100644
index 590d0ad..0000000
--- a/interfaces/int_asinh.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_ASINH_H__
-#define __INT_ASINH_H__
-
-#define s0asinhs0(in) sasinhs(in)
-
-#define d0asinhd0(in) dasinhs(in)
-
-#define c0asinhc0(in) casinhs(in)
-
-#define z0asinhz0(in) zasinhs(in)
-
-#define s2asinhs2(in,size,out) sasinha(in, size[0]*size[1], out)
-
-#define d2asinhd2(in,size,out) dasinha(in, size[0]*size[1], out)
-
-#define c2asinhc2(in,size,out) casinha(in, size[0]*size[1], out)
-
-#define z2asinhz2(in,size,out) zasinha(in, size[0]*size[1], out)
-
-#endif /* !__INT_ASINH_H__ */
diff --git a/interfaces/int_atan.h b/interfaces/int_atan.h
deleted file mode 100644
index ad87e67..0000000
--- a/interfaces/int_atan.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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_ATAN_H__
-#define __INT_ATAN_H__
-
-#define s0atans0(in) satans(in)
-
-#define d0atand0(in) datans(in)
-
-#define c0atanc0(in) catans(in)
-
-#define z0atanz0(in) zatans(in)
-
-#define s2atans2(in,size,out) satana(in, size[0]*size[1], out)
-
-#define d2atand2(in,size,out) datana(in, size[0]*size[1], out)
-
-#define c2atanc2(in,size,out) catana(in, size[0]*size[1], out)
-
-#define z2atanz2(in,size,out) zatana(in, size[0]*size[1], out)
-
-#define s0s0atans0(in1, in2) satan2s(in1, in2)
-
-#define d0d0atand0(in1, in2) datan2s(in1, in2)
-
-#define s2s2atans2(in1,size1, in2, size2, out) satan2a(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-#define d2d2atand2(in1, size1, in2,size2, out) datan2a(in1, size1[0]*size1[1], in2, size2[0]*size2[1], out)
-
-
-
-#endif /* !__INT_ATAN_H__ */
diff --git a/interfaces/int_atand.h b/interfaces/int_atand.h
deleted file mode 100644
index 0adc906..0000000
--- a/interfaces/int_atand.h
+++ /dev/null
@@ -1,34 +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
-// Organization: FOSSEE, IIT Bombay
-// Author: Ashish Kamble
-// Email: toolbox@scilab.in
-#ifndef __INT_ATAND_H__
-#define __INT_ATAND_H__
-
-#include "atand.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0atandd0(in1) datands(in1);
-
-#define d2atandd2(in1,in2,in3) datanda(in1,in2[0]*in2[1],in3);
-
-#define s0atands0(in1) satands(in1);
-
-#define s2atands2(in1,in2,in3) satanda(in1,in2[0]*in2[1],in3);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* !__ATAND_H__ */
-
diff --git a/interfaces/int_atanh.h b/interfaces/int_atanh.h
deleted file mode 100644
index 492fa74..0000000
--- a/interfaces/int_atanh.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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_ATANH_H__
-#define __INT_ATANH_H__
-
-#define s0atanhs0(in) satanhs(in)
-
-#define s0atanhc0(in) catanhs(FloatComplex(in,0))
-
-#define d0atanhd0(in) datanhs(in)
-
-#define d0atanhz0(in) zatanhs(DoubleComplex(in,0))
-
-#define c0atanhc0(in) catanhs(in)
-
-#define z0atanhz0(in) zatanhs(in)
-
-#define s2atanhs2(in,size,out) satanha(in, size[0]*size[1], out)
-
-#define s2atanhc2(in,size,out) catanha(FloatComplexMatrix(in,0), size[0]*size[1], out)
-
-#define d2atanhd2(in,size,out) datanha(in, size[0]*size[1], out)
-
-#define d2atanhz2(in,size,out) zatanha(DoubleComplexMatrix(in,0), size[0]*size[1], out)
-
-#define c2atanhc2(in,size,out) catanha(in, size[0]*size[1], out)
-
-#define z2atanhz2(in,size,out) zatanha(in, size[0]*size[1], out)
-
-#endif /* !__INT_ATANH_H__ */
diff --git a/interfaces/int_base2dec.h b/interfaces/int_base2dec.h
deleted file mode 100644
index 8d5e68e..0000000
--- a/interfaces/int_base2dec.h
+++ /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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_base2dec_H__
-#define __INT_base2dec_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define g2d0base2decd0(in,size,base) gbase2decs(in,size[1],base)
-#define d0d0base2decd0(in,base) dbase2decs(in,base)
-//#define g2d0base2decd2(in,size,out) gbase2deca(in,size[1],out)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_base2dec_H__*/
diff --git a/interfaces/int_bin2dec.h b/interfaces/int_bin2dec.h
deleted file mode 100644
index c8e07b0..0000000
--- a/interfaces/int_bin2dec.h
+++ /dev/null
@@ -1,37 +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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_bin2dec_H__
-#define __INT_bin2dec_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d0bin2decd0(in) dbin2decs(in)
-#define i80bin2deci80(in) i8bin2decs(in)
-//#define i160bin2deci160(in) i16bin2decs(in)
-#define u80bin2decu80(in) u8bin2decs(in)
-#define u160bin2decu160(in) u16bin2decs(in)
-
-#define d2bin2decd2(in,size,out) dbin2deca(in,size[0]*size[1],out)
-#define i82bin2deci82(in,size,out) i8bin2deca(in,size[0]*size[1],out)
-//#define i162bin2deci162(in,size,out) i16bin2deca(in,size[0]*size[1],out)
-#define u82bin2decu82(in,size,out) u8bin2deca(in,size[0]*size[1],out)
-#define u162bin2decu162(in,size,out) u16bin2deca(in,size[0]*size[1],out)
-
-
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_bin2dec_H__*/
diff --git a/interfaces/int_bitand.h b/interfaces/int_bitand.h
deleted file mode 100644
index 8b208ea..0000000
--- a/interfaces/int_bitand.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: Mushir
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-#ifndef __INT_BITAND_H__
-#define __INT_BITAND_H__
-
-
-#define u80u80bitandu80(in1,in2) u8bitands(in1,in2)
-
-#define u82u82bitandu82(in1,size1,in2,size2,out) u8bitanda(in1,in2,size1[0]*size1[1],out)
-
-#define u160u160bitandu160(in1,in2) u16bitands(in1,in2)
-
-#define u162u162bitandu162(in1,size1,in2,size2,out) u16bitanda(in1,in2,size1[0]*size1[1],out)
-
-
-#endif
diff --git a/interfaces/int_bitcmp.h b/interfaces/int_bitcmp.h
deleted file mode 100644
index d49289f..0000000
--- a/interfaces/int_bitcmp.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: Mushir
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-#ifndef __INT_BITCMP_H__
-#define __INT_BITCMP_H__
-
-
-#define u80d0bitcmpu80(in1,in2) u8bitcmps(in1,in2)
-
-#define u82d0bitcmpu82(in1,size1,in2,out) u8bitcmpa(in1,in2,size1[0]*size1[1],out)
-
-#define u160d0bitcmpu160(in1,in2) u16bitcmps(in1,in2)
-
-#define u162d0bitcmpu162(in1,size1,in2,out) u16bitcmpa(in1,in2,size1[0]*size1[1],out)
-
-
-#endif
diff --git a/interfaces/int_bitor.h b/interfaces/int_bitor.h
deleted file mode 100644
index 00edc48..0000000
--- a/interfaces/int_bitor.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: Mushir
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-#ifndef __INT_BITOR_H__
-#define __INT_BITOR_H__
-
-
-#define u80u80bitoru80(in1,in2) u8bitors(in1,in2)
-
-#define u82u82bitoru82(in1,size1,in2,size2,out) u8bitora(in1,in2,size1[0]*size1[1],out)
-
-#define u160u160bitoru160(in1,in2) u16bitors(in1,in2)
-
-#define u162u162bitoru162(in1,size1,in2,size2,out) u16bitora(in1,in2,size1[0]*size1[1],out)
-
-
-#endif
diff --git a/interfaces/int_bitxor.h b/interfaces/int_bitxor.h
deleted file mode 100644
index 1722c90..0000000
--- a/interfaces/int_bitxor.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: Mushir
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-#ifndef __INT_BITXOR_H__
-#define __INT_BITXOR_H__
-
-
-#define u80u80bitxoru80(in1,in2) u8bitxors(in1,in2)
-
-#define u82u82bitxoru82(in1,size1,in2,size2,out) u8bitxora(in1,in2,size1[0]*size1[1],out)
-
-#define u160u160bitxoru160(in1,in2) u16bitxors(in1,in2)
-
-#define u162u162bitxoru162(in1,size1,in2,size2,out) u16bitxora(in1,in2,size1[0]*size1[1],out)
-
-
-#endif
diff --git a/interfaces/int_cat.h b/interfaces/int_cat.h
deleted file mode 100644
index db80bec..0000000
--- a/interfaces/int_cat.h
+++ /dev/null
@@ -1,359 +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: Mushir
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-#ifndef __INT_CAT_H
-#define __INT_CAT_H
-
-/* Column Cat */
-
-/* Same input elements */
-
-#define s0s0cats2(in1,in2,out) scolumncats(in1,in2,out)
-
-#define d0d0catd2(in1,in2,out) dcolumncats(in1,in2,out)
-
-#define c0c0catc2(in1,in2,out) ccolumncats(in1,in2,out)
-
-#define z0z0catz2(in1,in2,out) zcolumncats(in1,in2,out)
-
-#define u80u80catu82(in1,in2,out) u8columncats(in1,in2,out)
-
-#define u160u160catu162(in1,in2,out) u16columncats(in1,in2,out)
-
-#define i80i80cati82(in1,in2,out) i8columnscats(in1,in2,out)
-
-#define i160i160cati162(in1,in2,out) i16columnscats(in1,in2,out)
-
-#define s2s2cats2(in1,size1,in2,size2,out) scolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define d2d2catd2(in1,size1,in2,size2,out) dcolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-/* ROW COLUMN SUPPORT for cat, If First argument in cat command is 1 then it will concatenate the element ROW WISE else COLUMN WISE */
-
-#define d0d2d2catd2(in1,in2,size2,in3,size3,out) (in1 == 1) ? drowcata(in2, size2[0], size2[1], in3, size3[0], size3[1], out) : dcolumncata(in2, size2[0],size2[1],in3,size3[0],size3[1],out)
-
-#define d0u82u82catu82(in1,in2,size2,in3,size3,out) (in1 == 1) ? u8rowcata(in2, size2[0], size2[1], in3, size3[0], size3[1], out) : u8columncata(in2, size2[0],size2[1],in3,size3[0],size3[1],out)
-
-#define d0u162u162catu162(in1,in2,size2,in3,size3,out) (in1 == 1) ? u16rowcata(in2, size2[0], size2[1], in3, size3[0], size3[1], out) : u16columncata(in2, size2[0],size2[1],in3,size3[0],size3[1],out)
-
-
-#define d0i82i82cati82(in1,in2,size2,in3,size3,out) (in1 == 1) ? i8rowcata(in2, size2[0], size2[1], in3, size3[0], size3[1], out) : i8columncata(in2, size2[0],size2[1],in3,size3[0],size3[1],out)
-
-#define d0i162i162cati162(in1,in2,size2,in3,size3,out) (in1 == 1) ? i16rowcata(in2, size2[0], size2[1], in3, size3[0], size3[1], out) : i16columncata(in2, size2[0],size2[1],in3,size3[0],size3[1],out)
-
-
-#define c2c2catc2(in1,size1,in2,size2,out) ccolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define z2z2catz2(in1,size1,in2,size2,out) zcolumncata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define u82u82catu82(in1,size1,in2,size2,out) u8columncata(in1,size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define u162u162catu162(in1,size1,in2,size2,out) u16columncata(in1,size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define i82i82cati82(in1,size1,in2,size2,out) i8columncata(in1,size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define i162i162cati162(in1,size1,in2,size2,out) i16columncata(in1,size1[0], size1[1], in2, size2[0], size2[1], out)
-
-
-
-/* Differents input elements */
-#define s0c0catc2(in1,in2,out) c0c0OpRcc2(FloatComplex(in1,0),in2,out)
-
-#define d0z0catz2(in1,in2,out) z0z0OpRcz2(DoubleComplex(in1,0),in2,out)
-
-#define c0s0catc2(in1,in2,out) c0c0OpRcc2(in1,FloatComplex(in2,0),out)
-
-#define z0d0catz2(in1,in2,out) z0z0OpRcz2(in1,DoubleComplex(in2,0),out)
-
-#define s2c2catc2(in1,size1,in2,size2,out) sfilla((float*)out,size1[0],size1[1],0); \
- c2c2OpRcc2(FloatComplexMatrix(in1,(float*)out,size1[0]*size1[1]), size1, in2, size2, out)
-
-#define d2z2catz2(in1,size1,in2,size2,out) dfilla((double*)out,size1[0],size1[1],0); \
- z2z2OpRcz2(DoubleComplexMatrix(in1,(double*)out,size1[0]*size1[1]), size1, in2, size2, out)
-
-#define c2s2catc2(in1,size1,in2,size2,out) sfilla((float*)out,size2[0],size2[1],0); \
- c2c2OpRcc2(in1, size1, FloatComplexMatrix(in2,(float*)out,size2[0]*size2[1]), size2, out)
-
-#define z2d2catz2(in1,size1,in2,size2,out) dfilla((double*)out,size2[0],size2[1],0); \
- z2z2OpRcz2(in1, size1, DoubleComplexMatrix(in2,(double*)out,size2[0]*size2[1]), size2, out)
-
-/* Matrix-Scalar */
-
-/* Same type */
-
-#define s2s0cats2(in1,size,in2,out) { float temp=in2; \
- scolumncata(in1, size[0], size[1],&temp, 1, 1, out); \
- }
-
-#define d2d0catd2(in1,size,in2,out) { double temp=in2; \
- dcolumncata(in1, size[0], size[1],&temp, 1, 1, out); \
- }
-
-#define c2c0catc2(in1,size,in2,out) { floatComplex temp=in2; \
- ccolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
- }
-
-#define z2z0catz2(in1,size,in2,out) { doubleComplex temp=in2; \
- zcolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
- }
-
-#define u82u80catu82(in1,size,in2,out) { uint8 temp=in2; \
- u8columncata(in1,size[0],size[1],&temp,1,1,out); \
- }
-#define u162u160catu162(in1,size,in2,out) { uint16 temp=in2; \
- u16columncata(in1,size[0],size[1],&temp,1,1,out); \
- }
-#define i82i80cati82(in1,size,in2,out) { int8 temp=in2; \
- i8columncata(in1,size[0],size[1],&temp,1,1,out); \
- }
-#define i162i160cati162(in1,size,in2,out) { int16 temp=in2; \
- i16columncata(in1,size[0],size[1],&temp,1,1,out); \
- }
-
-
-/* Different type */
-#define s2c0catc2(in1,size,in2,out) { floatComplex temp=in2; \
- sfilla((float *)out,size[0],size[1],0); \
- scolumncata(FloatComplexMatrix(in1,(float*)out,size[0]*size[1]), size[0], size[1], &temp , 1, 1, out); \
- }
-
-#define d2z0catz2(in1,size,in2,out) { doubleComplex temp=in2; \
- dfilla((double *)out,size[0],size[1],0); \
- zcolumncata(DoubleComplexMatrix(in1,(double *)out,size[0]*size[1]), size[0], size[1], &temp , 1, 1, out); \
- }
-
-#define c2s0catc2(in1,size,in2,out) { floatComplex temp = FloatComplex(in2,0); \
- ccolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
- }
-
-#define z2d0catz2(in1,size,in2,out) { doubleComplex temp = DoubleComplex(in2,0); \
- zcolumncata(in1, size[0], size[1], &temp, 1, 1, out); \
- }
-
-/* Scalar-Matrix */
-
-/* Same type */
-#define s0s2cats2(in1,in2,size,out) { \
- float __tmp1 = in1 ;\
- scolumncata(&__tmp1 , 1, 1, in2, size[0], size[1], out);\
-}
-#define d0d2catd2(in1,in2,size,out) {\
- double __tmp1 = in1 ;\
- dcolumncata(&__tmp1 , 1, 1, in2, size[0], size[1], out); \
-}
-
-#define c0c2catc2(in1,in2,size,out) { \
- floatComplex __tmp1 = in1 ;\
- ccolumncata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-#define z0z2catz2(in1,in2,size,out) { \
- doubleComplex __tmp1 = in1 ;\
- zcolumncata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-#define u80u82catu82(in1,in2,size,out) {\
- uint8 __tmp1 = in1 ;\
- u8columncata(&__tmp1,1,1,in2,size[0],size[1],out);\
-}
-
-#define u160u162catu162(in1,in2,size,out) {\
- uint16 __tmp1 = in1 ;\
- u16columncata(&__tmp1,1,1,in2,size[0],size[1],out);\
-}
-
-#define i80i82cati82(in1,in2,size,out) {\
- int8 __tmp1 = in1 ;\
- i8columncata(&__tmp1,1,1,in2,size[0],size[1],out);\
-}
-
-#define i160i162cati162(in1,in2,size,out) {\
- int16 __tmp1 = in1 ;\
- i16columncata(&__tmp1,1,1,in2,size[0],size[1],out);\
-}
-
-
-/* Different type */
-#define s0c2catc2(in1,in2,size,out) c0c2OpRcc2(FloatComplex(in1,0),in2,size,out)
-
-#define d0z2catz2(in1,in2,size,out) z0z2OpRcz2(DoubleComplex(in1,0),in2,size,out)
-
-#define c0s2catc2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],0); \
- c0c2OpRcc2(in1,FloatComplexMatrix(in2,(float*)out,size[0]*size[1]),size,out)
-
-#define z0d2catz2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],0); \
- z0z2OpRcz2(in1,DoubleComplexMatrix(in2,(double*)out,size[0]*size[1]),size,out)
-
-
-/* Column Cat */
-
-/* Same input elements */
-
-#define s0s0cats2(in1,in2,out) srowcats(in1,in2,out)
-
-#define d0d0catd2(in1,in2,out) drowcats(in1,in2,out)
-
-#define c0c0catc2(in1,in2,out) crowcats(in1,in2,out)
-
-#define z0z0catz2(in1,in2,out) zrowcats(in1,in2,out)
-
-#define u80u80catu82(in1,in2,out) u8rowcats(in1,in2,out)
-
-#define u160u160catu162(in1,in2,out) u16rowcats(in1,in2,out)
-
-#define i80i80cati82(in1,in2,out) i8rowcats(in1,in2,out)
-
-#define i160i160cati162(in1,in2,out) i16rowcats(in1,in2,out)
-
-#define s2s2cats2(in1,size1,in2,size2,out) srowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define d2d2catd2(in1,size1,in2,size2,out) drowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define c2c2catc2(in1,size1,in2,size2,out) crowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define z2z2catz2(in1,size1,in2,size2,out) zrowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define u82u82catu82(in1,size1,in2,size2,out) u8rowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define u162u162catu162(in1,size1,in2,size2,out) u16rowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define i82i82cati82(in1,size1,in2,size2,out) i8rowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define i162i162cati162(in1,size1,in2,size2,out) i16rowcata(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-/* Differents input elements */
-#define s0c0catc2(in1,in2,out) c0c0OpCcc2(FloatComplex(in1,0),in2,out)
-
-#define d0z0catz2(in1,in2,out) z0z0OpCcz2(DoubleComplex(in1,0),in2,out)
-
-#define c0s0catc2(in1,in2,out) c0c0OpCcc2(in1,FloatComplex(in2,0),out)
-
-#define z0d0catz2(in1,in2,out) z0z0OpCcz2(in1,DoubleComplex(in2,0),out)
-
-#define s2c2catc2(in1,size1,in2,size2,out) sfilla((float*)out,size1[0],size1[1],0); \
- c2c2OpCcc2(FloatComplexMatrix(in1,(float*)out,size1[0]*size1[1]), size1, in2, size2, out)
-
-#define d2z2catz2(in1,size1,in2,size2,out) dfilla((double*)out,size1[0],size1[1],0); \
- z2z2OpCcz2(DoubleComplexMatrix(in1,(double*)out,size1[0]*size1[1]), size1, in2, size2, out)
-
-#define c2s2catc2(in1,size1,in2,size2,out) sfilla((float*)out,size2[0],size2[1],0); \
- c2c2OpCcc2(in1, size1, FloatComplexMatrix(in2,(float*)out,size2[0]*size2[1]), size2, out)
-
-#define z2d2catz2(in1,size1,in2,size2,out) dfilla((double*)out,size2[0],size2[1],0); \
- z2z2OpCcz2(in1, size1, DoubleComplexMatrix(in2,(double*)out,size2[0]*size2[1]), size2, out)
-
-/* Matrix-Scalar */
-
-/* Same type */
-
-#define s2s0cats2(in1,size,in2,out) { float temp=in2; \
- srowcata(in1, size[0], size[1],&temp, 1, 1, out); \
- }
-
-#define d2d0catd2(in1,size,in2,out) { double temp=in2; \
- drowcata(in1, size[0], size[1],&temp, 1, 1, out); \
- }
-
-#define c2c0catc2(in1,size,in2,out) { floatComplex temp = in2; \
- crowcata(in1, size[0], size[1],&temp, 1, 1, out);\
- }
-
-#define z2z0catz2(in1,size,in2,out) { doubleComplex temp =in2; \
- zrowcata(in1, size[0], size[1],&temp, 1, 1, out);\
- }
-
-#define u82u80catu82(in1,size,in2,out) { uint8 temp=in2; \
- u8rowcata(in1, size[0], size[1],&temp, 1,1,out);\
- }
-#define u162u160catu162(in1,size,in2,out) { uint16 temp=in2; \
- u16rowcata(in1, size[0], size[1],&temp, 1,1,out);\
- }
-
-#define i82i80cati82(in1,size,in2,out) { int8 temp=in2; \
- i8rowcata(in1, size[0], size[1],&temp, 1,1,out);\
- }
-#define i162i160cati162(in1,size,in2,out) { int16 temp=in2; \
- i16rowcata(in1, size[0], size[1],&temp, 1,1,out);\
- }
-
-
-
-/* Different type */
-#define s2c0catc2(in1,size,in2,out) sfilla((float *)out,size[0],size[1],0); \
- c2c0OpCcc2(FloatComplexMatrix(in1,(float*)out,size[0]*size[1]),size,in2,out)
-
-#define d2z0catz2(in1,size,in2,out) dfilla((double *)out,size[0],size[1],0); \
- z2z0OpCcz2(DoubleComplexMatrix(in1,(double *)out,size[0]*size[1]),size,in2,out)
-
-#define c2s0catc2(in1,size,in2,out) { floatComplex temp = FloatComplex(in2, 0); c2c0OpCcc2(in1, size, temp, out)}
-
-#define z2d0catz2(in1,size,in2,out) { doubleComplex temp = DoubleComplex(in2, 0); z2z0OpCcz2(in1, size, temp, out)}
-
-
-/* Scalar-Matrix */
-
-/* Same type */
-#define s0s2cats2(in1,in2,size,out) { \
- float __tmp1 = in1 ;\
- srowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-#define d0d2catd2(in1,in2,size,out) { \
- double __tmp1 = in1 ;\
- drowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-#define c0c2catc2(in1,in2,size,out) { \
- floatComplex __tmp1 = in1 ;\
- crowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-#define z0z2catz2(in1,in2,size,out) { \
- doubleComplex __tmp1 = in1 ;\
- zrowcata(&__tmp1, 1, 1, in2, size[0], size[1], out);\
-}
-
-#define u80u82catu82(in1,in2,size,out) { \
- uint8 __tmp1 = in1;\
- u8rowcata(&__tmp1, 1,1, in2, size[0], size[1], out);\
-}
-
-#define u160u162catu162(in1,in2,size,out) { \
- uint16 __tmp1 = in1;\
- u16rowcata(&__tmp1, 1,1, in2, size[0], size[1], out);\
-}
-
-#define i80i82cati82(in1,in2,size,out) { \
- int8 __tmp1 = in1;\
- i8rowcata(&__tmp1, 1,1, in2, size[0], size[1], out);\
-}
-
-#define i160i162cati162(in1,in2,size,out) { \
- int16 __tmp1 = in1;\
- i16rowcata(&__tmp1, 1,1, in2, size[0], size[1], out);\
-}
-
-
-/* Different type */
-#define s0c2catc2(in1,in2,size,out) c0c2OpCcc2(FloatComplex(in1,0),in2,size,out)
-
-#define d0z2catz2(in1,in2,size,out) z0z2OpCcz2(DoubleComplex(in1,0),in2,size,out)
-
-#define c0s2catc2(in1,in2,size,out) sfilla((float*)out,size[0],size[1],0); \
- c0c2OpCcc2(in1,FloatComplexMatrix(in2,(float*)out,size[0]*size[1]),size,out)
-
-#define z0d2catz2(in1,in2,size,out) dfilla((double*)out,size[0],size[1],0); \
- z0z2OpCcz2(in1,DoubleComplexMatrix(in2,(double*)out,size[0]*size[1]),size,out)
-
-
-#endif /* !__INT_CAT__H */
-
diff --git a/interfaces/int_ceil.h b/interfaces/int_ceil.h
deleted file mode 100644
index 33c0176..0000000
--- a/interfaces/int_ceil.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_CEIL_H__
-#define __INT_CEIL_H__
-
-#define s0ceils0(in) sceils(in)
-
-#define d0ceild0(in) dceils(in)
-
-#define c0ceilc0(in) cceils(in)
-
-#define z0ceilz0(in) zceils(in)
-
-#define u80ceilu80(in) u8ceils(in)
-
-#define i80ceili80(in) i8ceils(in)
-
-#define u160ceilu160(in) u16ceils(in)
-
-#define i160ceili160(in) i16ceils(in)
-
-#define s2ceils2(in,size,out) sceila(in, size[0]*size[1], out)
-
-#define d2ceild2(in,size,out) dceila(in, size[0]*size[1], out)
-
-#define c2ceilc2(in,size,out) cceila(in, size[0]*size[1], out)
-
-#define z2ceilz2(in,size,out) zceila(in, size[0]*size[1], out)
-
-#define u82ceilu82(in,size,out) u8ceila(in, size[0]*size[1], out)
-
-#define i82ceili82(in,size,out) i8ceila(in, size[0]*size[1], out)
-
-#define u162ceilu162(in,size,out) u16ceila(in, size[0]*size[1], out)
-
-#define i162ceili162(in,size,out) i16ceila(in, size[0]*size[1], out)
-
-#endif /* !__INT_CEIL_H__ */
diff --git a/interfaces/int_cepstrum.h b/interfaces/int_cepstrum.h
deleted file mode 100644
index af1991b..0000000
--- a/interfaces/int_cepstrum.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_CEPSTRUM_H__
-#define __INT_CEPSTRUM_H__
-
-#define s0cepstrums0(in) scepstrums(in)
-
-#define d0cepstrumd0(in) dcepstrums(in)
-
-#define c0cepstrumc0(in) ccepstrums(in)
-
-#define z0cepstrumz0(in) zcepstrums(in)
-
-#define s2cepstrums2(in,size,out) scepstruma(in, size[0]*size[1], out)
-
-#define d2cepstrumd2(in,size,out) dcepstruma(in, size[0]*size[1], out)
-
-#define c2cepstrumc2(in,size,out) ccepstruma(in, size[0]*size[1], out)
-
-#define z2cepstrumz2(in,size,out) zcepstruma(in, size[0]*size[1], out)
-
-#endif /* !__INT_CEPSTRUM_H__ */
diff --git a/interfaces/int_chol.h b/interfaces/int_chol.h
deleted file mode 100644
index 861ad4d..0000000
--- a/interfaces/int_chol.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_CHOL_H__
-#define __INT_CHOL_H__
-
-#define s0chols0(in) schols(in)
-
-#define d0chold0(in) dchols(in)
-
-#define c0cholc0(in) cchols(in)
-
-#define z0cholz0(in) zchols(in)
-
-#define s2chols2(in,size,out) schola(in, size[0], out)
-
-#define d2chold2(in,size,out) dchola(in, size[0], out)
-
-#define c2cholc2(in,size,out) cchola(in, size[0], out)
-
-#define z2cholz2(in,size,out) zchola(in, size[0], out)
-
-#endif /* !__INT_CHOL_H__ */
diff --git a/interfaces/int_conj.h b/interfaces/int_conj.h
deleted file mode 100644
index 7884c99..0000000
--- a/interfaces/int_conj.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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_CONJ_H__
-#define __INT_CONJ_H__
-
-#define copy_c(in,size,out) {int i;for (i=0; i<size[0]*size[1];i++) out[i]=in[i];}
-
-#define s0conjs0(in) in
-
-#define d0conjd0(in) in
-
-#define c0conjc0(in) cconjs(in)
-
-#define z0conjz0(in) zconjs(in)
-
-#define u80conju80(in) in
-
-#define i80conji80(in) in
-
-#define u160conju160(in) in
-
-#define i160conji160(in) in
-
-#define s2conjs2(in,size,out) copy_c(in,size,out)
-
-#define d2conjd2(in,size,out) copy_c(in,size,out)
-
-#define c2conjc2(in,size,out) cconja(in, size[0]*size[1], out)
-
-#define z2conjz2(in,size,out) zconja(in, size[0]*size[1], out)
-
-#define u82conju82(in,size,out) copy_c(in,size,out)
-
-#define i82conji82(in,size,out) copy_c(in,size,out)
-
-#define u162conju162(in,size,out) copy_c(in,size,out)
-
-#define i162conji162(in,size,out) copy_c(in,size,out)
-
-#endif /* !__INT_CONJ_H__ */
diff --git a/interfaces/int_convol.h b/interfaces/int_convol.h
deleted file mode 100644
index 80ec65b..0000000
--- a/interfaces/int_convol.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * 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_CONVOL_H__
-#define __INT_CONVOL_H__
-
-
-/* Scalar - Scalar */
-
-#define s0s0convols0(in1,in2) in1*in2
-
-#define d0d0convold0(in1,in2) in1*in2
-
-#define c0c0convolc0(in1,in2) cmuls(in1,in2)
-
-#define z0z0convolz0(in1,in2) zmuls(in1,in2)
-
-#define s0c0convolc0(in1,in2) cmuls(FloatComplex(in1,0),in2)
-
-#define d0z0convolz0(in1,in2) zmuls(DoubleComplex(in1,0),in2)
-
-#define c0s0convolc0(in1,in2) cmuls(in1,FloatComplex(in2,0))
-
-#define z0d0convolz0(in1,in2) zmuls(in1,DoubleComplex(in2,0))
-
-/* Scalar - Matrix */
-
-#define s0s2convols2(in1,in2,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];\
- }
-
-#define d0d2convold2(in1,in2,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1*in2[i];\
- }
-
-#define c0c2convolc2(in1,in2,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,in2[i]);\
- }
-
-#define z0z2convolz2(in1,in2,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,in2[i]);\
- }
-
-#define s0c2convolc2(in1,in2,size,out) c0c2convolc2(FloatComplex(in1,0),in2,size,out)
-
-#define d0z2convolz2(in1,in2,size,out) z0z2convolz2(DoubleComplex(in1,0),in2,size,out)
-
-#define c0s2convolc2(in1,in2,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1,FloatComplex(in2[i],0));\
- }
-
-#define z0d2convolz2(in1,in2,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1,DoubleComplex(in2[i],0));\
- }
-
-/* Matrix - Scalar */
-
-#define s2s0convols2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
- }
-
-#define d2d0convold2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
- }
-
-#define c2c0convolc2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1[i],in2);\
- }
-
-#define z2z0convolz2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1[i],in2);\
- }
-
-#define s2c0convolc2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(FloatComplex(in1[i],0),in2);\
- }
-
-#define d2z0convolz2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(DoubleComplex(in1[i],0),in2);\
- }
-
-#define c2s0convolc2(in1,size,in2,out) c2c0convolc2(in1,size,FloatComplex(in2,0),out)
-
-#define z2d0convolz2(in1,size,in2,out) z2z0convolz2(in1,size,DoubleComplex(in2,0),out)
-
-
-/* Matrix - Matrix */
-
-#define s2s2convols2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\
- sconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\
- }else{\
- sconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\
- }
-
-#define d2d2convold2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\
- dconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\
- }else{\
- dconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\
- }
-
-#define c2c2convolc2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\
- cconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\
- }else{\
- cconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\
- }
-
-#define z2z2convolz2(in1,size1,in2,size2,out) if(((size1[0]==1)||(size1[1]==1))&&((size2[0]==1)||(size2[1]==1))){\
- zconva(in1,size1[0]*size1[1],in2,size2[0]*size2[1],out);\
- }else{\
- zconv2da(in1,size1[0],size1[1],in2,size2[0],size2[1],out);\
- }
-
-#define s2c2convolc2(in1,size1,in2,size2,out) {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- c2c2convolc2(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1,in2,size2,out);\
- free(temp);\
- }
-
-#define d2z2convolz2(in1,size1,in2,size2,out) {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- z2z2convolz2(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1,in2,size2,out);\
- free(temp);\
- }
-
-#define c2s2convolc2(in1,size1,in2,size2,out) {float* temp;\
- temp=malloc((uint)(size2[0]*size2[1])*sizeof(float));\
- sfilla(temp,size2[0],size2[1],0);\
- c2c2convolc2(in1,size1,FloatComplexMatrix(in2,temp,size2[0]*size2[1]),size2,out);\
- free(temp);\
- }
-
-
-#define z2d2convolz2(in1,size1,in2,size2,out) {double* temp;\
- temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
- dfilla(temp,size2[0],size2[1],0);\
- z2z2convolz2(in1,size1,DoubleComplexMatrix(in2,temp,size2[0]*size2[1]),size2,out);\
- free(temp);\
- }
-
-#endif /* !__INT_CONVOL_H__ */
diff --git a/interfaces/int_convstr.h b/interfaces/int_convstr.h
deleted file mode 100644
index 2eade50..0000000
--- a/interfaces/int_convstr.h
+++ /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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_CONVSTR_H__
-#define __INT_CONVSTR_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define g2g2convstrg2(in,size,flag,size2,out) gconvstrs(in,size[0]*size[1],flag,size2[1],out)
-/*#define g2g2convstrg0(in,size,type,typesize,out) (type=='u': \
- gconvstrs(in,size[0]*size[1],0,out)?gconvstrs(in,size[0]*size[1],1,out))
-*/
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_CONVSTR_H__*/
diff --git a/interfaces/int_cos.h b/interfaces/int_cos.h
deleted file mode 100644
index b19bcfc..0000000
--- a/interfaces/int_cos.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_COS_H__
-#define __INT_COS_H__
-
-#define s0coss0(in) scoss(in)
-
-#define d0cosd0(in) dcoss(in)
-
-#define c0cosc0(in) ccoss(in)
-
-#define z0cosz0(in) zcoss(in)
-
-#define u80coss0(in) u8coss(in)
-
-#define i80coss0(in) i8coss(in)
-
-#define u160coss0(in) u16coss(in)
-
-#define i160coss0(in) i16coss(in)
-
-#define s2coss2(in,size,out) scosa(in, size[0]*size[1], out)
-
-#define d2cosd2(in,size,out) dcosa(in, size[0]*size[1], out)
-
-#define c2cosc2(in,size,out) ccosa(in, size[0]*size[1], out)
-
-#define z2cosz2(in,size,out) zcosa(in, size[0]*size[1], out)
-
-#define u82coss2(in,size,out) u8cosa(in, size[0]*size[1], out)
-
-#define i82coss2(in,size,out) i8cosa(in, size[0]*size[1], out)
-
-#define u162coss2(in,size,out) u16cosa(in, size[0]*size[1], out)
-
-#define i162coss2(in,size,out) i16cosa(in, size[0]*size[1], out)
-
-#endif /* !__INT_COS_H__ */
diff --git a/interfaces/int_cosd.h b/interfaces/int_cosd.h
deleted file mode 100644
index 9ca9945..0000000
--- a/interfaces/int_cosd.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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_COSD_H__
-#define __INT_COSD_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d2cosdd2(in,size,out) dcosda(in,size[1],out)
-#define d0cosdd0(in) dcosds(in)
-#define s2cosds2(in,size,out) scosda(in,size[1],out)
-#define s0cosds0(in) scosds(in)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_COSD_H__*/
diff --git a/interfaces/int_cosh.h b/interfaces/int_cosh.h
deleted file mode 100644
index c2b97ad..0000000
--- a/interfaces/int_cosh.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_COSH_H__
-#define __INT_COSH_H__
-
-#define s0coshs0(in) scoshs(in)
-
-#define d0coshd0(in) dcoshs(in)
-
-#define c0coshc0(in) ccoshs(in)
-
-#define z0coshz0(in) zcoshs(in)
-
-#define u80coshs0(in) u8coshs(in)
-
-#define i80coshs0(in) i8coshs(in)
-
-#define u160coshs0(in) u16coshs(in)
-
-#define i160coshs0(in) i16coshs(in)
-
-#define s2coshs2(in,size,out) scosha(in, size[0]*size[1], out)
-
-#define d2coshd2(in,size,out) dcosha(in, size[0]*size[1], out)
-
-#define c2coshc2(in,size,out) ccosha(in, size[0]*size[1], out)
-
-#define z2coshz2(in,size,out) zcosha(in, size[0]*size[1], out)
-
-#define u82coshs2(in,size,out) u8cosha(in, size[0]*size[1], out)
-
-#define i82coshs2(in,size,out) i8cosha(in, size[0]*size[1], out)
-
-#define u162coshs2(in,size,out) u16cosha(in, size[0]*size[1], out)
-
-#define i162coshs2(in,size,out) i16cosha(in, size[0]*size[1], out)
-
-#endif /* !__INT_COSH_H__ */
diff --git a/interfaces/int_cotd.h b/interfaces/int_cotd.h
deleted file mode 100644
index 382f780..0000000
--- a/interfaces/int_cotd.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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_COTD_H__
-#define __INT_COTD_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d2cotdd2(in,size,out) dcotda(in,size[1],out)
-#define s2cotds2(in,size,out) scotda(in,size[1],out)
-#define d0cotdd0(in) dcotds(in)
-#define s0cotds0(in) scotds(in)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_COTD_H__*/
diff --git a/interfaces/int_coth.h b/interfaces/int_coth.h
deleted file mode 100644
index db8887a..0000000
--- a/interfaces/int_coth.h
+++ /dev/null
@@ -1,32 +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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_COTH_H__
-#define __INT_COTH_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d2cothd2(in,size,out) dcotha(in,size[1],out)
-#define s2coths2(in,size,out) scotha(in,size[1],out)
-#define d0cothd0(in) dcoths(in)
-#define s0coths0(in) scoths(in)
-#define z0cothz0(in) zcoths(in)
-#define z2cothz2(in,size,out) zcoths(in,size[1],out)
-#define c0cothc0(in) ccoths(in)
-#define c2cothc2(in,size,out) ccoths(in,size[1],out)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_COTH_H__*/
diff --git a/interfaces/int_csc.h b/interfaces/int_csc.h
deleted file mode 100644
index 74038c9..0000000
--- a/interfaces/int_csc.h
+++ /dev/null
@@ -1,32 +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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_CSC_H__
-#define __INT_CSC_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d2cscd2(in,size,out) dcsca(in,size[1],out)
-#define d0cscd0(in) dcscs(in)
-#define s2cscs2(in,size,out) scsca(in,size[1],out)
-#define s0cscs0(in) scscs(in)
-#define z2cscz2(in,size,out) zcsca(in,size[1],out)
-#define z0cscz0(in) zcscs(in)
-#define c2cscc2(in,size,out) ccsca(in,size[1],out)
-#define c0cscc0(in) ccscs(in)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_CSC_H__*/
diff --git a/interfaces/int_cscd.h b/interfaces/int_cscd.h
deleted file mode 100644
index 99bc49a..0000000
--- a/interfaces/int_cscd.h
+++ /dev/null
@@ -1,32 +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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_CSCD_H__
-#define __INT_CSCD_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d2cscdd2(in,size,out) dcscda(in,size[1],out)
-#define d0cscdd0(in) dcscds(in)
-#define s2cscds2(in,size,out) scscda(in,size[1],out)
-#define s0cscds0(in) scscds(in)
-#define z0cscdz0(in) zcscds(in)
-#define z2cscdz2(in,size,out) zcscds(in,size[1],out)
-#define c0cscdc0(in) ccscds(in)
-#define c2cscdc2(in,size,out) ccscds(in,size[1],out)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_CSCD_H__*/
diff --git a/interfaces/int_csch.h b/interfaces/int_csch.h
deleted file mode 100644
index ce35589..0000000
--- a/interfaces/int_csch.h
+++ /dev/null
@@ -1,32 +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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_CSCH_H__
-#define __INT_CSCH_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d2cschd2(in,size,out) dcscha(in,size[1],out)
-#define d0cschd0(in) dcschs(in)
-#define s2cschs2(in,size,out) scscha(in,size[1],out)
-#define s0cschs0(in) scschs(in)
-#define z0cschz0(in) zcschs(in)
-#define z2cschz2(in,size,out) zcschs(in,size[1],out)
-#define c0cschc0(in) ccschs(in)
-#define c2cschc2(in,size,out) ccschs(in,size[1],out)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_CSC_H__*/
diff --git a/interfaces/int_cumprod.h b/interfaces/int_cumprod.h
deleted file mode 100644
index 5ba3cc7..0000000
--- a/interfaces/int_cumprod.h
+++ /dev/null
@@ -1,54 +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_CUMPROD_H__
-#define __INT_CUMPROD_H__
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0cumprodd0(in) in
-#define s0cumprods0(in) in
-#define u80cumprodu80(in) in
-#define u160cumprodu160(in) in
-#define i80cumprodi80(in) in
-#define i160cumprodi160(in) in
-
-#define d2cumprodd2(in1, size1, out) dcumproda(in1, size1[0], size1[1], out)
-#define s2cumprods2(in1, size1, out) scumproda(in1, size1[0], size1[1], out)
-#define u82cumprodu82(in1, size1, out) u8cumproda(in1, size1[0], size1[1], out)
-#define u162cumprodu162(in1, size1, out) u16cumproda(in1, size1[0], size1[1], out)
-#define i82cumprodi82(in1, size1, out) i8cumproda(in1, size1[0], size1[1], out)
-#define i162cumprodi162(in1, size1, out) i16cumproda(in1, size1[0], size1[1], out)
-
-#define d2g2cumprodd2(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- drowcumproda(in1,size1[0],size1[1],out) : dcolumncumproda(in1,size1[0],size1[1],out)
-#define s2g2cumprods2(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- srowcumproda(in1,size1[0],size1[1],out) : scolumncumproda(in1,size1[0],size1[1],out)
-#define u82g2cumprodu82(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- u8rowcumproda(in1,size1[0],size1[1],out) : u8columncumproda(in1,size1[0],size1[1],out)
-#define i82g2cumprodi82(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- i8rowcumproda(in1,size1[0],size1[1],out) : i8columncumproda(in1,size1[0],size1[1],out)
-#define u162g2cumprodu162(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- u16rowcumproda(in1,size1[0],size1[1],out) : u16columncumproda(in1,size1[0],size1[1],out)
-#define i162g2cumprodi162(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- i16rowcumproda(in1,size1[0],size1[1],out) : i16columncumproda(in1,size1[0],size1[1],out)
-
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_CUMPROD_H__*/
diff --git a/interfaces/int_cumsum.h b/interfaces/int_cumsum.h
deleted file mode 100644
index 0eda0ac..0000000
--- a/interfaces/int_cumsum.h
+++ /dev/null
@@ -1,54 +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_CUMSUM_H__
-#define __INT_CUMSUM_H__
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0cumsumd0(in) in
-#define s0cumsums0(in) in
-#define u80cumsumu80(in) in
-#define u160cumsumu160(in) in
-#define i80cumsumi80(in) in
-#define i160cumsumi160(in) in
-
-#define d2cumsumd2(in1, size1, out) dcumsuma(in1, size1[0], size1[1], out)
-#define s2cumsums2(in1, size1, out) scumsuma(in1, size1[0], size1[1], out)
-#define u82cumsumu82(in1, size1, out) u8cumsuma(in1, size1[0], size1[1], out)
-#define u162cumsumu162(in1, size1, out) u16cumsuma(in1, size1[0], size1[1], out)
-#define i82cumsumi82(in1, size1, out) i8cumsuma(in1, size1[0], size1[1], out)
-#define i162cumsumi162(in1, size1, out) i16cumsuma(in1, size1[0], size1[1], out)
-
-#define d2g2cumsumd2(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- drowcumsuma(in1,size1[0],size1[1],out) : dcolumncumsuma(in1,size1[0],size1[1],out)
-#define s2g2cumsums2(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- srowcumsuma(in1,size1[0],size1[1],out) : scolumncumsuma(in1,size1[0],size1[1],out)
-#define u82g2cumsumu82(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- u8rowcumsuma(in1,size1[0],size1[1],out) : u8columncumsuma(in1,size1[0],size1[1],out)
-#define i82g2cumsumi82(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- i8rowcumsuma(in1,size1[0],size1[1],out) : i8columncumsuma(in1,size1[0],size1[1],out)
-#define u162g2cumsumu162(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- u16rowcumsuma(in1,size1[0],size1[1],out) : u16columncumsuma(in1,size1[0],size1[1],out)
-#define i162g2cumsumi162(in1, size1, in2, size2, out) (in2[0]=='r') ? \
- i16rowcumsuma(in1,size1[0],size1[1],out) : i16columncumsuma(in1,size1[0],size1[1],out)
-
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_CUMSUM_H__*/
diff --git a/interfaces/int_dec2base.h b/interfaces/int_dec2base.h
deleted file mode 100644
index 637f099..0000000
--- a/interfaces/int_dec2base.h
+++ /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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_dec2base_H__
-#define __INT_dec2base_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d0d0dec2baseg2(in,base,out) ddec2bases(in,base,0,out)
-#define s0d0dec2baseg2(in,base,out) sdec2bases(in,base,0,out)
-
-#define d2d0dec2baseg2(in,size,out) ddec2basea(in,size[0]*size[1],base,0,out)
-#define s2d0dec2baseg2(in,size,out) sdec2basea(in,size[0]*size[1],base,0,out)
-
-#define d0d0d0dec2baseg2(in,base,n,out) ddec2bases(in,base,n,out)
-#define s0d0d0dec2baseg2(in,base,n,out) sdec2bases(in,base,n,out)
-
-#define d2d0d0dec2baseg2(in,size,base,n,out) ddec2basea(in,size[0]*size[1],base,n,out)
-#define s2d0d0dec2baseg2(in,size,base,n,out) sdec2basea(in,size[0]*size[1],base,n,out)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_dec2base_H__*/
diff --git a/interfaces/int_dec2bin.h b/interfaces/int_dec2bin.h
deleted file mode 100644
index c6f2008..0000000
--- a/interfaces/int_dec2bin.h
+++ /dev/null
@@ -1,48 +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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_dec2bin_H__
-#define __INT_dec2bin_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d0dec2bind2(in,out) ddec2bins(in,0,out)
-#define i80dec2bini82(in,out) i8dec2bins(in,0,out)
-#define i160dec2bini162(in,out) i16dec2bins(in,0,out)
-#define u80dec2binu82(in,out) u8dec2bins(in,0,out)
-#define u160dec2binu162(in,out) u16dec2bins(in,0,out)
-
-#define d2dec2bind2(in,size,out) ddec2bina(in,size[0]*size[1],0,out)
-#define i82dec2bini82(in,size,out) i8dec2bina(in,size[0]*size[1],0,out)
-#define i162dec2bini162(in,size,out) i16dec2bina(in,size[0]*size[1],0,out)
-#define u82dec2binu82(in,size,out) u8dec2bina(in,size[0]*size[1],0,out)
-#define u162dec2binu162(in,size,out) u16dec2bina(in,size[0]*size[1],0,out)
-
-#define d0d0dec2bind2(in,n,out) ddec2bins(in,n,out)
-#define i80d0dec2bini82(in,n,out) i8dec2bins(in,n,out)
-#define i160d0dec2bini162(in,n,out) i16dec2bins(in,n,out)
-#define u80d0dec2binu82(in,n,out) u8dec2bins(in,n,out)
-#define u160d0dec2binu162(in,n,out) u16dec2bins(in,n,out)
-
-#define d2d0dec2bind2(in,size,n,out) ddec2bina(in,size[0]*size[1],n,out)
-#define i82d0dec2bini82(in,size,n,out) i8dec2bina(in,size[0]*size[1],n,out)
-#define i162d0dec2bini162(in,size,n,out) i16dec2bina(in,size[0]*size[1],n,out)
-#define u82d0dec2binu82(in,size,n,out) u8dec2bina(in,size[0]*size[1],n,out)
-#define u162d0dec2binu162(in,size,n,out) u16dec2bina(in,size[0]*size[1],n,out)
-
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_dec2bin_H__*/
diff --git a/interfaces/int_dec2hex.h b/interfaces/int_dec2hex.h
deleted file mode 100644
index bed85be..0000000
--- a/interfaces/int_dec2hex.h
+++ /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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_dec2hex_H__
-#define __INT_dec2hex_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d0dec2hexg2(in,out) ddec2hexs(in,out)
-#define i80dec2hexg2(in,out) i8dec2hexs(in,out)
-#define i160dec2hexg2(in,out) i16dec2hexs(in,out)
-#define u80dec2hexg2(in,out) u8dec2hexs(in,out)
-#define u160dec2hexg2(in,out) u16dec2hexs(in,out)
-
-#define d2dec2hexg2(in,size,out) ddec2hexa(in,size[0]*size[1],out)
-#define i82dec2hexg2(in,size,out) i8dec2hexa(in,size[0]*size[1],out)
-#define i162dec2hexg2(in,size,out) i16dec2hexa(in,size[0]*size[1],out)
-#define u82dec2hexg2(in,size,out) u8dec2hexa(in,size[0]*size[1],out)
-#define u162dec2hexg2(in,size,out) u16dec2hexa(in,size[0]*size[1],out)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_dec2hex_H__*/
diff --git a/interfaces/int_dec2oct.h b/interfaces/int_dec2oct.h
deleted file mode 100644
index 5cf61be..0000000
--- a/interfaces/int_dec2oct.h
+++ /dev/null
@@ -1,36 +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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_dec2oct_H__
-#define __INT_dec2oct_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d0dec2octd2(in,out) ddec2octs(in,out)
-#define i80dec2octi82(in,out) i8dec2octs(in,out)
-#define i160dec2octi162(in,out) i16dec2octs(in,out)
-#define u80dec2octu82(in,out) u8dec2octs(in,out)
-#define u160dec2octu162(in,out) u16dec2octs(in,out)
-
-#define d2dec2octd2(in,size,out) ddec2octa(in,size[0]*size[1],out)
-#define i82dec2octi82(in,size,out) i8dec2octa(in,size[0]*size[1],out)
-#define i162dec2octi162(in,size,out) i16dec2octa(in,size[0]*size[1],out)
-#define u82dec2octu82(in,size,out) u8dec2octa(in,size[0]*size[1],out)
-#define u162dec2octu162(in,size,out) u16dec2octa(in,size[0]*size[1],out)
-
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_dec2oct_H__*/
diff --git a/interfaces/int_det.h b/interfaces/int_det.h
deleted file mode 100644
index f7760b1..0000000
--- a/interfaces/int_det.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_DETERM_H__
-#define __INT_DETERM_H__
-
-#define s0dets0(in) in
-
-#define d0detd0(in) in
-
-#define c0detc0(in) in
-
-#define z0detz0(in) in
-
-#define s2dets0(in,size) sdeterma(in, size[0])
-
-#define d2detd0(in,size) ddeterma(in, size[0])
-
-#define c2detc0(in,size) cdeterma(in, size[0])
-
-#define z2detz0(in,size) zdeterma(in, size[0])
-
-#endif /* !__INT_DETERM_H__ */
diff --git a/interfaces/int_diag.h b/interfaces/int_diag.h
deleted file mode 100644
index 339831b..0000000
--- a/interfaces/int_diag.h
+++ /dev/null
@@ -1,85 +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: Mushir
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-#ifndef __INT_DIAG_H__
-#define __INT_DIAG_H__
-
-
-
-#define d0diagd0(in1) ddiags(in1)
-
-#define d0d0diagd0(in1,in2) ddiags(in1)
-
-#define d0d0diagd2(in1,in2,out) ddiaga(in1,1,in2,out)
-
-#define d2diagd2(in1,size,out) if(size[0] != size[1]) { (size[0]==1) ? ddiagins(in1,size[1],out) : ddiagins(in1,size[0],out); } else {ddiagexa(in1,size[0],size[1],0,out) ;}
-
-#define d2d0diagd2(in1,size,in2,out) if((size[0] != 1) && (size[1] != 1) ) { ddiagexa(in1,size[0],size[1],in2,out); } else { if(in2 != 0) {ddiagina(in1,size[0],size[1],in2,out);} else { (size[0] == 1) ? ddiagins(in1,size[1],out) : ddiagins(in1,size[0],out); };}
-
-#define d2d0diagd0(in1,size,in2) ddiagexs(in1,size[0],size[1],in2)
-
-
-
-#define u80diagu80(in1) u8diags(in1)
-
-#define u80d0diagu80(in1,in2) u8diags(in1)
-
-#define u80d0diagu82(in1,in2,out) u8diaga(in1,1,in2,out)
-
-#define u82diagu82(in1,size,out) if(size[0] != size[1]) { (size[0]==1) ? u8diagins(in1,size[1],out) : u8diagins(in1,size[0],out); } else {u8diagexa(in1,size[0],size[1],0,out) ;}
-
-#define u82d0diagu82(in1,size,in2,out) if((size[0] != 1) && (size[1] != 1) ) { u8diagexa(in1,size[0],size[1],in2,out); } else { if(in2 != 0) {u8diagina(in1,size[0],size[1],in2,out);} else { (size[0] == 1) ? u8diagins(in1,size[1],out) : u8diagins(in1,size[0],out); };}
-
-#define u82d0diagu80(in1,size,in2) u8diagexs(in1,size[0],size[1],in2)
-
-#define u160diagu160(in1) u16diags(in1)
-
-#define u160d0diagu160(in1,in2) u16diags(in1)
-
-#define u160d0diagu162(in1,in2,out) u16diaga(in1,1,in2,out)
-
-#define u162diagu162(in1,size,out) if(size[0] != size[1]) { (size[0]==1) ? u16diagins(in1,size[1],out) : u16diagins(in1,size[0],out); } else {u16diagexa(in1,size[0],size[1],0,out) ;}
-
-#define u162d0diagu162(in1,size,in2,out) if((size[0] != 1) && (size[1] != 1) ) { u16diagexa(in1,size[0],size[1],in2,out); } else { if(in2 != 0) {u16diagina(in1,size[0],size[1],in2,out);} else { (size[0] == 1) ? u16diagins(in1,size[1],out) : u16diagins(in1,size[0],out); };}
-
-#define u162d0diagu160(in1,size,in2) u16diagexs(in1,size[0],size[1],in2)
-
-
-
-#define i80diagi80(in1) i8diags(in1)
-
-#define i80d0diagi80(in1,in2) i8diags(in1)
-
-#define i80d0diagi82(in1,in2,out) i8diaga(in1,1,in2,out)
-
-#define i82diagi82(in1,size,out) if(size[0] != size[1]) { (size[0]==1) ? i8diagins(in1,size[1],out) : i8diagins(in1,size[0],out); } else {i8diagexa(in1,size[0],size[1],0,out) ;}
-
-#define i82d0diagi82(in1,size,in2,out) if((size[0] != 1) && (size[1] != 1) ) { i8diagexa(in1,size[0],size[1],in2,out); } else { if(in2 != 0) {i8diagina(in1,size[0],size[1],in2,out);} else { (size[0] == 1) ? i8diagins(in1,size[1],out) : i8diagins(in1,size[0],out); };}
-
-#define i82d0diagi80(in1,size,in2) i8diagexs(in1,size[0],size[1],in2)
-
-#define i160diagi160(in1) i16diags(in1)
-
-#define i160d0diagi160(in1,in2) i16diags(in1)
-
-#define i160d0diagi162(in1,in2,out) i16diaga(in1,1,in2,out)
-
-
-#define i162diagi162(in1,size,out) if(size[0] != size[1]) { (size[0]==1) ? i16diagins(in1,size[1],out) : i16diagins(in1,size[0],out); } else {i16diagexa(in1,size[0],size[1],0,out) ;}
-
-#define i162d0diagi162(in1,size,in2,out) if((size[0] != 1) && (size[1] != 1) ) { i16diagexa(in1,size[0],size[1],in2,out); } else { if(in2 != 0) {i16diagina(in1,size[0],size[1],in2,out);} else { (size[0] == 1) ? i16diagins(in1,size[1],out) : i16diagins(in1,size[0],out); };}
-
-#define i162d0diagi160(in1,size,in2) i16diagexs(in1,size[0],size[1],in2)
-
-
-
-#endif /* !__INT_DIAG_H__ */
diff --git a/interfaces/int_diffc.h b/interfaces/int_diffc.h
deleted file mode 100644
index 3c03242..0000000
--- a/interfaces/int_diffc.h
+++ /dev/null
@@ -1,105 +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_DIFFC_H__
-#define __INT_DIFFC_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d2diffd2(in, size, out) ddiffca(in, size[0], size[1], 1, 0, out)
-
-#define d2d0diffd2(in, size, depth, out) ddiffca (in, size[0], size[1], \
- depth, 0, out)
-
-#define d2d0d0diffd2(in, size, depth, dim, out) ddiffca(in, size[0], size[1], \
- depth, dim, out)
-
-#define s2diffs2(in, size, out) sdiffca(in, size[0], size[1], 1, 0, out)
-
-#define s2d0diffs2(in, size, depth, out) sdiffca (in, size[0], size[1], \
- depth, 0, out)
-
-#define s2s0diffs2(in, size, depth, out) sdiffca (in, size[0], size[1], \
- depth, 0, out)
-
-#define s2s0d0diffs2(in, size, depth, dim, out) sdiffca(in, size[0], size[1], \
- depth, dim, out)
-
-#define s2d0d0diffs2(in, size, depth, dim, out) sdiffca(in, size[0], size[1], \
- depth, dim, out)
-
-#define u82diffu82(in, size, out) u8diffca(in, size[0], size[1], 1, 0, out)
-
-#define u82d0diffu82(in, size, depth, out) u8diffca (in, size[0], size[1], \
- depth, 0, out)
-
-#define u82u80diffu82(in, size, depth, out) u8diffca (in, size[0], size[1], \
- depth, 0, out)
-
-#define u82u80d0diffu82(in, size, depth, dim, out) u8diffca(in, size[0], size[1], \
- depth, dim, out)
-
-
-#define u82d0d0diffu82(in, size, depth, dim, out) u8diffca(in, size[0], size[1], \
- depth, dim, out)
-
-#define i82diffi82(in, size, out) i8diffca(in, size[0], size[1], 1, 0, out)
-
-#define i82d0diffi82(in, size, depth, out) i8diffca (in, size[0], size[1], \
- depth, 0, out)
-
-#define i82u80diffi82(in, size, depth, out) i8diffca (in, size[0], size[1], \
- depth, 0, out)
-
-#define i82u80d0diffi82(in, size, depth, dim, out) i8diffca(in, size[0], size[1], \
- depth, dim, out)
-
-
-#define i82d0d0diffi82(in, size, depth, dim, out) i8diffca(in, size[0], size[1], \
- depth, dim, out)
-
-#define u162diffu162(in, size, out) u16diffca(in, size[0], size[1], 1, 0, out)
-
-#define u162d0diffu162(in, size, depth, out) u16diffca (in, size[0], size[1], \
- depth, 0, out)
-
-#define u162u160diffu162(in, size, depth, out) u16diffca (in, size[0], size[1], \
- depth, 0, out)
-
-#define u162u160d0diffu162(in, size, depth, dim, out) u16diffca(in, size[0], size[1], \
- depth, dim, out)
-
-
-#define u162d0d0diffu162(in, size, depth, dim, out) u16diffca(in, size[0], size[1], \
- depth, dim, out)
-
-#define i162diffi162(in, size, out) i16diffca(in, size[0], size[1], 1, 0, out)
-
-#define i162d0diffi162(in, size, depth, out) i16diffca (in, size[0], size[1], \
- depth, 0, out)
-
-#define i162u160diffi162(in, size, depth, out) i16diffca (in, size[0], size[1], \
- depth, 0, out)
-
-#define i162u160d0diffi162(in, size, depth, dim, out) i16diffca(in, size[0], size[1], \
- depth, dim, out)
-
-
-#define i162d0d0diffi162(in, size, depth, dim, out) i16diffca(in, size[0], size[1], \
- depth, dim, out)
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_DIFFC_H__*/
diff --git a/interfaces/int_disp.h b/interfaces/int_disp.h
deleted file mode 100644
index 3bb7852..0000000
--- a/interfaces/int_disp.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * 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_DISP_H__
-#define __INT_DISP_H__
-
-#include <stdio.h>
-
-#define s0disp(in) sdisps(in)
-
-#define d0disp(in) ddisps(in)
-
-#define c0disp(in) cdisps(in)
-
-#define z0disp(in) zdisps(in)
-
-#define u80disp(in) u8disps(in)
-
-#define i80disp(in) i8disps(in)
-
-#define u160disp(in) u16disps(in)
-
-#define i160disp(in) i16disps(in)
-
-#define s2disp(in,size) sdispa(in,size[0],size[1])
-
-#define d2disp(in,size) ddispa(in,size[0],size[1])
-
-#define c2disp(in,size) cdispa(in,size[0],size[1])
-
-#define z2disp(in,size) zdispa(in,size[0],size[1])
-
-#define u82disp(in,size) u8dispa(in,size[0],size[1])
-
-#define i82disp(in,size) i8dispa(in,size[0],size[1])
-
-#define u162disp(in,size) u16dispa(in,size[0],size[1])
-
-#define i162disp(in,size) i16dispa(in,size[0],size[1])
-
-#define d3disp(in,size) ddisph(in,size[0],size[1],size[2])
-
-#define g2disp(in, size) printf("%s\n",in)
-
-#endif /* __INT_DISP_H__ */
-
-
-
-
diff --git a/interfaces/int_dist.h b/interfaces/int_dist.h
deleted file mode 100644
index 36809c7..0000000
--- a/interfaces/int_dist.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_DIST_H__
-#define __INT_DIST_H__
-
-#define s0s0dists0(in1,in2) sdists(in1,in2)
-
-#define d0d0distd0(in1,in2) ddists(in1,in2)
-
-#define c0c0dists0(in1,in2) cdists(in1,in2)
-
-#define z0z0distd0(in1,in2) zdists(in1,in2)
-
-#define s2s2dists0(in1,size1,in2,size2) sdista(in1, in2, size1[0], size2[1])
-
-#define d2d2distd0(in1,size1,in2,size2) ddista(in1, in2, size1[0], size2[1])
-
-#define c2c2dists0(in1,size1,in2,size2) cdista(in1, in2, size1[0], size2[1])
-
-#define z2z2distd0(in1,size1,in2,size2) zdista(in1, in2, size1[0], size2[1])
-
-#endif /* !__INT_DIST_H__ */
diff --git a/interfaces/int_exp.h b/interfaces/int_exp.h
deleted file mode 100644
index bcb8dd9..0000000
--- a/interfaces/int_exp.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_EXP_H__
-#define __INT_EXP_H__
-
-#define s0exps0(in) sexps(in)
-
-#define d0expd0(in) dexps(in)
-
-#define c0expc0(in) cexps(in)
-
-#define z0expz0(in) zexps(in)
-
-#define u80exps0(in) u8exps(in)
-
-#define i80exps0(in) i8exps(in)
-
-#define u160exps0(in) u16exps(in)
-
-#define i160exps0(in) i16exps(in)
-
-#define s2exps2(in,size,out) sexpa(in, size[0]*size[1], out)
-
-#define d2expd2(in,size,out) dexpa(in, size[0]*size[1], out)
-
-#define c2expc2(in,size,out) cexpa(in, size[0]*size[1], out)
-
-#define z2expz2(in,size,out) zexpa(in, size[0]*size[1], out)
-
-#define u82exps2(in,size,out) u8expa(in, size[0]*size[1], out)
-
-#define i82exps2(in,size,out) i8expa(in, size[0]*size[1], out)
-
-#define u162exps2(in,size,out) u16expa(in, size[0]*size[1], out)
-
-#define i162exps2(in,size,out) i16expa(in, size[0]*size[1], out)
-
-#endif /* !__INT_EXP_H__ */
diff --git a/interfaces/int_exp10.h b/interfaces/int_exp10.h
deleted file mode 100644
index 6cd9f13..0000000
--- a/interfaces/int_exp10.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_EXP10_H__
-#define __INT_EXP10_H__
-
-#define s0exp10s0(in) sexp10s(in)
-
-#define d0exp10d0(in) dexp10s(in)
-
-#define c0exp10c0(in) cexp10s(in)
-
-#define z0exp10z0(in) zexp10s(in)
-
-#define s2exp10s2(in,size,out) sexp10a(in, size[0]*size[1], out)
-
-#define d2exp10d2(in,size,out) dexp10a(in, size[0]*size[1], out)
-
-#define c2exp10c2(in,size,out) cexp10a(in, size[0]*size[1], out)
-
-#define z2exp10z2(in,size,out) zexp10a(in, size[0]*size[1], out)
-
-#endif /* !__INT_EXP10_H__ */
diff --git a/interfaces/int_expm.h b/interfaces/int_expm.h
deleted file mode 100644
index 6e54fb3..0000000
--- a/interfaces/int_expm.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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_EXPM_H__
-#define __INT_EXPM_H__
-
-#define s2expms2(in,size,out) sexpma(in, out, size[0])
-
-#define d2expmd2(in,size,out) dexpma(in, out, size[0])
-
-#define c2expmc2(in,size,out) cexpma(in, out, size[0])
-
-#define z2expmz2(in,size,out) zexpma(in, out, size[0])
-
-#endif /* !__INT_EXPM_H__ */
diff --git a/interfaces/int_eye.h b/interfaces/int_eye.h
deleted file mode 100644
index 1e10eb8..0000000
--- a/interfaces/int_eye.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * 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_EYE_H__
-#define __INT_EYE_H__
-
-
-#define eyes0() 1.0f
-
-#define eyed0() 1
-
-#define eyeu80() (uint8)1
-
-#define eyei80() (int8)1
-
-#define eyeu160() (uint16)1
-
-#define eyei160() (int16)1
-
-#define s0eyes0(in) seyes(in)
-
-#define d0eyed0(in) deyes(in)
-
-#define c0eyec0(in) ceyes(in)
-
-#define z0eyez0(in) zeyes(in)
-
-#define u80eyeu80(in) u8eyes(in)
-
-#define i80eyei80(in) i8eyes(in)
-
-#define u160eyeu160(in) u16eyes(in)
-
-#define i160eyei160(in) i16eyes(in)
-
-#define s0s0eyes0(in1,in2) 1.0f
-
-#define d0d0eyed0(in,in2) 1
-
-#define u80u80eyeu80(in1,in2) (uint8)1
-
-#define i80i80eyei80(in1,in2) (int8)1
-
-#define u160u160eyeu160(in1,in2) (uint16)1
-
-#define i160i160eyei160(in1,in2) (int16)1
-
-#define s0s0eyes2(in1,in2,out) seyea(out, in1, in2)
-
-#define d0d0eyed2(in1,in2,out) deyea(out, in1, in2)
-
-#define u80u80eyeu82(in1,in2,out) u8eyea(out, in1, in2)
-
-#define i80i80eyei82(in1,in2,out) i8eyea(out, in1, in2)
-
-#define u160u160eyeu162(in1,in2,out) u16eyea(out, in1, in2)
-
-#define i160i160eyei162(in1,in2,out) i16eyea(out, in1, in2)
-
-#define s2eyes2(in,size,out) seyea(out, size[0], size[1])
-
-#define d2eyed2(in,size,out) deyea(out, size[0], size[1])
-
-#define c2eyec2(in,size,out) ceyea(out, size[0], size[1])
-
-#define z2eyez2(in,size,out) zeyea(out, size[0], size[1])
-
-#define u82eyeu82(in,size,out) u8eyea(out, size[0], size[1])
-
-#define i82eyei82(in,size,out) i8eyea(out, size[0], size[1])
-
-#define u162eyeu162(in,size,out) u16eyea(out, size[0], size[1])
-
-#define i162eyei162(in,size,out) i16eyea(out, size[0], size[1])
-
-
-#endif /* !__INT_EYE_H__ */
diff --git a/interfaces/int_factor.h b/interfaces/int_factor.h
deleted file mode 100644
index 5e0991a..0000000
--- a/interfaces/int_factor.h
+++ /dev/null
@@ -1,29 +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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_FACTOR_H__
-#define __INT_FACTOR_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d0factord2(in,out) dfactors(in,out)
-#define s0factors2(in,out) sfactors(in,out)
-
-
-
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_FACTOR_H__*/
diff --git a/interfaces/int_factorial.h b/interfaces/int_factorial.h
deleted file mode 100644
index 446b513..0000000
--- a/interfaces/int_factorial.h
+++ /dev/null
@@ -1,31 +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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_FACTORIAL_H__
-#define __INT_FACTORIAL_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d0factoriald0(in) dfactorials(in)
-#define s0factorials0(in) sfactorials(in)
-
-#define d2factoriald2(in,size,out) dfactoriala(in,size[0]*size[1],out)
-#define s2factorials2(in,size,out) sfactoriala(in,size[0]*size[1],out)
-
-
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_FACTORIAL_H__*/
diff --git a/interfaces/int_fft.h b/interfaces/int_fft.h
deleted file mode 100644
index ea2c69b..0000000
--- a/interfaces/int_fft.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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_FFT_H__
-#define __INT_FFT_H__
-
-#define s0ffts0(in) sffts(in)
-
-#define d0fftd0(in) dffts(in)
-
-#define c0fftc0(in) cffts(in)
-
-#define z0fftz0(in) zffts(in)
-
-
-#define s2ffts2(in,size,out) sfftma(in, size[0], size[1], out)
-
-#define d2fftd2(in,size,out) dfftma(in, size[0], size[1], out)
-
-#define c2fftc2(in,size,out) cfftma(in, size[0], size[1], out)
-
-#define z2fftz2(in,size,out) zfftma(in, size[0], size[1], out)
-
-/* FIXME : malloc here */
-#define s2fftc2(in,size,out) {float* ZEROS;\
- ZEROS=malloc((uint)(size[0]*size[1]*sizeof(float));\
- szerosa(ZEROS,size[0],size[1]);\
- cfftma(FloatComplexMatrix(in,ZEROS,size[0]*size[1]), size[0], size[1], out);\
- }
-/* FIXME : malloc here */
-#define d2fftz2(in,size,out) {double* ZEROS;\
- ZEROS=malloc((uint)(size[0]*size[1]*sizeof(double));\
- dzerosa(ZEROS,size[0],size[1]);\
- zfftma(DoubleComplexMatrix(in,ZEROS,size[0]*size[1]), size[0], size[1], out);\
- }
-
-
-
-#define s0s0ffts0(in1,in2) (in2==-1.0f) ? s0ffts0(in1) : s0iffts0(in1)
-
-#define d0d0fftd0(in1,in2) (in2==-1.0) ? d0fftd0(in1) : d0ifftd0(in1)
-
-#define c0s0fftc0(in1,in2) (in2==-1.0f) ? c0fftc0(in1) : c0ifftc0(in1)
-
-#define z0d0fftz0(in1,in2) (in2==-1.0) ? z0fftz0(in1) : z0ifftz0(in1)
-
-#define s2s0ffts2(in1,size,in2,out) (in2==-1.0f) ? s2ffts2(in1,size,out) : s2iffts2(in1,size,out)
-
-#define d2d0fftd2(in1,size,in2,out) (in2==-1.0) ? d2fftd2(in1,size,out) : d2ifftd2(in1,size,out)
-
-#define c2s0fftc2(in1,size,in2,out) (in2==-1.0f) ? c2fftc2(in1,size,out) : c2ifftc2(in1,size,out)
-
-#define z2d0fftz2(in1,size,in2,out) (in2==-1.0) ? z2fftz2(in1,size,out) : z2ifftz2(in1,size,out)
-
-#define s2s0fftc2(in1,size,in2,out) (in2==-1.0f) ? s2fftc2(in1,size,out) : s2ifftc2(in1,size,out)
-
-#define d2d0fftz2(in1,size,in2,out) (in2==-1.0) ? d2fftz2(in1,size,out) : d2ifftz2(in1,size,out)
-
-
-#endif /* !__INT_FFT_H__ */
diff --git a/interfaces/int_fftshift.h b/interfaces/int_fftshift.h
deleted file mode 100644
index d490657..0000000
--- a/interfaces/int_fftshift.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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_FFTSHIFT_H__
-#define __INT_FFTSHIFT_H__
-
-#define s0fftshifts0(in) sfftshifts(in)
-
-#define d0fftshiftd0(in) dfftshifts(in)
-
-#define c0fftshiftc0(in) cfftshifts(in)
-
-#define z0fftshiftz0(in) zfftshifts(in)
-
-#define s2fftshifts2(in,size,out) sfftshifta(in, size[0], size[1], out)
-
-#define d2fftshiftd2(in,size,out) dfftshifta(in, size[0], size[1], out)
-
-#define c2fftshiftc2(in,size,out) cfftshifta(in, size[0], size[1], out)
-
-#define z2fftshiftz2(in,size,out) zfftshifta(in, size[0], size[1], out)
-
-
-#define s0s0fftshifts0(in1,in2) sfftshifts(in1)
-
-#define d0d0fftshiftd0(in1,in2) dfftshifts(in1)
-
-#define c0s0fftshiftc0(in1,in2) cfftshifts(in1)
-
-#define z0d0fftshiftz0(in1,in2) zfftshifts(in1)
-
-#define s2s0fftshifts2(in,size,in2,out) (in2==1) ? srowfftshifta(in, size[0], size[1], out) : scolumnfftshifta(in, size[0], size[1], out)
-
-#define d2d0fftshiftd2(in,size,in2,out) (in2==1) ? drowfftshifta(in, size[0], size[1], out) : dcolumnfftshifta(in, size[0], size[1], out)
-
-#define c2s0fftshiftc2(in,size,in2,out) (in2==1) ? crowfftshifta(in, size[0], size[1], out) : ccolumnfftshifta(in, size[0], size[1], out)
-
-#define z2d0fftshiftz2(in,size,in2,out) (in2==1) ? zrowfftshifta(in, size[0], size[1], out) : zcolumnfftshifta(in, size[0], size[1], out)
-
-#endif /* !__INT_FFTSHIFT_H__ */
diff --git a/interfaces/int_files.h b/interfaces/int_files.h
deleted file mode 100644
index 862754f..0000000
--- a/interfaces/int_files.h
+++ /dev/null
@@ -1,58 +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_FILES_H__
-#define __INT_FILES_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define g2g2mopenf0(path, pathsize, mode, modesize) mopen(path, mode)
-
-#define f0mclosei0(fptr) mclose(fptr)
-
-#define d0g2f0mputi0(data, format, formatsize, fptr) dmputs(fptr, data)
-
-#define s0g2f0mputi0(data, format, formatsize, fptr) smputs(fptr, data)
-
-#define u80g2f0mputi0(data, format, formatsize, fptr) u8mputs(fptr, data)
-
-#define i80g2f0mputi0(data, format, formatsize, fptr) i8mputs(fptr, data)
-
-#define u160g2f0mputi0(data, format, formatsize, fptr) u16mputs(fptr, data)
-
-#define i160g2f0mputi0(data, format, formatsize, fptr) i16mputs(fptr, data)
-
-#define d2g2f0mputi0(data, size1, format, formatsize, fptr) \
- dmputa(fptr, data, size1[0], size1[1])
-
-#define s2g2f0mputi0(data, size1, format, formatsize, fptr) \
- smputa(fptr, data, size1[0], size1[1])
-
-#define u82g2f0mputi0(data, size1, format, formatsize, fptr) \
- u8mputa(fptr, data, size1[0], size1[1])
-
-#define i82g2f0mputi0(data, size1, format, formatsize, fptr) \
- i8mputa(fptr, data, size1[0], size1[1])
-
-#define u162g2f0mputi0(data, size1, format, formatsize, fptr) \
- u16mputa(fptr, data, size1[0], size1[1])
-
-#define i162g2f0mputi0(data, size1, format, formatsize, fptr) \
- i16mputa(fptr, data, size1[0], size1[1])
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_FILES_H__*/
diff --git a/interfaces/int_fill.h b/interfaces/int_fill.h
deleted file mode 100644
index 5614cb1..0000000
--- a/interfaces/int_fill.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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_FILL_H__
-#define __INT_FILL_H__
-
-
-#define fills0(in) in;
-
-#define filld0(in) in;
-
-#define fillc0(in) in;
-
-#define fillz0(in) in;
-
-#define s0fills0(in,out) out=in;
-
-#define d0filld0(in,out) out=in;
-
-#define c0fillc0(in,out) out=in;
-
-#define z0fillz0(in,out) out=in;
-
-#define s2s0fills2(in1,size,in2,out) sfilla(out,size[0],size[1],in2);
-
-#define d2d0filld2(in1,size,in2,out) dfilla(out,size[0],size[1],in2);
-
-#define c2c0fillc2(in1,size,in2,out) cfilla(out,size[0],size[1],in2);
-
-#define z2z0fillz2(in1,size,in2,out) zfilla(out,size[0],size[1],in2);
-
-#define s0s0s0fills2(in1,in2,in3,out) sfilla(out,in1,in2,in3)
-
-#define d0d0d0filld2(in1,in2,in3,out) sfilla(out,in1,in2,in3)
-
-#define s0s0c0fillc2(in1,in2,in3,out) sfilla(out,in1,in2,in3)
-
-#define d0d0z0fillz2(in1,in2,in3,out) sfilla(out,in1,in2,in3)
-
-#endif /* !__INT_FILL_H__ */
diff --git a/interfaces/int_find.h b/interfaces/int_find.h
deleted file mode 100644
index ec1e157..0000000
--- a/interfaces/int_find.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * 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_FIND_H__
-#define __INT_FIND_H__
-
-/* 1 input, 1 output */
-
-#define s0finds0(in) (in == 0) ? -1 : 1
-
-#define d0findd0(in) (in == 0) ? -1 : 1
-
-#define c0finds0(in) ((creals(in) == 0) && (cimags(in) == 0)) ? -1 : 1
-
-#define z0findd0(in) ((zreals(in) == 0) && (zimags(in) == 0)) ? -1 : 1
-
-#define u80findu80(in) (in == 0) ? -1 : 1
-
-#define u160findu160(in) (in == 0) ? -1 : 1
-
-#define i80findi80(in) (in == 0) ? -1 : 1
-
-#define i160findi160(in) (in == 0) ? -1 : 1
-
-#define s2finds2(in,size,out) sfinda(in, size[0]*size[1], out, -1)
-
-#define d2findd2(in,size,out) dfinda(in, size[0]*size[1], out, -1)
-
-#define c2finds2(in,size,out) cfinda(in, size[0]*size[1], out, -1)
-
-#define z2findd2(in,size,out) zfinda(in, size[0]*size[1], out, -1)
-
-#define u82findu82(in,size,out) u8finda(in,size[0]*size[1],out, -1)
-
-#define u162findu162(in,size,out) u16finda(in,size[0]*size[1],out, -1)
-
-#define i82findi82(in,size,out) i8finda(in,size[0]*size[1],out, -1)
-
-#define i162findi162(in,size,out) i16finda(in,size[0]*size[1],out, -1)
-
-/* 1 input, 2 outputs */
-
-#define s0finds0s0(in,out2) *out2 = s0finds0(in);s0finds0(in)
-
-#define d0findd0d0(in,out2) *out2 = d0findd0(in);d0findd0(in)
-
-#define c0finds0s0(in,out2) if ((creals(in)==0) && (cimags(in)==0)) {out2=0;} else {out2=1;}
-
-#define z0findd0d0(in,out2) if ((zreals(in)==0) && (zimags(in)==0)) {out2=0;} else {out2=1;}
-
-#define u80findu80u80(in,out2) *out2 = u80findu80(in);u80findu80(in)
-
-#define u160findu160u160(in,out2) *out2 = u160findu160(in);u160findu160(in)
-
-#define i80findi80i80(in,out2) *out2 = i80findi80(in);i80findi80(in)
-
-#define i160findi160i160(in,out2) *out2 = i160findi160(in);i160findi160(in)
-
-
-#define s2finds2s2(in,size,out1,sizeOut1,out2,sizeOut2) sfind2da(in,size[0],size[1],out1,sizeOut1,out2,sizeOut2,-1)
-
-#define d2findd2d2(in,size,out1,out2) dfind2da(in,size[0],size[1],out1,out2,-1)
-
-#define c2finds2s2(in,size,out1,sizeOut1,out2,sizeOut2) cfind2da(in,size[0],size[1],out1,sizeOut1,out2,sizeOut2,-1)
-
-#define z2finds2s2(in,size,out1,sizeOut1,out2,sizeOut2) zfind2da(in,size[0],size[1],out1,sizeOut1,out2,sizeOut2,-1)
-
-/* 2 inputs, 1 output */
-
-#define s0s0finds0(in1,in2) s0finds0(in1)
-
-#define d0d0findd0(in1,in2) d0findd0(in1)
-
-#define c0s0finds0(in1,in2) c0finds0(in1)
-
-#define z0d0findd0(in1,in2) z0findd0(in1)
-
-#define u80u80findu80(in1,in2) u80findu80(in1)
-
-#define u160u160findu160(in1,in2) u160findu160(in1)
-
-#define i80i80findi80(in1,in2) i80findi80(in1)
-
-#define i160i160findi160(in1,in2) i160findi160(in1)
-
-#define s2s0finds2(in1,size,in2,out) {\
- int temp_out_indice[2] = {0} ;\
- sfinda(in1,size[0]*size[1],out,in2);\
- }
-
-#define d2d0findd2(in1,size,in2,out) {\
- int temp_out_indice[2] = {0} ;\
- dfinda(in1,size[0]*size[1],out,in2);\
- }
-
-#define c2s0finds2(in1,size,in2,out) {\
- int temp_out_indice[2] = {0} ;\
- cfinda(in1,size[0]*size[1],out,in2);\
- }
-
-#define z2d0findd2(in1,size,in2,out) {\
- int temp_out_indice[2] = {0} ;\
- zfinda(in1,size[0]*size[1],out,in2);\
- }
-
-#define u82u80findu82(in1,size,in2,out) {\
- int temp_out_indice[2] = {0};\
- u8finda(in1,size[0]*size[1],out,in2);\
-}
-
-#define u162u160findu162(in1,size,in2,out) {\
- int temp_out_indice[2] = {0};\
- u16finda(in1,size[0]*size[1],out,in2);\
-}
-
-#define i82i80findi82(in1,size,in2,out) {\
- int temp_out_indice[2] = {0};\
- i8finda(in1,size[0]*size[1],out,in2);\
-}
-
-#define i162i160findi162(in1,size,in2,out) {\
- int temp_out_indice[2] = {0};\
- i16finda(in1,size[0]*size[1],out,in2);\
-}
-/* 2 inputs, 2 outputs */
-
-#define s0s0finds0s0(in1,in2,out1,out2) s0finds0s0(in1,out1,out2)
-
-#define d0d0findd0d0(in1,in2,out1,out2) d0findd0d0(in1,out1,out2)
-
-#define c0s0finds0s0(in1,in2,out1,out2) c0finds0s0(in1,out1,out2)
-
-#define z0d0findd0d0(in1,in2,out1,out2) z0findd0d0(in1,out1,out2)
-
-#define u80u80findu80u80(in1,in2,out1,out2) u80findu80u80(in1,out1,out2)
-
-#define u160u160findu160u160(in1,in2,out1,out2) u160findu160u160(in1,out1,out2)
-
-#define i80i80findi80i80(in1,in2,out1,out2) i80findi80i80(in1,out1,out2)
-
-#define i160i60findi60i60(in1,in2,out1,out2) i60findi60i60(in1,out1,out2)
-
-
-/*FIXME : prototypes are wrong*/
-#define s2s0finds2s2(in1,size,in2,out1,out2) {\
- int temp_out_indice1[2] = {0} ;\
- int temp_out_indice2[2] = {0} ;\
- sfind2da(in1,size[0],size[1],out1,temp_out_indice1,out2,temp_out_indice2,in2);\
- }
-
-#define d2d0findd2d2(in1,size,in2,out1,out2) {\
- int temp_out_indice1[2] = {0} ;\
- int temp_out_indice2[2] = {0} ;\
- dfind2da(in1,size[0],size[1],out1,temp_out_indice1,out2,temp_out_indice2,in2);\
- }
-
-
-#define c2s0finds2s2(in1,size,in2,out1,out2) {\
- int temp_out_indice1[2] = {0} ;\
- int temp_out_indice2[2] = {0} ;\
- cfind2da(in1,size[0],size[1],out1,temp_out_indice1,out2,temp_out_indice2,in2);\
- }
-
-#define z2d0findd2d2(in1,size,in2,out1,out2) {\
- int temp_out_indice1[2] = {0} ;\
- int temp_out_indice2[2] = {0} ;\
- zfind2da(in1,size[0],size[1],out1,temp_out_indice1,out2,temp_out_indice2,in2);\
- }
-
-
-
-#endif /* !__INT_FIND_H__ */
-
diff --git a/interfaces/int_fix.h b/interfaces/int_fix.h
deleted file mode 100644
index 2a00e2c..0000000
--- a/interfaces/int_fix.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_FIX_H__
-#define __INT_FIX_H__
-
-#define s0fixs0(in) sfixs(in)
-
-#define d0fixd0(in) dfixs(in)
-
-#define c0fixc0(in) cfixs(in)
-
-#define z0fixz0(in) zfixs(in)
-
-#define u80fixu80(in) u8fixs(in)
-
-#define i80fixi80(in) i8fixs(in)
-
-#define u160fixu160(in) u16fixs(in)
-
-#define i160fixi160(in) i16fixs(in)
-
-#define s2fixs2(in,size,out) sfixa(in, size[0]*size[1], out)
-
-#define d2fixd2(in,size,out) dfixa(in, size[0]*size[1], out)
-
-#define c2fixc2(in,size,out) cfixa(in, size[0]*size[1], out)
-
-#define z2fixz2(in,size,out) zfixa(in, size[0]*size[1], out)
-
-#define u82fixu82(in,size,out) u8fixa(in, size[0]*size[1], out)
-
-#define i82fixi82(in,size,out) i8fixa(in, size[0]*size[1], out)
-
-#define u162fixu162(in,size,out) u16fixa(in, size[0]*size[1], out)
-
-#define i162fixi162(in,size,out) i16fixa(in, size[0]*size[1], out)
-
-#endif /* !__INT_FIX_H__ */
diff --git a/interfaces/int_flipdim.h b/interfaces/int_flipdim.h
deleted file mode 100644
index 0c27181..0000000
--- a/interfaces/int_flipdim.h
+++ /dev/null
@@ -1,109 +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_FLIPDIM_H__
-#define __INT_FLIPDIM_H__
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0d0flipdimd0(in1, in2) in1
-#define s0s0flipdims0(in1, in2) in1
-#define u80u80flipdimu80(in1, in2) in1
-#define i80i80flipdimi80(in1, in2) in1
-#define u160u160flipdimu160(in1, in2) in1
-#define i160i160flipdimi160(in1, in2) in1
-#define u80d0flipdimu80(in1, in2) in1
-#define i80d0flipdimi80(in1, in2) in1
-#define u160d0flipdimu160(in1, in2) in1
-#define i160d0flipdimi160(in1, in2) in1
-
-#define d0d0d0flipdimd0(in1, in2, in3) in1
-#define s0s0s0flipdims0(in1, in2, in3) in1
-#define u80u80u80flipdimu80(in1, in2, in3) in1
-#define i80i80i80flipdimi80(in1, in2, in3) in1
-#define u160u160u160flipdimu160(in1, in2, in3) in1
-#define i160i160i160flipdimi160(in1, in2, in3) in1
-#define u80d0d0flipdimu80(in1, in2, in3) in1
-#define i80d0d0flipdimi80(in1, in2, in3) in1
-#define u160d0d0flipdimu160(in1, in2, in3) in1
-#define i160d0d0flipdimi160(in1, in2, in3) in1
-
-
-#define d2d0flipdimd2(in1, size1, in2, out) dflipdima (in1, size1[0], size1[1], \
- in2, 1, out);
-
-#define s2s0flipdims2(in1, size1, in2, out) sflipdima (in1, size1[0], size1[1], \
- in2, 1, out);
-
-#define u82u80flipdimu82(in1, size1, in2, out) u8flipdima (in1, size1[0], size1[1], \
- in2, 1, out);
-
-#define i82i80flipdimi82(in1, size1, in2, out) i8flipdima (in1, size1[0], size1[1], \
- in2, 1, out);
-
-#define u162u160flipdimu162(in1, size1, in2, out) u16flipdima (in1, size1[0], size1[1], \
- in2, 1, out);
-
-#define i162i160flipdimi162(in1, size1, in2, out) i16flipdima (in1, size1[0], size1[1], \
- in2, 1, out);
-
-#define u82d0flipdimu82(in1, size1, in2, out) u8flipdima (in1, size1[0], size1[1], \
- in2, 1, out);
-
-#define i82d0flipdimi82(in1, size1, in2, out) i8flipdima (in1, size1[0], size1[1], \
- in2, 1, out);
-
-#define u162d0flipdimu162(in1, size1, in2, out) u16flipdima (in1, size1[0], size1[1], \
- in2, 1, out);
-
-#define i162d0flipdimi162(in1, size1, in2, out) i16flipdima (in1, size1[0], size1[1], \
- in2, 1, out);
-
-#define d2d0d0flipdimd2(in1, size1, in2, in3, out) dflipdima(in1, size1[0], size1[1], \
- in2, in3, out);
-
-#define s2s0s0flipdims2(in1, size1, in2, in3, out) sflipdima(in1, size1[0], size1[1], \
- in2, in3, out);
-
-#define u82u80u80flipdimu82(in1, size1, in2, in3, out) u8flipdima(in1, size1[0], size1[1], \
- in2, in3, out);
-
-#define i82i80i80flipdimi82(in1, size1, in2, in3, out) i8flipdima(in1, size1[0], size1[1], \
- in2, in3, out);
-
-#define u162u160u160flipdimu162(in1, size1, in2, in3, out) u16flipdima(in1, size1[0], size1[1], \
- in2, in3, out);
-
-#define i162i160i160flipdimi162(in1, size1, in2, in3, out) i16flipdima(in1, size1[0], size1[1], \
- in2, in3, out);
-
-#define u82d0d0flipdimu82(in1, size1, in2, in3, out) u8flipdima(in1, size1[0], size1[1], \
- in2, in3, out);
-
-#define i82d0d0flipdimi82(in1, size1, in2, in3, out) i8flipdima(in1, size1[0], size1[1], \
- in2, in3, out);
-
-#define u162d0d0flipdimu162(in1, size1, in2, in3, out) u16flipdima(in1, size1[0], size1[1], \
- in2, in3, out);
-
-#define i162d0d0flipdimi162(in1, size1, in2, in3, out) i16flipdima(in1, size1[0], size1[1], \
- in2, in3, out);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_FLIPDIM_H__*/
diff --git a/interfaces/int_float.h b/interfaces/int_float.h
deleted file mode 100644
index df9aa39..0000000
--- a/interfaces/int_float.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
- * Author - Shamik Guha
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you 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_FLOAT_H__
-#define __INT_FLOAT_H__
-
-#define s0floats0(in) sfloats(in)
-
-#define d0floats0(in) dfloats(in)
-
-#define i80floats0(in) i8floats(in)
-
-#define u160floats0(in) u16floats(in)
-
-#define i160floats0(in) i16floats(in)
-
-#define s2floats2(in,size,out) sfloata(in, size[0]*size[1], out)
-
-#define d2floats2(in,size,out) dfloata(in, size[0]*size[1], out)
-
-#define i82floats2(in,size,out) i8floata(in, size[0]*size[1], out)
-
-#define u162floats2(in,size,out) u16floata(in, size[0]*size[1], out)
-
-#define i162floats2(in,size,out) i16floata(in, size[0]*size[1], out)
-
-#endif /* !__INT_FLOAT_H__ */
diff --git a/interfaces/int_floor.h b/interfaces/int_floor.h
deleted file mode 100644
index 639819a..0000000
--- a/interfaces/int_floor.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_FLOOR_H__
-#define __INT_FLOOR_H__
-
-#define s0floors0(in) sfloors(in)
-
-#define d0floord0(in) dfloors(in)
-
-#define c0floorc0(in) cfloors(in)
-
-#define z0floorz0(in) zfloors(in)
-
-#define u80flooru80(in) u8floors(in)
-
-#define i80floori80(in) i8floors(in)
-
-#define u160flooru160(in) u16floors(in)
-
-#define i160floori160(in) i16floors(in)
-
-#define s2floors2(in,size,out) sfloora(in, size[0]*size[1], out)
-
-#define d2floord2(in,size,out) dfloora(in, size[0]*size[1], out)
-
-#define c2floorc2(in,size,out) cfloora(in, size[0]*size[1], out)
-
-#define z2floorz2(in,size,out) zfloora(in, size[0]*size[1], out)
-
-#define u82flooru82(in,size,out) u8floora(in, size[0]*size[1], out)
-
-#define i82floori82(in,size,out) i8floora(in, size[0]*size[1], out)
-
-#define u162flooru162(in,size,out) u16floora(in, size[0]*size[1], out)
-
-#define i162floori162(in,size,out) i16floora(in, size[0]*size[1], out)
-
-#endif /* !__INT_FLOOR_H__ */
diff --git a/interfaces/int_frexp.h b/interfaces/int_frexp.h
deleted file mode 100644
index fa72417..0000000
--- a/interfaces/int_frexp.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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_FREXP_H__
-#define __INT_FREXP_H__
-
-#define s0s2frexps0(in1,in2) sfrexps(in1,in2)
-
-#define d0d2frexps0(in1,in2) dfrexps(in1,in2)
-
-#endif /* !__INT_FREXP_H__ */
diff --git a/interfaces/int_hex2dec.h b/interfaces/int_hex2dec.h
deleted file mode 100644
index d558936..0000000
--- a/interfaces/int_hex2dec.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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_hex2dec_H__
-#define __INT_hex2dec_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define g2hex2decd0(in,size) ghex2decs(in,size[1])
-#define d0hex2decd0(in) dhex2decs(in)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_hex2dec_H__*/
diff --git a/interfaces/int_hilbert.h b/interfaces/int_hilbert.h
deleted file mode 100644
index c4c9c7e..0000000
--- a/interfaces/int_hilbert.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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_HILBERT_H__
-#define __INT_HILBERT_H__
-
-#define s0hilberts0(in) shilberts(in)
-
-#define d0hilbertd0(in) dhilberts(in)
-
-#define s2hilbertc2(in,size,out) shilberta(in, size[0], size[1], out)
-
-#define d2hilbertz2(in,size,out) dhilberta(in, size[0], size[1], out)
-
-#endif /* !__INT_HILBERT_H__ */
diff --git a/interfaces/int_ifft.h b/interfaces/int_ifft.h
deleted file mode 100644
index 78e6375..0000000
--- a/interfaces/int_ifft.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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_IFFT_H__
-#define __INT_IFFT_H__
-
-
-#define s0iffts0(in) siffts(in)
-
-#define d0ifftd0(in) diffts(in)
-
-#define s0ifftc0(in) FloatComplex(siffts(in),0)
-
-#define d0ifftz0(in) DoubleComplex(diffts(in),0)
-
-#define c0ifftc0(in) ciffts(in)
-
-#define z0ifftz0(in) ziffts(in)
-
-#define s2iffts2(in,size,out) sifftma(in, size[0], size[1], out)
-
-#define d2ifftd2(in,size,out) difftma(in, size[0], size[1], out)
-
-#define c2ifftc2(in,size,out) cifftma(in, size[0], size[1], out)
-
-#define z2ifftz2(in,size,out) zifftma(in, size[0], size[1], out)
-
-/* FIXME : malloc here */
-#define s2ifftc2(in,size,out) {float* ZEROS;\
- ZEROS=malloc((uint)(size[0]*size[1]*sizeof(float)));\
- szerosa(ZEROS,size[0],size[1]);\
- cifftma(FloatComplexMatrix(in,ZEROS,size[0]*size[1]), size[0], size[1], out);\
- }
-/* FIXME : malloc here */
-#define d2ifftz2(in,size,out) {double* ZEROS;\
- ZEROS=malloc((uint)(size[0]*size[1]*sizeof(double)));\
- dzerosa(ZEROS,size[0],size[1]);\
- zifftma(DoubleComplexMatrix(in,ZEROS,size[0]*size[1]), size[0], size[1], out);\
- }
-
-#endif /* !__INT_IFFT_H__ */
diff --git a/interfaces/int_imag.h b/interfaces/int_imag.h
deleted file mode 100644
index 6e6b736..0000000
--- a/interfaces/int_imag.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-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
- *
- */
-
-/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
-
-#ifndef __INT_IMAG_H__
-#define __INT_IMAG_H__
-
-#define s0imags0(in) 0
-
-#define d0imagd0(in) 0
-
-#define c0imags0(in) cimags(in)
-
-#define z0imagd0(in) zimags(in)
-
-#define u80imagu80(in) 0
-
-#define i80imagi80(in) 0
-
-#define u160imagu160(in) 0
-
-#define i160imagi160(in) 0
-
-#define s2imags2(in,size,out) szerosa(out,size[0],size[1])
-
-#define d2imagd2(in,size,out) dzerosa(out,size[0],size[1])
-
-#define c2imags2(in,size,out) cimaga(in, size[0]*size[1], out)
-
-#define z2imagd2(in,size,out) zimaga(in, size[0]*size[1], out)
-
-#define u82imagu82(in,size,out) u8zerosa(out,size[0],size[1])
-
-#define i82imagi82(in,size,out) i8zerosa(out,size[0],size[1])
-
-#define u162imagu162(in,size,out) u16zerosa(out,size[0],size[1])
-
-#define i162imagi162(in,size,out) i16zerosa(out,size[0],size[1])
-
-#endif /* !__INT_IMAG_H__ */
diff --git a/interfaces/int_int.h b/interfaces/int_int.h
deleted file mode 100644
index b40811a..0000000
--- a/interfaces/int_int.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_INT_H__
-#define __INT_INT_H__
-
-#define s0ints0(in) sints(in)
-
-#define d0intd0(in) dints(in)
-
-#define c0intc0(in) cints(in)
-
-#define z0intz0(in) zints(in)
-
-#define s2ints2(in,size,out) sinta(in, size[0]*size[1], out)
-
-#define d2intd2(in,size,out) dinta(in, size[0]*size[1], out)
-
-#define c2intc2(in,size,out) cinta(in, size[0]*size[1], out)
-
-#define z2intz2(in,size,out) zinta(in, size[0]*size[1], out)
-
-#endif /* !__INT_INT_H__ */
diff --git a/interfaces/int_int16.h b/interfaces/int_int16.h
deleted file mode 100644
index 4f32fe9..0000000
--- a/interfaces/int_int16.h
+++ /dev/null
@@ -1,38 +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
-*/
-
-/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
-
-#ifndef __INT_INT16_H__
-#define __INT_INT16_H__
-
-#define s0int16i160(in) sint16s(in)
-
-#define d0int16i160(in) dint16s(in)
-
-#define u80int16i160(in) u8int16s(in)
-
-#define i80int16i160(in) i8int16s(in)
-
-#define u160int16i160(in) u16int16s(in)
-
-#define s2int16i162(in,size,out) sint16a(in, size[0]*size[1], out)
-
-#define d2int16i162(in,size,out) dint16a(in, size[0]*size[1], out)
-
-#define u82int16i162(in,size,out) u8int16a(in, size[0]*size[1], out)
-
-#define i82int16i162(in,size,out) i8int16a(in, size[0]*size[1], out)
-
-#define u162int16i162(in,size,out) u16int16a(in, size[0]*size[1], out)
-
-#endif /* !__INT_INT8_H__ */
diff --git a/interfaces/int_int8.h b/interfaces/int_int8.h
deleted file mode 100644
index 5628c5a..0000000
--- a/interfaces/int_int8.h
+++ /dev/null
@@ -1,38 +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: Mushir
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
-
-#ifndef __INT_INT8_H__
-#define __INT_INT8_H__
-
-#define s0int8i80(in) sint8s(in)
-
-#define d0int8i80(in) dint8s(in)
-
-#define u80int8i80(in) u8int8s(in)
-
-#define u160int8i80(in) u16int8s(in)
-
-#define i160int8i80(in) i16int8s(in)
-
-#define s2int8i82(in,size,out) sint8a(in, size[0]*size[1], out)
-
-#define d2int8i82(in,size,out) dint8a(in, size[0]*size[1], out)
-
-#define u82int8i82(in,size,out) u8int8a(in, size[0]*size[1], out)
-
-#define u162int8i82(in,size,out) u16int8a(in, size[0]*size[1], out)
-
-#define i162int8i82(in,size,out) i16int8a(in, size[0]*size[1], out)
-
-#endif /* !__INT_INT8_H__ */
diff --git a/interfaces/int_invert.h b/interfaces/int_invert.h
deleted file mode 100644
index 285a0f4..0000000
--- a/interfaces/int_invert.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_INV_H__
-#define __INT_INV_H__
-
-#define s0invs0(in) 1.0f/in
-
-#define d0invd0(in) 1.0/in
-
-#define c0invc0(in) crdivs(FloatComplex(1,0),in)
-
-#define z0invz0(in) zrdivs(DoubleComplex(1,0),in)
-
-#define u80invs0(in) 1.0f/(float)in
-
-#define i80invs0(in) 1.0f/(float)in
-
-#define u160invs0(in) 1.0f/(float)in
-
-#define i160invs0(in) 1.0f/(float)in
-
-#define s2invs2(in,size,out) sinverma(in, out, size[0])
-
-#define d2invd2(in,size,out) dinverma(in, out, size[0])
-
-#define c2invc2(in,size,out) cinverma(in, out, size[0])
-
-#define z2invz2(in,size,out) zinverma(in, out, size[0])
-
-#define u82invs2(in,size,out) u8inverma(in, out, size[0])
-
-#define i82invs2(in,size,out) i8inverma(in, out, size[0])
-
-#define u162invs2(in,size,out) u16inverma(in, out, size[0])
-
-#define i162invs2(in,size,out) i16inverma(in, out, size[0])
-
-#endif /* !__INT_INV_H__ */
diff --git a/interfaces/int_isempty.h b/interfaces/int_isempty.h
deleted file mode 100644
index 403bc56..0000000
--- a/interfaces/int_isempty.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_ISEMPTY_H__
-#define __INT_ISEMPTY_H__
-
-#define s0isemptys0(in) sisemptys(in)
-
-#define d0isemptyd0(in) disemptys(in)
-
-#define c0isemptys0(in) cisemptys(in)
-
-#define z0isemptyd0(in) zisemptys(in)
-
-#define s2isemptys0(in,size) sisemptya(in, size[0]*size[1])
-
-#define d2isemptyd0(in,size) disemptya(in, size[0]*size[1])
-
-#define c2isemptys0(in,size) cisemptya(in, size[0]*size[1])
-
-#define z2isemptyd0(in,size) zisemptya(in, size[0]*size[1])
-
-#endif /* !__INT_ISEMPTY_H__ */
diff --git a/interfaces/int_isnan.h b/interfaces/int_isnan.h
deleted file mode 100644
index 8ab7c74..0000000
--- a/interfaces/int_isnan.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_ISNAN_H__
-#define __INT_ISNAN_H__
-
-#define s0isnans0(in) sisnans(in)
-
-#define d0isnand0(in) disnans(in)
-
-#define c0isnans0(in) cisnans(in)
-
-#define z0isnand0(in) zisnans(in)
-
-#define s2isnans2(in,size,out) sisnana(in, size[0]*size[1], out)
-
-#define d2isnand2(in,size,out) disnana(in, size[0]*size[1], out)
-
-#define c2isnans2(in,size,out) cisnana(in, size[0]*size[1], out)
-
-#define z2isnand2(in,size,out) zisnana(in, size[0]*size[1], out)
-
-#endif /* !__INT_ISNAN_H__ */
diff --git a/interfaces/int_kron.h b/interfaces/int_kron.h
deleted file mode 100644
index a6fbaab..0000000
--- a/interfaces/int_kron.h
+++ /dev/null
@@ -1,43 +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_KRON_H__
-#define __INT_KRON_H__
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0d0krond0(in1, in2) in1*in2
-#define s0s0krons0(in1, in2) in1*in2
-
-#define d0d2krond2(in1, in2, size2, out) {int i; \
- for(i=0;i < size2[0]*size2[1];i++) out[i] = in2[i]*in1;}
-#define s0s2krons2(in1, in2, size2, out) {int i; \
- for(i=0;i < size2[0]*size2[1];i++) out[i] = in2[i]*in1;}
-
-#define d2d0krond2(in1, size1, in2, out) {int i; \
- for(i=0;i < size1[0]*size1[1];i++) out[i] = in1[i]*in2;}
-#define s2s0krons2(in1, in2, size2, out) {int i; \
- for(i=0;i < size2[0]*size2[1];i++) out[i] = in2[i]*in1;}
-
-#define d2d2krond2(in1, size1, in2, size2, out) dkrona(in1, size1[0], size1[1], \
- in2, size2[0], size2[1], out);
-#define s2s2krons2(in1, size1, in2, size2, out) skrona(in1, size1[0], size1[1], \
- in2, size2[0], size2[1], out);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_KRON_H__*/
diff --git a/interfaces/int_length.h b/interfaces/int_length.h
deleted file mode 100644
index fe84a92..0000000
--- a/interfaces/int_length.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-** -*- C -*-
-**
-** int_length.h
-** Made by Raffaele Nutricato <raffaele.nutricato@tiscali.it>
-**
-**
-** Copyright POLIBA 2008
-*/
-/*
- 1. Search for length in INIT_FillSCI2LibCDirs.sci
- 2. Search for // --- Function List Class. --- in INIT_FillSCI2LibCDirs.sci
- 3. You will find
- PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
- PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
- PrintStringInfo('c0'+ArgSeparator+'s0',ClassFileName,'file','y');
- PrintStringInfo('z0'+ArgSeparator+'d0',ClassFileName,'file','y');
- PrintStringInfo('g0'+ArgSeparator+'s0',ClassFileName,'file','y');
- PrintStringInfo('g0'+ArgSeparator+'d0',ClassFileName,'file','y');
-
- PrintStringInfo('s2'+ArgSeparator+'s0',ClassFileName,'file','y');
- PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
- PrintStringInfo('c2'+ArgSeparator+'s0',ClassFileName,'file','y');
- PrintStringInfo('z2'+ArgSeparator+'d0',ClassFileName,'file','y');
- PrintStringInfo('g2'+ArgSeparator+'s0',ClassFileName,'file','y');
- PrintStringInfo('g2'+ArgSeparator+'d0',ClassFileName,'file','y');
- 4. These are all the functions to be implemented.
- 5. According to functions available in src you have to generate the mapping between
- functions in step3 and functions in src.
-*/
-
-#ifndef __INT_LENGTH_H__
-#define __INT_LENGTH_H__
-
-#define s0lengths0(in) \
-slengths(in)
-
-#define d0lengthd0(in) \
-dlengths(in)
-
-#define c0lengths0(in) \
-clengths(in)
-
-#define z0lengthd0(in) \
-zlengths(in)
-
-#define g0lengths0(in) \
-slengths(in)
-
-#define g0lengthd0(in) \
-dlengths(in)
-
-#define s2lengths0(inptr,insizeptr) \
-slengtha(inptr, insizeptr[0]*insizeptr[1])
-
-#define d2lengthd0(inptr,insizeptr) \
-dlengtha(inptr, insizeptr[0]*insizeptr[1])
-
-#define c2lengths0(inptr,insizeptr) \
-clengtha(inptr, insizeptr[0]*insizeptr[1])
-
-#define z2lengthd0(inptr,insizeptr) \
-zlengtha(inptr, insizeptr[0]*insizeptr[1])
-
-#define g2lengths0(inptr,insizeptr) \
-slengtha(inptr, insizeptr[0]*insizeptr[1])
-
-#define g2lengthd0(inptr,insizeptr) \
-dlengtha(inptr, insizeptr[0]*insizeptr[1])
-#endif /* !__INT_LENGTH_H__ */
diff --git a/interfaces/int_lev.h b/interfaces/int_lev.h
deleted file mode 100644
index f15f9ea..0000000
--- a/interfaces/int_lev.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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_LEV_H__
-#define __INT_LEV_H__
-
-#define s2levs2(in,size,out) {float sigma2;\
- sigma2=sleva2(in,size[0]*size[1],out);\
- }
-
-#define s2levs2s0(in,size,out) sleva2(in,size[0]*size[1],out);
-
-#define s2levs2s0s2(in,size,out1,out2) sleva(in,size[0]*size[1],out1,out2);
-
-
-#define d2levd2(in,size,out) {double sigma2;\
- sigma2=dleva2(in,size[0]*size[1],out);\
- }
-
-#define d2levd2d0(in,size,out) dleva2(in,size[0]*size[1],out);
-
-#define d2levd2d0d2(in,size,out1,out2) dleva(in,size[0]*size[1],out1,out2);
-
-
-#define c2levc2(in,size,out) {floatComplex sigma2;\
- sigma2=cleva2(in,size[0]*size[1],out);\
- }
-
-#define c2levc2c0(in,size,out) cleva2(in,size[0]*size[1],out);
-
-#define c2levc2c0c2(in,size,out1,out2) cleva(in,size[0]*size[1],out1,out2);
-
-
-#define z2levz2(in,size,out) {doubleComplex sigma2;\
- sigma2=zleva2(in,size[0]*size[1],out);\
- }
-
-#define z2levz2z0(in,size,out) zleva2(in,size[0]*size[1],out);
-
-#define z2levz2z0z2(in,size,out1,out2) zleva(in,size[0]*size[1],out1,out2);
-
-#endif /* !__INT_LEV_H__ */
diff --git a/interfaces/int_levin.h b/interfaces/int_levin.h
deleted file mode 100644
index b48b578..0000000
--- a/interfaces/int_levin.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * 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_LEVIN_H__
-#define __INT_LEVIN_H__
-
-/* FIXME : many malloc here */
-
-#define s0s2levins2(in1,in2,size,out1,out2) {float* out2;\
- float* out3;\
- out2 = malloc((uint)*(size[1]*size[1]*in1)*sizeof(float));\
- out3 = malloc((uint)*(size[1]*size[1]*in1*(in1+1))*sizeof(float));\
- slevina (in1, in2, size[0], size[1], out1, out2, out3);\
- free(out3);\
- free(out2);\
- }
-
-
-#define s0s2levins2(in1,in2,size,out1,out2) {double* out2;\
- double* out3;\
- out2 = malloc((uint)*(size[1]*size[1]*in1)*sizeof(double));\
- out3 = malloc((uint)*(size[1]*size[1]*in1*(in1+1))*sizeof(double));\
- slevina (in1, in2, size[0], size[1], out1, out2, out3);\
- free(out3);\
- free(out2);\
- }
-
-
-
-#define s0s2levins2s2(in1,in2,size,out1,out2) {float* out3;\
- out3 = malloc((uint)*(size[1]*size[1]*in1*(in1+1))*sizeof(float));\
- slevina (in1, in2, size[0], size[1], out1, out2, out3);\
- free(out3);\
- }
-
-#define d0d2levind2d2(in1,in2,size,out1,out2) {double* out3;\
- out3 = malloc((uint)*(size[1]*size[1]*in1*(in1+1))*sizeof(double));\
- dlevina (in1, in2, size[0], size[1], out1, out2, out3);\
- free(out3);\
- }
-
-
-
-#define s0s2levins2s2s2(in1,in2,size,out1,out2,out3) slevina (in1, in2, size[0], size[1], out1, out2, out3);
-
-#define d0d2levind2d2d2(in1,in2,size,out1,out2,out3) dlevina (in1, in2, size[0], size[1], out1, out2, out3);
-
-
-#endif /* !__INT_LEVIN_H__ */
diff --git a/interfaces/int_lnp1m1.h b/interfaces/int_lnp1m1.h
deleted file mode 100644
index 0a74511..0000000
--- a/interfaces/int_lnp1m1.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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_LNP1M1_H__
-#define __INT_LNP1M1_H__
-
-/*
-** Compute v = log ( (1 + s)/(1 - s) ) for different types .
-*/
-
-#define s0lnp1m1s0(in1) slnp1m1s(in1)
-
-#define d0lnp1m1d0(in1) dlnp1m1s(in1)
-
-#endif /* !__INT_LNP1M1_H__ */
diff --git a/interfaces/int_log.h b/interfaces/int_log.h
deleted file mode 100644
index d7f19fe..0000000
--- a/interfaces/int_log.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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_LOG_H__
-#define __INT_LOG_H__
-
-#define s0logs0(in) slogs(in)
-
-#define s0logc0(in) clogs(FloatComplex(in,0))
-
-#define d0logd0(in) dlogs(in)
-
-#define d0logz0(in) zlogs(DoubleComplex(in,0))
-
-#define c0logc0(in) clogs(in)
-
-#define z0logz0(in) zlogs(in)
-
-#define s2logs2(in,size,out) sloga(in, size[0]*size[1], out)
-
-#define s2logc2(in,size,out) cloga(FloatComplexMatrix(in,0), size[0]*size[1], out)
-
-#define d2logd2(in,size,out) dloga(in, size[0]*size[1], out)
-
-#define d2logz2(in,size,out) zloga(DoubleComplexMatrix(in,0), size[0]*size[1], out)
-
-#define c2logc2(in,size,out) cloga(in, size[0]*size[1], out)
-
-#define z2logz2(in,size,out) zloga(in, size[0]*size[1], out)
-
-#endif /* !__INT_LOG_H__ */
diff --git a/interfaces/int_log10.h b/interfaces/int_log10.h
deleted file mode 100644
index 85d5dde..0000000
--- a/interfaces/int_log10.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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_LOG10_H__
-#define __INT_LOG10_H__
-
-#define s0log10s0(in) slog10s(in)
-
-#define s0log10c0(in) clog10s(FloatComplex(in,0))
-
-#define d0log10d0(in) dlog10s(in)
-
-#define d0log10z0(in) zlog10s(DoubleComplex(in,0))
-
-#define c0log10c0(in) clog10s(in)
-
-#define z0log10z0(in) zlog10s(in)
-
-#define s2log10s2(in,size,out) slog10a(in, size[0]*size[1], out)
-
-#define s2log10c2(in,size,out) clog10a(FloatComplexMatrix(in,0), size[0]*size[1], out)
-
-#define d2log10d2(in,size,out) dlog10a(in, size[0]*size[1], out)
-
-#define d2log10z2(in,size,out) zlog10a(DoubleComplexMatrix(in,0), size[0]*size[1], out)
-
-#define c2log10c2(in,size,out) clog10a(in, size[0]*size[1], out)
-
-#define z2log10z2(in,size,out) zlog10a(in, size[0]*size[1], out)
-
-#endif /* !__INT_LOG10_H__ */
diff --git a/interfaces/int_log1p.h b/interfaces/int_log1p.h
deleted file mode 100644
index 29f6fb3..0000000
--- a/interfaces/int_log1p.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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_LOG1p1P_H__
-#define __INT_LOG1p1P_H__
-
-#define s0log1ps0(in) slog1ps(in)
-
-#define s0log1pc0(in) clog1ps(FloatComplex(in,0))
-
-#define d0log1pd0(in) dlog1ps(in)
-
-#define d0log1pz0(in) zlog1ps(DoubleComplex(in,0))
-
-#define c0log1pc0(in) clog1ps(in)
-
-#define z0log1pz0(in) zlog1ps(in)
-
-#define s2log1ps2(in,size,out) slog1pa(in, size[0]*size[1], out)
-
-#define s2log1pc2(in,size,out) clog1pa(FloatComplexMatrix(in,0), size[0]*size[1], out)
-
-#define d2log1pd2(in,size,out) dlog1pa(in, size[0]*size[1], out)
-
-#define d2log1pz2(in,size,out) zlog1pa(DoubleComplexMatrix(in,0), size[0]*size[1], out)
-
-#define c2log1pc2(in,size,out) clog1pa(in, size[0]*size[1], out)
-
-#define z2log1pz2(in,size,out) zlog1pa(in, size[0]*size[1], out)
-#endif /* !__INT_LOG1p1P_H__ */
diff --git a/interfaces/int_lpc2cep.h b/interfaces/int_lpc2cep.h
deleted file mode 100644
index 6e6e719..0000000
--- a/interfaces/int_lpc2cep.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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_LPC2CEP_H__
-#define __INT_LPC2CEP_H__
-
-
-#define s2lpc2ceps2(in,size,out) slpc2cepa(in, size[0]*size[1], out)
-
-#define d2lpc2cepd2(in,size,out) dlpc2cepa(in, size[0]*size[1], out)
-
-#define c2lpc2cepc2(in,size,out) clpc2cepa(in, size[0]*size[1], out)
-
-#define z2lpc2cepz2(in,size,out) zlpc2cepa(in, size[0]*size[1], out)
-
-#endif /* !__INT_LPC2CEP_H__ */
diff --git a/interfaces/int_max.h b/interfaces/int_max.h
deleted file mode 100644
index 0dc0eef..0000000
--- a/interfaces/int_max.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-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
- *
- */
-
-/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
-
-#ifndef __INT_MAX_H__
-#define __INT_MAX_H__
-
-#define s0maxs0(in) in
-
-#define d0maxd0(in) in
-
-#define s2maxs0(in,size) smaxa(in,size[0]*size[1]);
-
-#define d2maxd0(in,size) dmaxa(in,size[0]*size[1]);
-
-
-
-#define s0s0maxs0(in1,in2) max(in1,in2)
-
-#define d0d0maxd0(in1,in2) max(in1,in2)
-
-#define s2s2maxs2(in1,size1,in2,size2,out) maxa(in1, size1, in2, size2, out)
-
-#define d2d2maxd2(in1,size1,in2,size2,out) maxa(in1, size1, in2, size2, out)
-
-
-#define s2s0maxs2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=max(in1[i],in2);\
- }
-
-#define d2d0maxd2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=max(in1[i],in2);\
- }
-
-#define s0s2maxs2(in1,in2,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=max(in1,in2[i]);\
- }
-
-#define d0d2maxd2(in1,in2,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=max(in1,in2[i]);\
- }
-
-#endif /* !__INT_MAX_H__ */
diff --git a/interfaces/int_mean.h b/interfaces/int_mean.h
deleted file mode 100644
index d1d301c..0000000
--- a/interfaces/int_mean.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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_MEAN_H__
-#define __INT_MEAN_H__
-
-#define s0means0(in) smeans(in)
-
-#define d0meand0(in) dmeans(in)
-
-#define c0meanc0(in) cmeans(in)
-
-#define z0meanz0(in) zmeans(in)
-
-#define s2means0(in,size) smeana(in, size[0]*size[1])
-
-#define d2meand0(in,size) dmeana(in, size[0]*size[1])
-
-#define c2meanc0(in,size) cmeana(in, size[0]*size[1])
-
-#define z2meanz0(in,size) zmeana(in, size[0]*size[1])
-
-
-#define s0s0means0(in1,in2) (in2==1) ? srowmeans(in1) : scolumnmeans(in1)
-
-#define d0d0meand0(in1,in2) (in2==1) ? drowmeans(in1) : dcolumnmeans(in1)
-
-#define c0s0meanc0(in1,in2) (in2==1) ? crowmeans(in1) : ccolumnmeans(in1)
-
-#define z0d0meanz0(in1,in2) (in2==1) ? zrowmeans(in1) : zcolumnmeans(in1)
-
-#define s2s0means2(in1,size,in2,out) (in2==1) ? srowmeana(in1,size[0],size[1],out) : scolumnmeana(in1,size[0],size[1],out)
-
-#define d2d0meand2(in1,size,in2,out) (in2==1) ? drowmeana(in1,size[0],size[1],out) : dcolumnmeana(in1,size[0],size[1],out)
-
-#define c2s0meanc2(in1,size,in2,out) (in2==1) ? crowmeana(in1,size[0],size[1],out) : ccolumnmeana(in1,size[0],size[1],out)
-
-#define z2d0meanz2(in1,size,in2,out) (in2==1) ? zrowmeana(in1,size[0],size[1],out) : zcolumnmeana(in1,size[0],size[1],out)
-
- /*'r' and 'c' case */
-#define s0g2means0(in1,in2,size2) (in2[0]=='r') ? srowmeans(in1) : scolumnmeans(in1)
-
-#define d0g2meand0(in1,in2,size2) (in2[0]=='r') ? drowmeans(in1) : dcolumnmeans(in1)
-
-#define c0g2meanc0(in1,in2,size2) (in2[0]=='r') ? crowmeans(in1) : ccolumnmeans(in1)
-
-#define z0g2meanz0(in1,in2,size2) (in2[0]=='r') ? zrowmeans(in1) : zcolumnmeans(in1)
-
-#define s2g2means2(in1,size,in2,size2,out) (in2[0]=='r') ? srowmeana(in1,size[0],size[1],out) : scolumnmeana(in1,size[0],size[1],out)
-
-#define d2g2meand2(in1,size,in2,size2,out) (in2[0]=='r') ? drowmeana(in1,size[0],size[1],out) : dcolumnmeana(in1,size[0],size[1],out)
-
-#define c2g2meanc2(in1,size,in2,size2,out) (in2[0]=='r') ? crowmeana(in1,size[0],size[1],out) : ccolumnmeana(in1,size[0],size[1],out)
-
-#define z2g2meanz2(in1,size,in2,size2,out) (in2[0]=='r') ? zrowmeana(in1,size[0],size[1],out) : zcolumnmeana(in1,size[0],size[1],out)
-
-
-
-
-#endif /* !__INT_MEAN_H__ */
diff --git a/interfaces/int_meanf.h b/interfaces/int_meanf.h
deleted file mode 100644
index c7fb4da..0000000
--- a/interfaces/int_meanf.h
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Allan SIMON
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you 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_MEANF_H__
-#define __INT_MEANF_H__
-
-#define s0s0meanfs0(in1,in2) smeanfs(in1,in2)
-
-#define d0d0meanfd0(in1,in2) dmeanfs(in1,in2)
-
-#define c0s0meanfc0(in1,in2) cmeanfs(in1,FloatComplex(in2 , 0.0f))
-
-#define z0d0meanfz0(in1,in2) zmeanfs(in1,DoubleComplex(in2, 0.0))
-
-#define s2s2meanfs0(in1, size1, in2, size2) smeanfa(in1, size1[0]*size1[1], in2)
-
-#define d2d2meanfd0(in1, size1, in2, size2) dmeanfa(in1, size1[0]*size1[1], in2)
-
-#define c2s2meanfc0(in1, size1, in2, size2) cmeanfcs(in1, size1[0], size1[1], in2)
-
-#define z2d2meanfz0(in1, size1, in2, size2) zmeanfzd(in1, size1[0], size1[1], in2)
-
-
-/*by rows or columns */
-
-#define s0s0s0meanfs0(in1,in2,in3) (in3==1) ? srowmeanfs(in1,in2) : scolumnmeanfs(in1,in2)
-
-#define d0d0d0meanfd0(in1,in2,in3) (in3==1) ? drowmeanfs(in1,in2) : dcolumnmeanfs(in1,in2)
-
-#define c0s0s0meanfc0(in1,in2,in3) (in3==1) ? crowmeanfs(in1,FloatComplex(in2 , 0.0f)) : ccolumnmeanfs(in1,FloatComplex(in2 , 0.0f))
-
-#define z0d0d0meanfz0(in1,in2,in3) (in3==1) ? zrowmeanfs(in1,DoubleComplex(in2, 0.0)) : zcolumnmeanfs(in1,DoubleComplex(in2, 0.0))
-
-
-#define s2s2s0meanfs2(in1, size1, in2, size2,in3,out) (in3==1) ? srowmeanfa(in1,size1[0],size1[1],in2,out) : scolumnmeanfa(in1,size1[0],size1[1],in2,out)
-
-#define d2d2d0meanfd2(in1, size1, in2, size2,in3,out) (in3==1) ? drowmeanfa(in1,size1[0],size1[1],in2,out) : dcolumnmeanfa(in1,size1[0],size1[1],in2,out)
-
-
-
-
-
-#define c2s2s0meanfc2(in1, size1, in2, size2,in3,out) if (in3==1) {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- crowmeanfa(in1,size1[0],size1[1],FloatComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
- free(temp);\
- }\
- else\
- {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- ccolumnmeanfa(in1,size1[0],size1[1],FloatComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
- free(temp);\
- }
-
-#define z2d2d0meanfz2(in1, size1, in2, size2,in3,out) if (in3==1) {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zrowmeanfa(in1,size1[0],size1[1],DoubleComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
- free(temp);\
- }\
- else\
- {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zcolumnmeanfa(in1,size1[0],size1[1],DoubleComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
- free(temp);\
- }
-
-
-/**/
-
-
-#define s0c0meanfs0(in1,in2) creals (cmeanfs(FloatComplex(in1 , 0.0f),in2))
-#define s0c0meanfc0(in1,in2) cmeanfs(FloatComplex(in1 , 0.0f),in2)
-
-#define d0z0meanfd0(in1,in2) zreals(zmeanfs(DoubleComplex(in1, 0.0 ),in2))
-#define d0z0meanfz0(in1,in2) zmeanfs(DoubleComplex(in1, 0.0 ),in2)
-
-#define c0c0meanfc0(in1,in2) cmeanfs(in1,in2)
-
-#define z0z0meanfz0(in1,in2) zmeanfs(in1,in2)
-
-
-#define s2c2meanfs0(in1, size1, in2, size2) creals (cmeanfsc(in1, size1[0],size1[1], in2))
-#define s2c2meanfc0(in1, size1, in2, size2) cmeanfsc(in1, size1[0],size1[1], in2)
-
-#define d2z2meanfd0(in1, size1, in2, size2) zreals(zmeanfdz(in1, size1[0],size1[1], in2))
-#define d2z2meanfz0(in1, size1, in2, size2) zmeanfdz(in1, size1[0],size1[1], in2)
-
-#define c2c2meanfc0(in1, size1, in2, size2) cmeanfa(in1, size1[0]* size1[1], in2)
-
-#define z2z2meanfz0(in1, size1, in2, size2) zmeanfa(in1, size1[0]* size1[1], in2)
-
-
-/*by rows or columns */
-
-#define s0c0s0meanfs0(in1,in2,in3) (in3==1) ? crowmeanfs(FloatComplex(in1, 0.0f),in2) : ccolumnmeanfs(FloatComplex(in1, 0.0f),in2)
-
-#define d0z0d0meanfd0(in1,in2,in3) (in3==1) ? zrowmeanfs(DoubleComplex(in1, 0.0),in2) : zcolumnmeanfs(DoubleComplex(in1, 0.0),in2)
-
-#define c0c0s0meanfc0(in1,in2,in3) (in3==1) ? crowmeanfs(in1,in2) : ccolumnmeanfs(in1,in2)
-
-#define z0z0d0meanfz0(in1,in2,in3) (in3==1) ? zrowmeanfs(in1,in2) : zcolumnmeanfs(in1,in2)
-
-
-#define s2c2s0meanfs2(in1, size1, in2, size2,in3,out) if (in3==1) {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- crowmeanfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }\
- else\
- {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- ccolumnmeanfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }
-
-#define d2z2d0meanfd2(in1, size1, in2, size2,in3,out) if (in3==1) {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zrowmeanfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }\
- else\
- {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zcolumnmeanfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }
-
-/*complex output*/
-#define s2c2s0meanfc2(in1, size1, in2, size2,in3,out) if (in3==1) {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- crowmeanfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }\
- else\
- {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- ccolumnmeanfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }
-
-#define d2z2d0meanfz2(in1, size1, in2, size2,in3,out) if (in3==1) {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zrowmeanfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }\
- else\
- {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zcolumnmeanfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }
-
-
-
-#define c2c2s0meanfc2(in1, size1, in2, size2,in3,out) (in3==1) ? crowmeanfa(in1,size1[0],size1[1],in2,out) : ccolumnmeanfa(in1,size1[0],size1[1],in2,out)
-
-#define z2z2d0meanfz2(in1, size1, in2, size2,in3,out) (in3==1) ? zrowmeanfa(in1,size1[0],size1[1],in2,out) : zcolumnmeanfa(in1,size1[0],size1[1],in2,out)
-
-
-#endif /* !__INT_MEANF_H__ */
diff --git a/interfaces/int_min.h b/interfaces/int_min.h
deleted file mode 100644
index ec48da7..0000000
--- a/interfaces/int_min.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-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
- *
- */
-
-/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
-
-#ifndef __INT_MIN_H__
-#define __INT_MIN_H__
-
-#define s0mins0(in) in
-
-#define d0mind0(in) in
-
-#define s2mins0(in,size) smina(in,size[0]*size[1]);
-
-#define d2mind0(in,size) dmina(in,size[0]*size[1]);
-
-
-
-#define s0s0mins0(in1,in2) min(in1,in2)
-
-#define d0d0mind0(in1,in2) min(in1,in2)
-
-#define s2s2mins2(in1,size1,in2,size2,out) mina(in1, size1, in2, size2, out)
-
-#define d2d2mind2(in1,size1,in2,size2,out) mina(in1, size1, in2, size2, out)
-
-
-#define s2s0mins2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=min(in1[i],in2);\
- }
-
-#define d2d0mind2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=min(in1[i],in2);\
- }
-
-#define s0s2mins2(in1,in2,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=min(in1,in2[i]);\
- }
-
-#define d0d2mind2(in1,in2,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=min(in1,in2[i]);\
- }
-
-#endif /* !__INT_MIN_H__ */
diff --git a/interfaces/int_norm.h b/interfaces/int_norm.h
deleted file mode 100644
index a42a675..0000000
--- a/interfaces/int_norm.h
+++ /dev/null
@@ -1,53 +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_NORM_H__
-#define __INT_NORM_H__
-
-#include "statMax.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0normd0(in) in
-#define s0norms0(in) in
-
-#define d2normd0(in,size,out) ((size[0] == 1) || (size[1]==1))? \
- dnormv(in, size[0]*size[1], 2): \
- dnorma(in, size[0], size[1], 2)
-
-#define s2norms0(in,size,out) ((size[0] == 1) || (size[1]==1))? \
- snormv(in, size[0]*size[1], 2): \
- snorma(in, size[0], size[1], 2)
-
-#define d2d0normd0(in,size,norm) ((size[0] == 1) || (size[1]==1))? \
- dnormv(in,size[0]*size[1],norm) : \
- dnorma(in,size[0],size[1],norm)
-
-#define s2s0norms0(in,size,norm) ((size[0] == 1) || (size[1]==1))? \
- snormv(in,size[0]*size[1],norm) : \
- snorma(in,size[0],size[1],norm)
-
-#define d2g2normd0(in,size,norm,normsize) ((size[0] == 1) || (size[1]==1))? \
- (norm[0]=='i') ? dmaxa(in,size[0]*size[1]) : dnormv(in,size[0]*size[1],2) : \
- (norm[0]=='i') ? dnorma(in,size[0],size[1],3) : dnorma(in,size[0],size[1],4)
-
-#define s2g2norms0(in,size,norm,normsize) ((size[0] == 1) || (size[1]==1))? \
- (norm[0]=='i') ? smaxa(in,size[0]*size[1]) : snormv(in,size[0]*size[1],2) : \
- (norm[0]=='i') ? snorma(in,size[0],size[1],3) : snorma(in,size[0],size[1],4)
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_NORM_H__*/
diff --git a/interfaces/int_obscont.h b/interfaces/int_obscont.h
deleted file mode 100644
index fd3a823..0000000
--- a/interfaces/int_obscont.h
+++ /dev/null
@@ -1,29 +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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_OBSCONT_H__
-#define __INT_OBSCONT_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define ss2d2d2obscontd2(in1,size1,in2,size2,in3,size3,out) \
- dobsconta(in1,size1[0],size1[1],in2,in3,out,NULL)
-
-#define ss2d2d2obscontd2d2(in1,size1,in2,size2,in3,size3,out1,out2) \
- dobsconta(in1,size1[0],size1[1],in2,in3,out1,out2)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_OBSCONT_H__*/
diff --git a/interfaces/int_oct2dec.h b/interfaces/int_oct2dec.h
deleted file mode 100644
index 0f5d1f2..0000000
--- a/interfaces/int_oct2dec.h
+++ /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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_oct2dec_H__
-#define __INT_oct2dec_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d0oct2decd0(in) doct2decs(in)
-#define i80oct2deci80(in) i8oct2decs(in)
-#define i160oct2deci160(in) i16oct2decs(in)
-#define u80oct2decu80(in) u8oct2decs(in)
-#define u160oct2decu160(in) u16oct2decs(in)
-
-#define d2oct2decd2(in,size,out) doct2deca(in,size[0]*size[1],out)
-#define i82oct2deci82(in,size,out) i8oct2deca(in,size[0]*size[1],out)
-#define i162oct2deci162(in,size,out) i16oct2deca(in,size[0]*size[1],out)
-#define u82oct2decu82(in,size,out) u8oct2deca(in,size[0]*size[1],out)
-#define u162oct2decu162(in,size,out) u16oct2deca(in,size[0]*size[1],out)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_oct2dec_H__*/
diff --git a/interfaces/int_ode.h b/interfaces/int_ode.h
deleted file mode 100644
index 51764ea..0000000
--- a/interfaces/int_ode.h
+++ /dev/null
@@ -1,68 +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_ODE_H__
-#define __INT_ODE_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0d0d0fn0oded0(in1, in2, in3, func_name) dodes(in1, in2, in3, \
- func_name, "rkf",1, 1.0e-2, 1.0e-2, 1.0e-6, NULL)
-
-#define d2d0d0fn0oded2(in1, size1, in2, in3, func_name, out) dodea(in1, \
- in2, in3, func_name, "rkf",size1[1], 1.0e-2, 1.0e-2, \
- 1.0e-6, size1, out)
-
-#define d0d0d2fn0oded2(in1, in2, in3, size3, func_name, out) dodea(in1, in2, \
- in3, func_name, "rkf", 1, 1.0e-2, 1.0e-2, 1.0e-6, size3, out)
-
-#define d2d0d2fn0oded2(in1, size1, in2, in3, size3, func_name, out) dodea(in1, \
- in2, in3, func_name, "rkf",size1[1], 1.0e-2, 1.0e-2, \
- 1.0e-6, size1, out)
-
-#define g2d0d0d0fn0oded0(solvertype, typesize, in1, in2, in3, func_name) dodes(in1, in2, in3, \
- func_name, solvertype, 1, 1.0e-2, 1.0e-2, 1.0e-6, NULL)
-
-#define g2d2d0d0fn0oded2(solvertype, typesize, in1, size1, in2, in3, func_name, out) \
- dodea(in1, in2, in3, func_name, solvertype, size1[1], \
- 1.0e-2, 1.0e-2, 1.0e-6, size1, out)
-
-#define g2d0d0d2fn0oded2(solvertype, typesize, in1, in2, in3, size3, func_name, out) \
- dodea(in1, in2, in3, func_name, solvertype,1, 1.0e-2, 1.0e-2, \
- 1.0e-6, size3, out)
-
-#define g2d2d0d2fn0oded2(solvertype, typesize, in1, size1, in2, in3, size3, func_name, out) dodea(in1, \
- in2, in3, func_name, solvertype, size1[1], 1.0e-2, 1.0e-2, \
- 1.0e-6, size1, out)
-
-#define d0d0d0d0d0fn0oded0(in1, in2, in3, in4, in5, func_name) \
- dodes(in1, in2, in3, func_name, "rkf",1, in5, in4, 1.0e-6, NULL)
-
-#define d2d0d0d0d0fn0oded2(in1, size1, in2, in3, in4, in5, func_name, out) \
- dodea(in1, in2, in3, func_name, "rkf", size1[1], in5, in4, \
- 1.0e-6, size1, out)
-
-#define d0d0d2d0d0fn0oded2(in1, in2, in3, size3, in4, in5, func_name, out) \
- dodea(in1, in2, in3, func_name, "rkf", 1, in5, in4, 1.0e-6, size3, out)
-
-#define d2d0d2d0d0fn0oded2(in1, size1, in2, in3, size3, in4, in5, func_name, out) \
- dodea(in1, in2, in3, func_name, "rkf", size1[1], in5, in4, \
- 1.0e-6, size1, out)
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-
-#endif /*__INT_ODE_H__*/ \ No newline at end of file
diff --git a/interfaces/int_ones.h b/interfaces/int_ones.h
deleted file mode 100644
index e266ee5..0000000
--- a/interfaces/int_ones.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * 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_ONES_H__
-#define __INT_ONES_H__
-
-
-#define oness0() 1.0f
-
-#define onesd0() 1
-
-#define onesu80() (uint8)1
-
-#define onesi80() (int8)1
-
-#define onesu160() (uint16)1
-
-#define onesi160() (int16)1
-
-#define s0oness0(in) soness(in)
-
-#define d0onesd0(in) doness(in)
-
-#define c0onesc0(in) coness(in)
-
-#define z0onesz0(in) zoness(in)
-
-#define u80onesu80(in) u8oness(in)
-
-#define i80onesi80(in) i8oness(in)
-
-#define u160onesu160(in) u16oness(in)
-
-#define i160onesi160(in) i16oness(in)
-
-#define s0s0oness0(in1,in2) 1.0f
-
-#define d0d0onesd0(in,in2) 1
-
-#define u80u80onesu80(in1,in2) (uint8)1
-
-#define i80i80onesi80(in1,in2) (int8)1
-
-#define u160u160onesu160(in1,in2) (uint16)1
-
-#define i160i160onesi160(in1,in2) (int16)1
-
-#define s0s0oness2(in1,in2,out) sonesa(out, in1, in2)
-
-#define d0d0onesd2(in1,in2,out) donesa(out, in1, in2)
-
-#define u80u80onesu82(in1,in2,out) u8onesa(out, in1, in2)
-
-#define i80i80onesi82(in1,in2,out) i8onesa(out, in1, in2)
-
-#define u160u160onesu162(in1,in2,out) u16onesa(out, in1, in2)
-
-#define i160i160onesi162(in1,in2,out) i16onesa(out, in1, in2)
-
-#define s2oness2(in,size,out) sonesa(out, size[0], size[1])
-
-#define d2onesd2(in,size,out) donesa(out, size[0], size[1])
-
-#define c2onesc2(in,size,out) conesa(out, size[0], size[1])
-
-#define z2onesz2(in,size,out) zonesa(out, size[0], size[1])
-
-#define u82onesu82(in,size,out) u8onesa(out, size[0], size[1])
-
-#define i82onesi82(in,size,out) i8onesa(out, size[0], size[1])
-
-#define u162onesu162(in,size,out) u16onesa(out, size[0], size[1])
-
-#define i162onesi162(in,size,out) i16onesa(out, size[0], size[1])
-
-#endif /* !__INT_ONES_H__ */
diff --git a/interfaces/int_pow.h b/interfaces/int_pow.h
deleted file mode 100644
index 39f5e1a..0000000
--- a/interfaces/int_pow.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_OPDOTHAT_H__
-#define __INT_OPDOTHAT_H__
-
-#define s0s0OpDotHats0(in1, in2) spows(in1, in2)
-
-#define d0d0OpDotHatd0(in1, in2) dpows(in1, in2)
-
-#define c0c0OpDotHatc0(in1, in2) cpows(in1, in2)
-
-#define z0z0OpDotHatz0(in1, in2) zpows(in1, in2)
-
-#define s2s0OpDotHats2(in1, size, in2, out) spowa(in1, size[0]*size[1], in2, out)
-
-#define d2d0OpDotHatd2(in1, size, in2, out) dpowa(in1, size[0]*size[1], in2, out)
-
-#define c2c0OpDotHatc2(in1, size, in2, out) cpowa(in1, size[0]*size[1], in2, out)
-
-#define z2z0OpDotHatz2(in1, size, in2, out) zpowa(in1, size[0]*size[1], in2, out)
-
-#endif /* !__INT_OPDOTHAT_H__ */
diff --git a/interfaces/int_primes.h b/interfaces/int_primes.h
deleted file mode 100644
index d48a683..0000000
--- a/interfaces/int_primes.h
+++ /dev/null
@@ -1,29 +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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_PRIMES_H__
-#define __INT_PRIMES_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d0primesd2(in,out) dprimess(in,out)
-#define s0primess2(in,out) sprimess(in,out)
-
-
-
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_PRIMES_H__*/
diff --git a/interfaces/int_prod.h b/interfaces/int_prod.h
deleted file mode 100644
index dfec854..0000000
--- a/interfaces/int_prod.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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_PROD_H__
-#define __INT_PROD_H__
-
-#define s0prods0(in) sprods(in)
-
-#define d0prodd0(in) dprods(in)
-
-#define c0prodc0(in) cprods(in)
-
-#define z0prodz0(in) zprods(in)
-
-#define s2prods0(in,size) sproda(in, size[0]*size[1])
-
-#define d2prodd0(in,size) dproda(in, size[0]*size[1])
-
-#define c2prodc0(in,size) cproda(in, size[0]*size[1])
-
-#define z2prodz0(in,size) zproda(in, size[0]*size[1])
-
-
-#define s0s0prods0(in1,in2) (in2==1) ? srowprods(in1) : scolumnprods(in1)
-
-#define d0d0prodd0(in1,in2) (in2==1) ? drowprods(in1) : dcolumnprods(in1)
-
-#define c0s0prodc0(in1,in2) (in2==1) ? crowprods(in1) : ccolumnprods(in1)
-
-#define z0d0prodz0(in1,in2) (in2==1) ? zrowprods(in1) : zcolumnprods(in1)
-
-#define s2s0prods2(in1,size,in2,out) (in2==1) ? srowproda(in1,size[0],size[1],out) : scolumnproda(in1,size[0],size[1],out)
-
-#define d2d0prodd2(in1,size,in2,out) (in2==1) ? drowproda(in1,size[0],size[1],out) : dcolumnproda(in1,size[0],size[1],out)
-
-#define c2s0prodc2(in1,size,in2,out) (in2==1) ? crowproda(in1,size[0],size[1],out) : ccolumnproda(in1,size[0],size[1],out)
-
-#define z2d0prodz2(in1,size,in2,out) (in2==1) ? zrowproda(in1,size[0],size[1],out) : zcolumnproda(in1,size[0],size[1],out)
-
- /*'r' and 'c' case */
-#define s0g2prods0(in1,in2,size2) (in2[0]=='r') ? srowprods(in1) : scolumnprods(in1)
-
-#define d0g2prodd0(in1,in2,size2) (in2[0]=='r') ? drowprods(in1) : dcolumnprods(in1)
-
-#define c0g2prodc0(in1,in2,size2) (in2[0]=='r') ? crowprods(in1) : ccolumnprods(in1)
-
-#define z0g2prodz0(in1,in2,size2) (in2[0]=='r') ? zrowprods(in1) : zcolumnprods(in1)
-
-#define s2g2prods2(in1,size,in2,size2,out) (in2[0]=='r') ? srowproda(in1,size[0],size[1],out) : scolumnproda(in1,size[0],size[1],out)
-
-#define d2g2prodd2(in1,size,in2,size2,out) (in2[0]=='r') ? drowproda(in1,size[0],size[1],out) : dcolumnproda(in1,size[0],size[1],out)
-
-#define c2g2prodc2(in1,size,in2,size2,out) (in2[0]=='r') ? crowproda(in1,size[0],size[1],out) : ccolumnproda(in1,size[0],size[1],out)
-
-#define z2g2prodz2(in1,size,in2,size2,out) (in2[0]=='r') ? zrowproda(in1,size[0],size[1],out) : zcolumnproda(in1,size[0],size[1],out)
-
-
-
-
-#endif /* !__INT_PROD_H__ */
diff --git a/interfaces/int_pythag.h b/interfaces/int_pythag.h
deleted file mode 100644
index 67f559a..0000000
--- a/interfaces/int_pythag.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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_PYTHAG_H__
-#define __INT_PYTHAG_H__
-
-#define s0s0pythags0(in1,in2) spythags(in1,in2)
-
-#define d0d0pythagd0(in1,in2) dpythags(in1,in2)
-
-#define c0c0pythagc0(in1,in2) cpythags(in1,in2)
-
-#define z0z0pythagz0(in1,in2) zpythags(in1,in2)
-
-
-#endif /* !__INT_PYTHAG_H__ */
diff --git a/interfaces/int_rand.h b/interfaces/int_rand.h
deleted file mode 100644
index 85d08ea..0000000
--- a/interfaces/int_rand.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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_RAND_H__
-#define __INT_RAND_H__
-
-
-#define rands0() srands()
-
-#define randd0() drands()
-
-#define randu80() u8rands()
-
-#define randu160() u16rands()
-
-#define randi80() i8rands()
-
-#define randi160() i16rands()
-
-
-
-#define s0rands0(in) srands()
-
-#define d0randd0(in) drands()
-
-#define c0randc0(in) crands()
-
-#define z0randz0(in) zrands()
-
-#define u80randd0(in) u8rands()
-
-#define u160randd0(in) u16rands()
-
-#define i80randd0(in) i8rands()
-
-#define i160randd0(in) i16rands()
-
-
-#define s0s0rands0(in1,in2) srands()
-
-#define d0d0randd0(in,in2) drands()
-
-#define u80u80randd0(in1,in2) u8rands()
-
-#define u160u160randd0(in1,in2) u16rands()
-
-#define i80i80randd0(in1,in2) i8rands()
-
-#define i160i160randd0(in1,in2) i16rands()
-
-
-#define s0s0rands2(in1,in2,out) sranda(out,(int)in1*(int)in2)
-
-#define d0d0randd2(in1,in2,out) dranda(out,(int)in1*(int)in2)
-
-#define u80u80randd2(in1,in2,out) u8randa(out,(int)in1*(int)in2)
-
-#define u160u160randd2(in1,in2,out) u16randa(out,(int)in1*(int)in2)
-
-#define i80i80randd2(in1,in2,out) i8randa(out,(int)in1*(int)in2)
-
-#define i160i160randd2(in1,in2,out) i16randa(out,(int)in1*(int)in2)
-
-#define s2rands2(in,size,out) sranda(out, size[0]*size[1])
-
-#define d2randd2(in,size,out) dranda(out, size[0]*size[1])
-
-#define c2randc2(in,size,out) cranda(out, size[0]*size[1])
-
-#define z2randz2(in,size,out) zranda(out, size[0]*size[1])
-
-#define u82randd2(in,size,out) u8randa(out, size[0]*size[1])
-
-#define u162randd2(in,size,out) u16randa(out, size[0]*size[1])
-
-#define i82randd2(in,size,out) i8randa(out, size[0]*size[1])
-
-#define i62randd2(in,size,out) i16randa(out, size[0]*size[1])
-
-
-
-
-#endif /* !__INT_RAND_H__ */
diff --git a/interfaces/int_real.h b/interfaces/int_real.h
deleted file mode 100644
index ce097ec..0000000
--- a/interfaces/int_real.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-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
- *
- */
-
-/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
-
-#ifndef __INT_REAL_H__
-#define __INT_REAL_H__
-
-#define s0reals0(in) in
-
-#define d0reald0(in) in
-
-#define c0reals0(in) creals(in)
-
-#define z0reald0(in) zreals(in)
-
-#define u80realu80(in) in
-
-#define i80reali80(in) in
-
-#define u160realu160(in) in
-
-#define i160reali160(in) in
-
-#define s2reals2(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in[i];\
- }
-
-#define d2reald2(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in[i];\
- }
-
-#define c2reals2(in,size,out) creala(in, size[0]*size[1],out)
-
-#define z2reald2(in,size,out) zreala(in, size[0]*size[1],out)
-
-#define u82realu82(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in[i];\
- }
-
-#define i82reali82(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in[i];\
- }
-#define u162realu162(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in[i];\
- }
-
-#define i162reali162(in,size,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in[i];\
- }
-
-#endif /* !__INT_REAL_H__ */
diff --git a/interfaces/int_round.h b/interfaces/int_round.h
deleted file mode 100644
index 7d013c1..0000000
--- a/interfaces/int_round.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_ROUND_H__
-#define __INT_ROUND_H__
-
-#define s0rounds0(in) srounds(in)
-
-#define d0roundd0(in) drounds(in)
-
-#define c0roundc0(in) crounds(in)
-
-#define z0roundz0(in) zrounds(in)
-
-#define u80roundu80(in) u8rounds(in)
-
-#define i80roundi80(in) i8rounds(in)
-
-#define u160roundu160(in) u16rounds(in)
-
-#define i160roundi160(in) i16rounds(in)
-
-#define s2rounds2(in,size,out) srounda(in, size[0]*size[1], out)
-
-#define d2roundd2(in,size,out) drounda(in, size[0]*size[1], out)
-
-#define c2roundc2(in,size,out) crounda(in, size[0]*size[1], out)
-
-#define z2roundz2(in,size,out) zrounda(in, size[0]*size[1], out)
-
-#define u82roundu82(in,size,out) u8rounda(in, size[0]*size[1], out)
-
-#define i82roundi82(in,size,out) i8rounda(in, size[0]*size[1], out)
-
-#define u162roundu162(in,size,out) u16rounda(in, size[0]*size[1], out)
-
-#define i162roundi162(in,size,out) i16rounda(in, size[0]*size[1], out)
-
-#endif /* !__INT_ROUND_H__ */
diff --git a/interfaces/int_schur.h b/interfaces/int_schur.h
deleted file mode 100644
index 81324e6..0000000
--- a/interfaces/int_schur.h
+++ /dev/null
@@ -1,60 +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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_SCHUR_H__
-#define __INT_SCHUR_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d2schurd2(in1,size1,out1) dschura(in1,size1[0],0,1,out1,NULL)
-
-#define d2schurd2d2(in1,size1,out1,out2) dschura(in1,size1[0],0,2,out1,out2)
-
-#define d2g2schurd2(in1,size1,in2,size2,out1) (in2[0]=='c')? \
- dschura(in1,size1[0],1,1,out1,NULL): \
- dschura(in1,size1[0],2,1,out1,NULL)
-
-#define d2g2schurd2d0(in1,size1,in2,size2,out1) (in2[0]=='c')? \
- dschura(in1,size1[0],1,2,out1,NULL): \
- dschura(in1,size1[0],2,2,out1,NULL)
-
-#define d2g2schurd2d0d2(in1,size1,in2,size2,out1,out2) (in2[0]=='c')? \
- dschura(in1,size1[0],1,3,out1,out2): \
- dschura(in1,size1[0],2,3,out1,out2)
-
-#define d2d2schurd2d2(in1,size1,in2,size2,out1,out2) dgschura(in1,size1[0], \
- in2,0,2,out1,out2,NULL,NULL)
-
-#define d2d2schurd2d2d2d2(in1,size1,in2,size2,out1,out2,out3,out4) \
- dgschura(in1,size1[0],in2,0,4,out1,out2,out3,out4)
-
-#define d2d2g2schurd0(in1,size1,in2,size2,in3,size3) dgschura(in1,size1[0], \
- in2,1,1,NULL,NULL,NULL,NULL)
-
-#define d2d2g2schurd2d0(in1,size1,in2,size2,in3,size3,out1) \
- dgschura(in1,size1[0],in2,1,2,out1,NULL,NULL,NULL)
-
-#define d2d2g2schurd2d2d0(in1,size1,in2,size2,in3,size3,out1,out2) \
- dgschura(in1,size1[0],in2,1,3,out1,out2,NULL,NULL)
-
-#define d2d2g2schurd2d2d2d0(in1,size1,in2,size2,in3,size3,out1,out2,out3) \
- dgschura(in1,size1[0],in2,1,4,out1,out2,out3,NULL)
-
-#define d2d2g2schurd2d2d2d2d0(in1,size1,in2,size2,in3,size3,out1,out2,out3, \
- out4) dgschura(in1,size1[0],in2,1,5,out1,out2,out3,out4)
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_SCHUR_H__*/
diff --git a/interfaces/int_sec.h b/interfaces/int_sec.h
deleted file mode 100644
index b07cdfc..0000000
--- a/interfaces/int_sec.h
+++ /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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_SEC_H__
-#define __INT_SEC_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d2secd2(in,size,out) dseca(in,size[1],out)
-#define d0secd0(in) dsecs(in)
-#define s2secs2(in,size,out) sseca(in,size[1],out)
-#define s0secs0(in) ssecs(in)
-
-#define z2secz2(in,size,out) zseca(in,size[1],out)
-#define z0secz0(in) zsecs(in)
-#define c2secc2(in,size,out) cseca(in,size[1],out)
-#define c0secc0(in) csecs(in)
-
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_SEC__*/
diff --git a/interfaces/int_secd.h b/interfaces/int_secd.h
deleted file mode 100644
index 9304eb0..0000000
--- a/interfaces/int_secd.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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_SECD_H__
-#define __INT_SECD_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d2secdd2(in,size,out) dsecda(in,size[1],out)
-#define d0secdd0(in) dsecds(in)
-#define s2secds2(in,size,out) ssecda(in,size[1],out)
-#define s0secds0(in) ssecds(in)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_SECD_H__*/
diff --git a/interfaces/int_sech.h b/interfaces/int_sech.h
deleted file mode 100644
index 1cd4221..0000000
--- a/interfaces/int_sech.h
+++ /dev/null
@@ -1,32 +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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_SECH_H__
-#define __INT_SECH_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define d2sechd2(in,size,out) dsecha(in,size[1],out)
-#define s2sechs2(in,size,out) ssecha(in,size[1],out)
-#define d0sechd0(in) dsechs(in)
-#define s0sechs0(in) ssechs(in)
-#define z0sechz0(in) zsechs(in)
-#define z2sechz2(in,size,out) zsechs(in,size[1],out)
-#define c0sechc0(in) csechs(in)
-#define c2sechc2(in,size,out) csechs(in,size[1],out)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_SECH_H__*/
diff --git a/interfaces/int_sign.h b/interfaces/int_sign.h
deleted file mode 100644
index 1003fe7..0000000
--- a/interfaces/int_sign.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_SIGN_H__
-#define __INT_SIGN_H__
-
-#define s0signs0(in) ssigns(in)
-
-#define d0signd0(in) dsigns(in)
-
-#define c0signc0(in) csigns(in)
-
-#define z0signz0(in) zsigns(in)
-
-#define u80signi80(in) u8signs(in)
-
-#define i80signi80(in) i8signs(in)
-
-#define u160signi160(in) u16signs(in)
-
-#define i160signi160(in) i16signs(in)
-
-#define s2signs2(in,size,out) ssigna(in, size[0]*size[1], out)
-
-#define d2signd2(in,size,out) dsigna(in, size[0]*size[1], out)
-
-#define c2signc2(in,size,out) csigna(in, size[0]*size[1], out)
-
-#define z2signz2(in,size,out) zsigna(in, size[0]*size[1], out)
-
-#define u82signi82(in,size,out) u8signa(in, size[0]*size[1], out)
-
-#define i82signi82(in,size,out) i8signa(in, size[0]*size[1], out)
-
-#define u162signi162(in,size,out) u16signa(in, size[0]*size[1], out)
-
-#define i162signi162(in,size,out) i16signa(in, size[0]*size[1], out)
-
-#endif /* !__INT_SIGN_H__ */
diff --git a/interfaces/int_sin.h b/interfaces/int_sin.h
deleted file mode 100644
index 4132704..0000000
--- a/interfaces/int_sin.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_SIN_H__
-#define __INT_SIN_H__
-
-#define s0sins0(in) ssins(in)
-
-#define d0sind0(in) dsins(in)
-
-#define c0sinc0(in) csins(in)
-
-#define z0sinz0(in) zsins(in)
-
-#define u80sins0(in) u8sins(in)
-
-#define i80sins0(in) i8sins(in)
-
-#define u160sins0(in) u16sins(in)
-
-#define i160sins0(in) i16sins(in)
-
-#define s2sins2(in,size,out) ssina(in, size[0]*size[1], out)
-
-#define d2sind2(in,size,out) dsina(in, size[0]*size[1], out)
-
-#define c2sinc2(in,size,out) csina(in, size[0]*size[1], out)
-
-#define z2sinz2(in,size,out) zsina(in, size[0]*size[1], out)
-
-#define u82sins2(in,size,out) u8sina(in, size[0]*size[1], out)
-
-#define i82sins2(in,size,out) i8sina(in, size[0]*size[1], out)
-
-#define u162sins2(in,size,out) u16sina(in, size[0]*size[1], out)
-
-#define i162sins2(in,size,out) i16sina(in, size[0]*size[1], out)
-
-#endif /* !__INT_SIN_H__ */
diff --git a/interfaces/int_sinh.h b/interfaces/int_sinh.h
deleted file mode 100644
index c5682a4..0000000
--- a/interfaces/int_sinh.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_SINH_H__
-#define __INT_SINH_H__
-
-#define s0sinhs0(in) ssinhs(in)
-
-#define d0sinhd0(in) dsinhs(in)
-
-#define c0sinhc0(in) csinhs(in)
-
-#define z0sinhz0(in) zsinhs(in)
-
-#define u80sinhs0(in) u8sinhs(in)
-
-#define i80sinhs0(in) i8sinhs(in)
-
-#define u160sinhs0(in) u16sinhs(in)
-
-#define i160sinhs0(in) i16sinhs(in)
-
-#define s2sinhs2(in,size,out) ssinha(in, size[0]*size[1], out)
-
-#define d2sinhd2(in,size,out) dsinha(in, size[0]*size[1], out)
-
-#define c2sinhc2(in,size,out) csinha(in, size[0]*size[1], out)
-
-#define z2sinhz2(in,size,out) zsinha(in, size[0]*size[1], out)
-
-#define u82sinhs2(in,size,out) u8sinha(in, size[0]*size[1], out)
-
-#define i82sinhs2(in,size,out) i8sinha(in, size[0]*size[1], out)
-
-#define u162sinhs2(in,size,out) u16sinha(in, size[0]*size[1], out)
-
-#define i162sinhs2(in,size,out) i16sinha(in, size[0]*size[1], out)
-
-#endif /* !__INT_SINH_H__ */
diff --git a/interfaces/int_size.h b/interfaces/int_size.h
deleted file mode 100644
index c529a97..0000000
--- a/interfaces/int_size.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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
- *
- */
-/* ADDED BY NUTRICATO, BUT WAITING FOR THE AUTOMATIC GENERATION OF IT
- AS SHOWN BELOW MANY CASES ARE MISSING. SCALAR RANDOM GENERATOR NOT
- IMPLEMENTED YET, SEE DRANDS.C
-*/
-
-
-#ifndef __INT_SIZE_H__
-#define __INT_SIZE_H__
-
-#define s0sizes2(in,out) out[0]=1.0f;out[1]=1.0f;
-
-#define d0sized2(in,out) out[0]=1.0;out[1]=1.0;
-
-#define c0sizes2(in,out) out[0]=1.0f;out[1]=1.0f;
-
-#define z0sized2(in,out) out[0]=1.0;out[1]=1.0;
-
-#define s2sizes2(in,size,out) out[0]=size[0];out[1]=size[1];
-
-#define d2sized2(in,size,out) out[0]=size[0];out[1]=size[1];
-
-#define c2sizes2(in,size,out) out[0]=size[0];out[1]=size[1];
-
-#define z2sized2(in,size,out) out[0]=size[0];out[1]=size[1];
-
-#define s0sizes0s0(in,out1,out2) out1=1.0f;out2=1.0f;
-
-#define d0sized0d0(in,out1,out2) out1=1.0;out2=1.0;
-
-#define c0sizes0s0(in,out1,out2) out1=1.0f;out2=1.0f;
-
-#define z0sized0d0(in,out1,out2) out1=1.0;out2=1.0;
-
-#define s2sizes0s0(in,size,out1,out2) out1=size[0];out2=size[1];
-
-#define d2sized0d0(in,size,out1,out2) out1=size[0];out2=size[1];
-
-#define c2sizes0s0(in,size,out1,out2) out1=size[0];out2=size[1];
-
-#define z2sized0d0(in,size,out1,out2) out1=size[0];out2=size[1];
-
-#define s0s0sizes0(in1,in2) 1.0f
-
-#define d0d0sized0(in1,in2) 1.
-
-#define c0s0sizes0(in1,in2) 1.0f
-
-#define z0d0sized0(in1,in2) 1.
-
-#define s2s0sizes0(in1,size,in2) (in2==1) ? size[0] : size[1]
-
-#define d2d0sized0(in1,size,in2) (in2==1) ? size[0] : size[1]
-
-#define c2s0sizes0(in1,size,in2) (in2==1) ? size[0] : size[1]
-
-#define z2d0sized0(in1,size,in2) (in2==1) ? size[0] : size[1]
-
-#define d2g2sized0(in1,size1,in2,size2) dallsizea(size1, in2)
-#endif /* !__INT_SIZE_H__ */
-
-
diff --git a/interfaces/int_sqrt.h b/interfaces/int_sqrt.h
deleted file mode 100644
index 090d982..0000000
--- a/interfaces/int_sqrt.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-** -*- C -*-
-**
-** int_sqrt.h
-** Made by Raffaele Nutricato <raffaele.nutricato@tiscali.it>
-**
-**
-** Copyright POLIBA 2008
-*/
-/*
- 1. Search for sqrt in INIT_FillSCI2LibCDirs.sci
- 2. Search for // --- Function List Class. --- in INIT_FillSCI2LibCDirs.sci
- 3. You will find
- PrintStringInfo('s0'+ArgSeparator+'s0',ClassFileName,'file','y');
- PrintStringInfo('s0'+ArgSeparator+'c0',ClassFileName,'file','y');
- PrintStringInfo('d0'+ArgSeparator+'d0',ClassFileName,'file','y');
- PrintStringInfo('d0'+ArgSeparator+'z0',ClassFileName,'file','y');
- PrintStringInfo('c0'+ArgSeparator+'c0',ClassFileName,'file','y');
- PrintStringInfo('z0'+ArgSeparator+'z0',ClassFileName,'file','y');
-
- PrintStringInfo('s2'+ArgSeparator+'s2',ClassFileName,'file','y');
- PrintStringInfo('s2'+ArgSeparator+'c2',ClassFileName,'file','y');
- PrintStringInfo('d2'+ArgSeparator+'d2',ClassFileName,'file','y');
- PrintStringInfo('d2'+ArgSeparator+'z2',ClassFileName,'file','y');
- PrintStringInfo('c2'+ArgSeparator+'c2',ClassFileName,'file','y');
- PrintStringInfo('z2'+ArgSeparator+'z2',ClassFileName,'file','y');
- 4. These are all the functions to be implemented.
- 5. According to functions available in src you have to generate the mapping between
- functions in step3 and functions in src.
-*/
-
-#ifndef __INT_SQRT_H__
-#define __INT_SQRT_H__
-
-#define s0sqrts0(in) ssqrts(in)
-
-#define s0sqrtc0(in) csqrts(FloatComplex(in,0))
-
-#define d0sqrtd0(in) dsqrts(in)
-
-#define d0sqrtz0(in) zsqrts(DoubleComplex(in,0))
-
-#define c0sqrtc0(in) csqrts(in)
-
-#define z0sqrtz0(in) zsqrts(in)
-
-
-
-#define s2sqrts2(in,size,out) ssqrta(in, size[0]*size[1], out)
-
-#define s2sqrtc2(in,size,out) csqrta(FloatComplexMatrix(in,0), size[0]*size[1], out)
-
-#define d2sqrtd2(in,size,out) dsqrta(in, size[0]*size[1], out)
-
-#define d2sqrtz2(in,size,out) zsqrta(DoubleComplexMatrix(in,0), size[0]*size[1], out)
-
-#define c2sqrtc2(in,size,out) csqrta(in, size[0]*size[1], out)
-
-#define z2sqrtz2(in,size,out) zsqrta(in, size[0]*size[1], out)
-
-
-
-
-#endif /* !__INT_SQRT_H__ */
diff --git a/interfaces/int_stdevf.h b/interfaces/int_stdevf.h
deleted file mode 100644
index 940b415..0000000
--- a/interfaces/int_stdevf.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Allan SIMON
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you 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_STDEVF_H__
-#define __INT_STDEVF_H__
-
-#define s0s0stdevfs0(in1,in2) sstdevfs(in1,in2)
-
-#define d0d0stdevfd0(in1,in2) dstdevfs(in1,in2)
-
-#define c0s0stdevfc0(in1,in2) cstdevfs(in1,FloatComplex(in2 , 0.0f))
-
-#define z0d0stdevfz0(in1,in2) zstdevfs(in1,DoubleComplex(in2, 0.0))
-
-#define s2s2stdevfs0(in1, size1, in2, size2) sstdevfa(in1, size1[0],size1[1], in2)
-
-#define d2d2stdevfd0(in1, size1, in2, size2) dstdevfa(in1, size1[0],size1[1], in2)
-
-#define c2s2stdevfc0(in1, size1, in2, size2) cstdevfcs(in1, size1[0], size1[1], in2)
-
-#define z2d2stdevfz0(in1, size1, in2, size2) zstdevfzd(in1, size1[0], size1[1], in2)
-
-
-/*by rows or columns */
-
-#define s0s0s0stdevfs0(in1,in2,in3) (in3==1) ? srowstdevfs(in1,in2) : scolumnstdevfs(in1,in2)
-
-#define d0d0d0stdevfd0(in1,in2,in3) (in3==1) ? drowstdevfs(in1,in2) : dcolumnstdevfs(in1,in2)
-
-#define c0s0s0stdevfc0(in1,in2,in3) (in3==1) ? crowstdevfs(in1,FloatComplex(in2 , 0.0f)) : ccolumnstdevfs(in1,FloatComplex(in2 , 0.0f))
-
-#define z0d0d0stdevfz0(in1,in2,in3) (in3==1) ? zrowstdevfs(in1,DoubleComplex(in2, 0.0)) : zcolumnstdevfs(in1,DoubleComplex(in2, 0.0))
-
-
-#define s2s2s0stdevfs2(in1, size1, in2, size2,in3,out) (in3==1) ? srowstdevfa(in1,size1[0],size1[1],in2,out) : scolumnstdevfa(in1,size1[0],size1[1],in2,out)
-
-#define d2d2d0stdevfd2(in1, size1, in2, size2,in3,out) (in3==1) ? drowstdevfa(in1,size1[0],size1[1],in2,out) : dcolumnstdevfa(in1,size1[0],size1[1],in2,out)
-
-
-
-
-
-#define c2s2s0stdevfc2(in1, size1, in2, size2,in3,out) if (in3 == 1) {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- crowstdevfa(in1,size1[0],size1[1],FloatComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
- free(temp);\
- }\
- else\
- {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- ccolumnstdevfa(in1,size1[0],size1[1],FloatComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
- free(temp);\
- }
-
-#define z2d2d0stdevfz2(in1, size1, in2, size2,in3,out) if (in3 == 1) {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zrowstdevfa(in1,size1[0],size1[1],DoubleComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
- free(temp);\
- }\
- else\
- {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zcolumnstdevfa(in1,size1[0],size1[1],DoubleComplexMatrix(in2,temp,size1[0]*size1[1]),out);\
- free(temp);\
- }
-
-
-/**/
-
-
-#define s0c0stdevfs0(in1,in2) creals (cstdevfs(FloatComplex(in1 , 0.0f),in2))
-#define s0c0stdevfc0(in1,in2) cstdevfs(FloatComplex(in1 , 0.0f),in2)
-
-#define d0z0stdevfd0(in1,in2) zreals(zstdevfs(DoubleComplex(in1, 0.0 ),in2)
-#define d0z0stdevfz0(in1,in2) zstdevfs(DoubleComplex(in1, 0.0 ),in2)
-
-
-#define c0c0stdevfc0(in1,in2) cstdevfs(in1,in2)
-
-#define z0z0stdevfz0(in1,in2) zstdevfs(in1,in2)
-
-
-#define s2c2stdevfs0(in1, size1, in2, size2) creals(cstdevfsc(in1, size1[0],size1[1], in2))
-#define s2c2stdevfc0(in1, size1, in2, size2) cstdevfsc(in1, size1[0],size1[1], in2)
-
-#define d2z2stdevfd0(in1, size1, in2, size2) zreals(zstdevfdz(in1, size1[0],size1[1], in2))
-#define d2z2stdevfz0(in1, size1, in2, size2) zstdevfdz(in1, size1[0],size1[1], in2)
-
-#define c2c2stdevfc0(in1, size1, in2, size2) cstdevfa(in1, size1[0], size1[1], in2)
-
-#define z2z2stdevfz0(in1, size1, in2, size2) zstdevfa(in1, size1[0], size1[1], in2)
-
-
-/*by rows or columns */
-
-#define s0c0s0stdevfs0(in1,in2,in3) (in3==1) ? creals(crowstdevfs(FloatComplex(in1, 0.0f),in2)) : creals(ccolumnstdevfs(FloatComplex(in1, 0.0f),in2))
-
-#define d0z0d0stdevfd0(in1,in2,in3) (in3==1) ? zreals(zrowstdevfs(DoubleComplex(in1, 0.0),in2)) : zreals(zcolumnstdevfs(DoubleComplex(in1, 0.0),in2))
-
-#define c0c0s0stdevfc0(in1,in2,in3) (in3==1) ? crowstdevfs(in1,in2) : ccolumnstdevfs(in1,in2)
-
-#define z0z0d0stdevfz0(in1,in2,in3) (in3==1) ? zrowstdevfs(in1,in2) : zcolumnstdevfs(in1,in2)
-
-
-#define s2c2s0stdevfs2(in1, size1, in2, size2,in3,out) if (in3 == 1) {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- crowstdevfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,FloatComplexMatrix(out,temp,size1[0]*size1[1]));\
- free(temp);\
- }\
- else\
- {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- ccolumnstdevfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,FloatComplexMatrix(out,temp,size1[0]*size1[1]));\
- free(temp);\
- }
-
-#define d2z2d0stdevfd2(in1, size1, in2, size2,in3,out) if (in3 == 1) {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zrowstdevfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,DoubleComplexMatrix(out,temp,size1[0]));\
- free(temp);\
- }\
- else\
- {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zcolumnstdevfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,DoubleComplexMatrix(out,temp,size1[0]));\
- free(temp);\
- }
-
-
-/*complex output*/
-
-#define s2c2s0stdevfc2(in1, size1, in2, size2,in3,out) if (in3 == 1) {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- crowstdevfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }\
- else\
- {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- ccolumnstdevfa(FloatComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }
-
-#define d2z2d0stdevfz2(in1, size1, in2, size2,in3,out) if (in3 == 1) {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zrowstdevfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }\
- else\
- {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size1[0],size1[1],0);\
- zcolumnstdevfa(DoubleComplexMatrix(in1,temp,size1[0]*size1[1]),size1[0],size1[1],in2,out);\
- free(temp);\
- }
-
-
-
-#define c2c2s0stdevfc2(in1, size1, in2, size2,in3,out) (in3==1) ? crowstdevfa(in1,size1[0],size1[1],in2,out) : ccolumnstdevfa(in1,size1[0],size1[1],in2,out)
-
-#define z2z2d0stdevfz2(in1, size1, in2, size2,in3,out) (in3==1) ? zrowstdevfa(in1,size1[0],size1[1],in2,out) : zcolumnstdevfa(in1,size1[0],size1[1],in2,out)
-
-
-/**/
-
-#endif /* !__INT_STDEVF_H__ */
diff --git a/interfaces/int_string.h b/interfaces/int_string.h
deleted file mode 100644
index 7cea779..0000000
--- a/interfaces/int_string.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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_STRING_H__
-#define __INT_STRING_H__
-
-#include <stdio.h>
-
-#define s0stringg0(in,out) sstrings(in,out)
-
-#define d0stringg0(in,out) dstrings(in,out)
-
-#define c0stringg0(in,out) cstrings(in,out)
-
-#define z0stringg0(in,out) zstrings(in,out)
-
-#define u80stringg0(in,out) u8strings(in,out)
-
-#define i80stringg0(in,out) i8strings(in,out)
-
-#define u160stringg0(in,out) u16strings(in,out)
-
-#define i160stringg0(in,out) i16strings(in,out)
-
-#define s2stringg2(in,size,out) sstringa(in,size[0]*size[1],out)
-
-#define d2stringg2(in,size,out) dstringa(in,size[0]*size[1],out)
-
-#define c2stringg2(in,size,out) cstringa(in,size[0]*size[1],out)
-
-#define z2stringg2(in,size,out) zstringa(in,size[0]*size[1],out)
-
-#define u82stringg2(in,size,out) u8stringa(in,size[0]*size[1],out)
-
-#define i82stringg2(in,size,out) i8stringa(in,size[0]*size[1],out)
-
-#define u162stringg2(in,size,out) u16stringa(in,size[0]*size[1],out)
-
-#define i162stringg2(in,size,out) i16stringa(in,size[0]*size[1],out)
-
-#endif /* __INT_STRING_H__ */
diff --git a/interfaces/int_strrchr.h b/interfaces/int_strrchr.h
deleted file mode 100644
index 7ec94eb..0000000
--- a/interfaces/int_strrchr.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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_STRRCHR_H__
-#define __INT_STRRCHR_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define g2g2strrchrg2(str,size,key,size2,out) gstrrchra(str,size[1],key,size2[1],out)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_STRRCHR_H__*/
diff --git a/interfaces/int_strrev.h b/interfaces/int_strrev.h
deleted file mode 100644
index 8429f6a..0000000
--- a/interfaces/int_strrev.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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_STRREV_H__
-#define __INT_STRREV_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define g2strrevg2(str,size,out) gstrreva(str,size[1],out)
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_STRREV_H__*/
diff --git a/interfaces/int_strsubst.h b/interfaces/int_strsubst.h
deleted file mode 100644
index c8dd67a..0000000
--- a/interfaces/int_strsubst.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: Shamik Guha
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_STRSUBST_H__
-#define __INT_STRSUBST_H__
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-#define g2g2g2g2strsubstg2(str,size,search,size2,rep,size3,flagmain,size4,out) gstrsubsta(str,size[1],search,size2[1],rep,size3[1],flagmain,size4[1],out)
-#define g2g2g2strsubstg2(in,size,search,size2,rep,size3,out) gstrsubsta(in,size[1],search,size2[1],rep,size3[1],'s',size3[1],out)
-
-
-
- #ifdef __cplusplus
- } /* extern "C" */
- #endif
-
-#endif /*__INT_STRSUBST_H__*/
diff --git a/interfaces/int_sum.h b/interfaces/int_sum.h
deleted file mode 100644
index 08f01fe..0000000
--- a/interfaces/int_sum.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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_SUM_H__
-#define __INT_SUM_H__
-
-#define s0sums0(in) ssums(in)
-
-#define d0sumd0(in) dsums(in)
-
-#define c0sumc0(in) csums(in)
-
-#define z0sumz0(in) zsums(in)
-
-#define s2sums0(in,size) ssuma(in, size[0]*size[1])
-
-#define d2sumd0(in,size) dsuma(in, size[0]*size[1])
-
-#define c2sumc0(in,size) csuma(in, size[0]*size[1])
-
-#define z2sumz0(in,size) zsuma(in, size[0]*size[1])
-
-
-#define s0s0sums0(in1,in2) (in2==1) ? srowsums(in1) : scolumnsums(in1)
-
-#define d0d0sumd0(in1,in2) (in2==1) ? drowsums(in1) : dcolumnsums(in1)
-
-#define c0s0sumc0(in1,in2) (in2==1) ? crowsums(in1) : ccolumnsums(in1)
-
-#define z0d0sumz0(in1,in2) (in2==1) ? zrowsums(in1) : zcolumnsums(in1)
-
-#define s2s0sums2(in1,size,in2,out) (in2==1) ? srowsuma(in1,size[0],size[1],out) : scolumnsuma(in1,size[0],size[1],out)
-
-#define d2d0sumd2(in1,size,in2,out) (in2==1) ? drowsuma(in1,size[0],size[1],out) : dcolumnsuma(in1,size[0],size[1],out)
-
-#define c2s0sumc2(in1,size,in2,out) (in2==1) ? crowsuma(in1,size[0],size[1],out) : ccolumnsuma(in1,size[0],size[1],out)
-
-#define z2d0sumz2(in1,size,in2,out) (in2==1) ? zrowsuma(in1,size[0],size[1],out) : zcolumnsuma(in1,size[0],size[1],out)
-
-
-/*'r' and 'c' case */
-#define s0g2sums0(in1,in2,size2) (in2[0]=='r') ? srowsums(in1) : scolumnsums(in1)
-
-#define d0g2sumd0(in1,in2,size2) (in2[0]=='r') ? drowsums(in1) : dcolumnsums(in1)
-
-#define c0g2sumc0(in1,in2,size2) (in2[0]=='r') ? crowsums(in1) : ccolumnsums(in1)
-
-#define z0g2sumz0(in1,in2,size2) (in2[0]=='r') ? zrowsums(in1) : zcolumnsums(in1)
-
-#define s2g2sums2(in1,size,in2,size2,out) (in2[0]=='r') ? srowsuma(in1,size[0],size[1],out) : scolumnsuma(in1,size[0],size[1],out)
-
-#define d2g2sumd2(in1,size,in2,size2,out) (in2[0]=='r') ? drowsuma(in1,size[0],size[1],out) : dcolumnsuma(in1,size[0],size[1],out)
-
-#define c2g2sumc2(in1,size,in2,size2,out) (in2[0]=='r') ? crowsuma(in1,size[0],size[1],out) : ccolumnsuma(in1,size[0],size[1],out)
-
-#define z2g2sumz2(in1,size,in2,size2,out) (in2[0]=='r') ? zrowsuma(in1,size[0],size[1],out) : zcolumnsuma(in1,size[0],size[1],out)
-
-
-#endif /* !__INT_SUM_H__ */
diff --git a/interfaces/int_syslin.h b/interfaces/int_syslin.h
deleted file mode 100644
index 3f74ea6..0000000
--- a/interfaces/int_syslin.h
+++ /dev/null
@@ -1,78 +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: Siddhesh Wani
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
-*/
-
-#ifndef __INT_SYSLIN_H__
-#define __INT_SYSLIN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define g2d2d2d2syslinss2(in1,size1,in2,size2,in3,size3,in4,size4,out) \
- dsyslina(in1,in2,size2[0],in3,size3[1],in4,size4[0],NULL,NULL,out)
-
-#define g2d2d2d2d2syslinss2(in1,size1,in2,size2,in3,size3,in4,size4,in5, \
- size5,out) dsyslina(in1,in2,size2[0],in3,size3[1],in4,size4[0],in5,NULL,out)
-
-#define g2d2d2d2d2d2syslinss2(in1,size1,in2,size2,in3,size3,in4,size4, \
- in5,size5,in6,size6,out) dsyslina(in1,in2,size2[0],in3,size3[1],in4, \
- size4[0],in5,in6,out)
-//
-#define g2d0d0d0syslinss2(in1,size1,in2,in3,in4,out) \
- dsyslina(in1,&in2,1,&in3,1,&in4,1,NULL,NULL,out)
-
-#define g2d0d2d0syslinss2(in1,size1,in2,in3,size3,in4,out) \
- dsyslina(in1,&in2,1,in3,size3[1],&in4,1,NULL,NULL,out)
-
-#define g2d0d0d2syslinss2(in1,size1,in2,in3,in4,size4,out) \
- dsyslina(in1,&in2,1,&in3,1,in4,size4[0],NULL,NULL,out)
-
-#define g2d0d2d2syslinss2(in1,size1,in2,in3,size3,in4,size4,out) \
- dsyslina(in1,&in2,1,in3,size3[1],in4,size4[0],NULL,NULL,out)
-//
-#define g2d0d0d0d0syslinss2(in1,size1,in2,in3,in4,in5,out) \
- dsyslina(in1,&in2,1,&in3,1,&in4,1,&in5,NULL,out)
-
-#define g2d0d2d0d2syslinss2(in1,size1,in2,in3,size3,in4,in5,size5, \
- out) dsyslina(in1,&in2,1,in3,size3[1],&in4,1,&in5,NULL,out)
-
-#define g2d0d0d2d2syslinss2(in1,size1,in2,in3,in4,size4,in5,size5, \
- out) dsyslina(in1,&in2,1,&in3,1,in4,size4[0],in5,NULL,out)
-
-#define g2d0d2d2d2syslinss2(in1,size1,in2,in3,size3,in4,size4,in5, \
- size5, out) dsyslina(in1,&in2,1,in3,size3[1],in4,size4[0],in5,NULL,out)
-
-#define g2d2d2d2d0syslinss2(in1,size1,in2,size2,in3,size3,in4,size4, \
- in5,out) dsyslina(in1,in2,size2[0],in3,size3[1],in4,size4[0],&in5,NULL,out)
-//
-#define g2d0d0d0d0d0syslinss2(in1,size1,in2,in3,in4,in5,in6,out) \
- dsyslina(in1,&in2,1,&in3,1,&in4,1,&in5,&in6,out)
-
-#define g2d0d2d0d2d0syslinss2(in1,size1,in2,in3,size3,in4,in5,size5, \
- in6,out) dsyslina(in1,&in2,1,in3,size3[1],in4,1,in5,&in6,out)
-
-#define g2d0d0d2d2d0syslinss2(in1,size1,in2,in3,in4,size4,in5,size5, \
- in6,out) dsyslina(in1,&in2,1,in3,1,in4,size4[0],in5,&in6,out)
-
-#define g2d0d2d2d2d0syslinss2(in1,size1,in2,in3,size3,in4,size4,in5, \
- size5,in6,out) dsyslina(in1,&in2,1,in3,size3[1],in4,size4[0],in5,&in6,out)
-
-#define g2d2d2d2d0d2syslinss2(in1,size1,in2,size2,in3,size3,in4,size4, \
- in5,in6,size6,out) dsyslina(in1,in2,size2[0],in3,size3[1],in4,size4[0], \
- &in5,in6,out)
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-
-#endif /*__INT_SYSLIN_H__*/ \ No newline at end of file
diff --git a/interfaces/int_tan.h b/interfaces/int_tan.h
deleted file mode 100644
index ddfb4ca..0000000
--- a/interfaces/int_tan.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_TAN_H__
-#define __INT_TAN_H__
-
-#define s0tans0(in) stans(in)
-
-#define d0tand0(in) dtans(in)
-
-#define c0tanc0(in) ctans(in)
-
-#define z0tanz0(in) ztans(in)
-
-#define u80tans0(in) u8tans(in)
-
-#define i80tans0(in) i8tans(in)
-
-#define u160tans0(in) u16tans(in)
-
-#define i160tans0(in) i16tans(in)
-
-#define s2tans2(in,size,out) stana(in, size[0]*size[1], out)
-
-#define d2tand2(in,size,out) dtana(in, size[0]*size[1], out)
-
-#define c2tanc2(in,size,out) ctana(in, size[0]*size[1], out)
-
-#define z2tanz2(in,size,out) ztana(in, size[0]*size[1], out)
-
-#define u82tans2(in,size,out) u8tana(in, size[0]*size[1], out)
-
-#define i82tans2(in,size,out) i8tana(in, size[0]*size[1], out)
-
-#define u162tans2(in,size,out) u16tana(in, size[0]*size[1], out)
-
-#define i162tans2(in,size,out) i16tana(in, size[0]*size[1], out)
-
-#endif /* !__INT_TAN_H__ */
diff --git a/interfaces/int_tanh.h b/interfaces/int_tanh.h
deleted file mode 100644
index e60e2c2..0000000
--- a/interfaces/int_tanh.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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_TANH_H__
-#define __INT_TANH_H__
-
-#define s0tanhs0(in) stanhs(in)
-
-#define d0tanhd0(in) dtanhs(in)
-
-#define c0tanhc0(in) ctanhs(in)
-
-#define z0tanhz0(in) ztanhs(in)
-
-#define u80tanhs0(in) u8tanhs(in)
-
-#define i80tanhs0(in) i8tanhs(in)
-
-#define u160tanhs0(in) u16tanhs(in)
-
-#define i160tanhs0(in) i16tanhs(in)
-
-#define s2tanhs2(in,size,out) stanha(in, size[0]*size[1], out)
-
-#define d2tanhd2(in,size,out) dtanha(in, size[0]*size[1], out)
-
-#define c2tanhc2(in,size,out) ctanha(in, size[0]*size[1], out)
-
-#define z2tanhz2(in,size,out) ztanha(in, size[0]*size[1], out)
-
-#define u82tanhs2(in,size,out) u8tanha(in, size[0]*size[1], out)
-
-#define i82tanhs2(in,size,out) i8tanha(in, size[0]*size[1], out)
-
-#define u162tanhs2(in,size,out) u16tanha(in, size[0]*size[1], out)
-
-#define i162tanhs2(in,size,out) i16tanha(in, size[0]*size[1], out)
-
-#endif /* !__INT_TANH_H__ */
diff --git a/interfaces/int_trace.h b/interfaces/int_trace.h
deleted file mode 100644
index 58c4299..0000000
--- a/interfaces/int_trace.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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_TRACE_H__
-#define __INT_TRACE_H__
-
-#define s0traces0(in) in
-
-#define d0traced0(in) in
-
-#define c0tracec0(in) in
-
-#define u80traceu80(in) (uint8)in
-
-#define u160traceu160(in) (uint16)in
-
-#define i80tracei80(in) (int8)in
-
-#define i160tracei160(in) (int16)in
-
-#define s2traces0(in,size) stracea(in, size[0])
-
-#define d2traced0(in,size) dtracea(in, size[0])
-
-#define c2tracec0(in,size) ctracea(in, size[0])
-
-#define z2tracez0(in,size) ztracea(in, size[0])
-
-#define u82traceu80(in,size) u8tracea(in, size[0])
-
-#define u162traceu160(in,size) u16tracea(in, size[0])
-
-#define i82tracei80(in,size) i8tracea(in, size[0])
-
-#define i162tracei160(in,size) i16trace(in,size[0])
-
-#endif /* !__INT_TRACE_H__ */
diff --git a/interfaces/int_transpose.h b/interfaces/int_transpose.h
deleted file mode 100644
index 3fd328f..0000000
--- a/interfaces/int_transpose.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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_TRANSPOSE_H__
-#define __INT_TRANSPOSE_H__
-
-#define s0transposes0(in) in
-
-#define d0transposed0(in) in
-
-#define c0transposec0(in) in
-
-#define z0transposez0(in) in
-
-#define u80transposeu80(in) (uint8)in
-
-#define u160transposeu160(in) (uint16)in
-
-#define i80transposei80(in) (int8)in
-
-#define i160transposei160(in) (int16)in
-
-#define s2transposes2(in,size,out) stransposea(in, size[0], size[1], out)
-
-#define d2transposed2(in,size,out) dtransposea(in, size[0], size[1], out)
-
-#define c2transposec2(in,size,out) ctransposea(in, size[0], size[1], out)
-
-#define z2transposez2(in,size,out) ztransposea(in, size[0], size[1], out)
-
-
-#define u82transposeu82(in,size,out) u8transposea(in, size[0], size[1], out)
-
-#define u162transposeu162(in,size,out) u16transposea(in, size[0], size[1], out)
-
-#define i82transposei82(in,size,out) i8transposea(in, size[0], size[1], out)
-
-#define i162transposei162(in,size,out) i16transposea(in, size[0], size[1], out)
-
-#endif /* !__INT_TRANSPOSE_H__ */
diff --git a/interfaces/int_tril.h b/interfaces/int_tril.h
deleted file mode 100644
index 6d69451..0000000
--- a/interfaces/int_tril.h
+++ /dev/null
@@ -1,62 +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_TRIL_H__
-#define __INT_TRIL_H__
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0trild0(in) in
-#define s0trils0(in) in
-#define u80trilu80(in) in
-#define u160trilu160(in) in
-#define i80trili80(in) in
-#define i160trili160(in) in
-
-#define d0d0trild0(in1, in2) (in2 == 0 ? in1 : 0)
-#define s0s0trils0(in1, in2) (in2 == 0 ? in1 : 0)
-#define u80u80trilu80(in1, in2) (in2 == 0 ? in1 : 0)
-#define i80i80trili80(in1, in2) (in2 == 0 ? in1 : 0)
-#define u160u160trilu160(in1, in2) (in2 == 0 ? in1 : 0)
-#define i160i160trili160(in1, in2) (in2 == 0 ? in1 : 0)
-#define u80d0trilu80(in1, in2) (in2 == 0 ? in1 : 0)
-#define i80d0trili80(in1, in2) (in2 == 0 ? in1 : 0)
-#define u160d0trilu160(in1, in2) (in2 == 0 ? in1 : 0)
-#define i160d0trili160(in1, in2) (in2 == 0 ? in1 : 0)
-
-#define d2trild2(in, size, out) dtrila(in, size[0], size[1], 0, out);
-#define s2trils2(in, size, out) strila(in, size[0], size[1], 0, out);
-#define u82trilu82(in, size, out) u8trila(in, size[0], size[1], 0, out);
-#define u162trilu162(in, size, out) u16trila(in, size[0], size[1], 0, out);
-#define i82trili82(in, size, out) i8trila(in, size[0], size[1], 0, out);
-#define i162trili162(in, size, out) i16trila(in, size[0], size[1], 0, out);
-
-#define d2d0trild2(in1, size1, in2, out) dtrila(in1, size1[0], size1[1], in2, out);
-#define s2s0trils2(in1, size1, in2, out) strila(in1, size1[0], size1[1], in2, out);
-#define u82u80trilu82(in1, size1, in2, out) u8trila(in1, size1[0], size1[1], (double)in2, out);
-#define i82i80trili82(in1, size1, in2, out) i8trila(in1, size1[0], size1[1], (double)in2, out);
-#define u162u160trilu162(in1, size1, in2, out) u16trila(in1, size1[0], size1[1], (double)in2, out);
-#define i162i160trili162(in1, size1, in2, out) i16trila(in1, size1[0], size1[1], (double)in2, out);
-#define u82d0trilu82(in1, size1, in2, out) u8trila(in1, size1[0], size1[1], in2, out);
-#define i82d0trili82(in1, size1, in2, out) i8trila(in1, size1[0], size1[1], in2, out);
-#define u162d0trilu162(in1, size1, in2, out) u16trila(in1, size1[0], size1[1], in2, out);
-#define i162d0trili162(in1, size1, in2, out) i16trila(in1, size1[0], size1[1], in2, out);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_TRIL_H__*/
diff --git a/interfaces/int_triu.h b/interfaces/int_triu.h
deleted file mode 100644
index 1aef311..0000000
--- a/interfaces/int_triu.h
+++ /dev/null
@@ -1,62 +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_TRIU_H__
-#define __INT_TRIU_H__
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define d0triud0(in) in
-#define s0trius0(in) in
-#define u80triuu80(in) in
-#define u160triuu160(in) in
-#define i80triui80(in) in
-#define i160triui160(in) in
-
-#define d0d0triud0(in1, in2) (in2 == 0 ? in1 : 0)
-#define s0s0trius0(in1, in2) (in2 == 0 ? in1 : 0)
-#define u80u80triuu80(in1, in2) (in2 == 0 ? in1 : 0)
-#define i80i80triui80(in1, in2) (in2 == 0 ? in1 : 0)
-#define u160u160triuu160(in1, in2) (in2 == 0 ? in1 : 0)
-#define i160i160triui160(in1, in2) (in2 == 0 ? in1 : 0)
-#define u80d0triuu80(in1, in2) (in2 == 0 ? in1 : 0)
-#define i80d0triui80(in1, in2) (in2 == 0 ? in1 : 0)
-#define u160d0triuu160(in1, in2) (in2 == 0 ? in1 : 0)
-#define i160d0triui160(in1, in2) (in2 == 0 ? in1 : 0)
-
-#define d2triud2(in, size, out) dtriua(in, size[0], size[1], 0, out);
-#define s2trius2(in, size, out) striua(in, size[0], size[1], 0, out);
-#define u82triuu82(in, size, out) u8triua(in, size[0], size[1], 0, out);
-#define u162triuu162(in, size, out) u16triua(in, size[0], size[1], 0, out);
-#define i82triui82(in, size, out) i8triua(in, size[0], size[1], 0, out);
-#define i162triui162(in, size, out) i16triua(in, size[0], size[1], 0, out);
-
-#define d2d0triud2(in1, size1, in2, out) dtriua(in1, size1[0], size1[1], in2, out);
-#define s2s0trius2(in1, size1, in2, out) striua(in1, size1[0], size1[1], in2, out);
-#define u82u80triuu82(in1, size1, in2, out) u8triua(in1, size1[0], size1[1], (double)in2, out);
-#define i82i80triui82(in1, size1, in2, out) i8triua(in1, size1[0], size1[1], (double)in2, out);
-#define u162u160triuu162(in1, size1, in2, out) u16triua(in1, size1[0], size1[1], (double)in2, out);
-#define i162i160triui162(in1, size1, in2, out) i16triua(in1, size1[0], size1[1], (double)in2, out);
-#define u82d0triuu82(in1, size1, in2, out) u8triua(in1, size1[0], size1[1], in2, out);
-#define i82d0triui82(in1, size1, in2, out) i8triua(in1, size1[0], size1[1], in2, out);
-#define u162d0triuu162(in1, size1, in2, out) u16triua(in1, size1[0], size1[1], in2, out);
-#define i162d0triui162(in1, size1, in2, out) i16triua(in1, size1[0], size1[1], in2, out);
-
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /*__INT_TRIU_H__*/
diff --git a/interfaces/int_type.h b/interfaces/int_type.h
deleted file mode 100644
index 3862cb8..0000000
--- a/interfaces/int_type.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_TYPE_H__
-#define __INT_TYPE_H__
-
-#define s0types0(in) stypes(in)
-
-#define d0typed0(in) dtypes(in)
-
-#define c0types0(in) ctypes(in)
-
-#define z0typed0(in) ztypes(in)
-
-#define s2types0(in,size) stypea(in, size[0]*size[1])
-
-#define d2typed0(in,size) dtypea(in, size[0]*size[1])
-
-#define c2types0(in,size) ctypea(in, size[0]*size[1])
-
-#define z2typed0(in,size) ztypea(in, size[0]*size[1])
-
-#endif /* !__INT_TYPE_H__ */
diff --git a/interfaces/int_uint16.h b/interfaces/int_uint16.h
deleted file mode 100644
index 1280877..0000000
--- a/interfaces/int_uint16.h
+++ /dev/null
@@ -1,36 +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_UINT16_H__
-#define __INT_UINT16_H__
-
-#define s0uint16u160(in) suint16s(in)
-
-#define d0uint16u160(in) duint16s(in)
-
-#define u80uint16u160(in) u8uint16s(in)
-
-#define i80uint16u160(in) i8uint16s(in)
-
-#define i160uint16u160(in) i16uint16s(in)
-
-#define s2uint16u162(in,size,out) suint16a(in, size[0]*size[1], out)
-
-#define d2uint16u162(in,size,out) duint16a(in, size[0]*size[1], out)
-
-#define u82uint16u162(in,size,out) u8uint16a(in, size[0]*size[1], out)
-
-#define i82uint16u162(in,size,out) i8int16a(in, size[0]*size[1], out)
-
-#define i162uint16u162(in,size,out) i16uint16a(in, size[0]*size[1], out)
-
-#endif /* !__INT_UINT8_H__ */
diff --git a/interfaces/int_uint8.h b/interfaces/int_uint8.h
deleted file mode 100644
index ac0bc43..0000000
--- a/interfaces/int_uint8.h
+++ /dev/null
@@ -1,36 +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_UINT8_H__
-#define __INT_UINT8_H__
-
-#define s0uint8u80(in) suint8s(in)
-
-#define d0uint8u80(in) duint8s(in)
-
-#define i80uint8u80(in) i8uint8s(in)
-
-#define u160uint8u80(in) u16uint8s(in)
-
-#define i160uint8u80(in) i16uint8s(in)
-
-#define s2uint8u82(in,size,out) suint8a(in, size[0]*size[1], out)
-
-#define d2uint8u82(in,size,out) duint8a(in, size[0]*size[1], out)
-
-#define i82uint8u82(in,size,out) i8uint8a(in, size[0]*size[1], out)
-
-#define u162uint8u82(in,size,out) u16uint8a(in, size[0]*size[1], out)
-
-#define i162uint8u82(in,size,out) i16uint8a(in, size[0]*size[1], out)
-
-#endif /* !__INT_UINT8_H__ */
diff --git a/interfaces/int_v2magn.h b/interfaces/int_v2magn.h
deleted file mode 100644
index 759cecf..0000000
--- a/interfaces/int_v2magn.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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_V2MAGN_H__
-#define __INT_V2MAGN_H__
-
-#define s0v2magns0(in) ssquMagns(in)
-
-#define d0v2magnd0(in) dsquMagns(in)
-
-#define c0v2magnc0(in) csquMagns(in)
-
-#define z0v2magnz0(in) zsquMagns(in)
-
-#define s2v2magns2(in,size) ssquMagna(in, size[0], size[1])
-
-#define d2v2magnd2(in,size) dsquMagna(in, size[0], size[1])
-
-#define c2v2magnc2(in,size) csquMagna(in, size[0], size[1])
-
-#define z2v2magnz2(in,size) zsquMagna(in, size[0], size[1])
-
-#endif /* !__INT_V2MAGN_H__ */
diff --git a/interfaces/int_variance.h b/interfaces/int_variance.h
deleted file mode 100644
index dfc191c..0000000
--- a/interfaces/int_variance.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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_VARIANCE_H__
-#define __INT_VARIANCE_H__
-
-#define s0variances0(in) svariances(in)
-
-#define d0varianced0(in) dvariances(in)
-
-#define c0variancec0(in) cvariances(in)
-
-#define z0variancez0(in) zvariances(in)
-
-#define s2variances0(in,size) svariancea(in, size[0]*size[1])
-
-#define d2varianced0(in,size) dvariancea(in, size[0]*size[1])
-
-#define c2variancec0(in,size) cvariancea(in, size[0]*size[1])
-
-#define z2variancez0(in,size) zvariancea(in, size[0]*size[1])
-
-
-#define s0s0variances0(in1,in2) (in2==1) ? srowvariances(in1) : scolumnvariances(in1)
-
-#define d0d0varianced0(in1,in2) (in2==1) ? drowvariances(in1) : dcolumnvariances(in1)
-
-#define c0s0variancec0(in1,in2) (in2==1) ? crowvariances(in1) : ccolumnvariances(in1)
-
-#define z0d0variancez0(in1,in2) (in2==1) ? zrowvariances(in1) : zcolumnvariances(in1)
-
-#define s2s0variances2(in1,size,in2,out) (in2==1) ? srowvariancea(in1,size[0],size[1],out) : scolumnvariancea(in1,size[0],size[1],out)
-
-#define d2d0varianced2(in1,size,in2,out) (in2==1) ? drowvariancea(in1,size[0],size[1],out) : dcolumnvariancea(in1,size[0],size[1],out)
-
-#define c2s0variancec2(in1,size,in2,out) (in2==1) ? crowvariancea(in1,size[0],size[1],out) : ccolumnvariancea(in1,size[0],size[1],out)
-
-#define z2d0variancez2(in1,size,in2,out) (in2==1) ? zrowvariancea(in1,size[0],size[1],out) : zcolumnvariancea(in1,size[0],size[1],out)
-
-
- /*'r' and 'c' case */
-#define s0g2variances0(in1,in2,size2) (in2[0]=='r') ? srowvariances(in1) : scolumnvariances(in1)
-
-#define d0g2varianced0(in1,in2,size2) (in2[0]=='r') ? drowvariances(in1) : dcolumnvariances(in1)
-
-#define c0g2variancec0(in1,in2,size2) (in2[0]=='r') ? crowvariances(in1) : ccolumnvariances(in1)
-
-#define z0g2variancez0(in1,in2,size2) (in2[0]=='r') ? zrowvariances(in1) : zcolumnvariances(in1)
-
-#define s2g2variances2(in1,size,in2,size2,out) (in2[0]=='r') ? srowvariancea(in1,size[0],size[1],out) : scolumnvariancea(in1,size[0],size[1],out)
-
-#define d2g2varianced2(in1,size,in2,size2,out) (in2[0]=='r') ? drowvariancea(in1,size[0],size[1],out) : dcolumnvariancea(in1,size[0],size[1],out)
-
-#define c2g2variancec2(in1,size,in2,size2,out) (in2[0]=='r') ? crowvariancea(in1,size[0],size[1],out) : ccolumnvariancea(in1,size[0],size[1],out)
-
-#define z2g2variancez2(in1,size,in2,size2,out) (in2[0]=='r') ? zrowvariancea(in1,size[0],size[1],out) : zcolumnvariancea(in1,size[0],size[1],out)
-
-
-
-#endif /* !__INT_VARIANCE_H__ */
diff --git a/interfaces/int_vmagn.h b/interfaces/int_vmagn.h
deleted file mode 100644
index a8647aa..0000000
--- a/interfaces/int_vmagn.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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_VMAGN_H__
-#define __INT_VMAGN_H__
-
-
-#define s0vmagns0(in) smagns(in)
-
-#define d0vmagnd0(in) dmagns(in)
-
-#define c0vmagnc0(in) cmagns(in)
-
-#define z0vmagnz0(in) zmagns(in)
-
-#define u80vmagnu80(in) u8magns(in)
-
-#define u160vmagnu160(in) u16magns(in)
-
-#define i80vmagni80(in) i8magns(in)
-
-#define i160vmagni160(in) i16magns(in)
-
-#define s2vmagns2(in,size) smagna(in, size[0], size[1])
-
-#define d2vmagnd2(in,size) dmagna(in, size[0], size[1])
-
-#define c2vmagnc2(in,size) cmagna(in, size[0], size[1])
-
-#define z2vmagnz2(in,size) zmagna(in, size[0], size[1])
-
-#define u82vmagnu82(in,size) u8magna(in, size[0], size[1])
-
-#define u162vmagnu162(in,size) u16magna(in, size[0], size[1])
-
-#define i82vmagni82(in,size) i8magna(in, size[0], size[1])
-
-#define i162vmagni162(in,size) i16magna(in, size[0], size[1])
-
-#endif /* !__INT_VMAGN_H__ */
diff --git a/interfaces/int_xcorr.h b/interfaces/int_xcorr.h
deleted file mode 100644
index 50a99d7..0000000
--- a/interfaces/int_xcorr.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * 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_XCORR_H__
-#define __INT_XCORR_H__
-
-#define s0xcorrs0(in) in*in
-
-#define d0xcorrd0(in) in*in
-
-#define c0xcorrc0(in) cmuls(in,cconjs(in))
-
-#define z0xcorrz0(in) zmuls(in,zconjs(in))
-
-#define s2xcorrs2(in,size) s2s2xcorrs2(in,size,in,size,out)
-
-#define d2xcorrd2(in,size) d2d2xcorrd2(in,size,in,size,out)
-
-#define c2xcorrc2(in,size) c2c2xcorrc2(in,size,in,size,out)
-
-#define z2xcorrz2(in,size) z2z2xcorrz2(in,size,in,size,out)
-
-
-/* Scalar - Scalar */
-
-#define s0s0xcorrs0(in1,in2) in1*in2
-
-#define d0d0xcorrd0(in1,in2) in1*in2
-
-#define c0c0xcorrc0(in1,in2) cmuls(in1,cconjs(in2))
-
-#define z0z0xcorrz0(in1,in2) zmuls(in1,zconjs(in2))
-
-#define s0c0xcorrs0(in1,in2) cmuls(FloatComplex(in1,0),cconjs(in2))
-
-#define d0z0xcorrd0(in1,in2) zmuls(DoubleComplex(in1,0),zconjs(in2))
-
-#define c0s0xcorrc0(in1,in2) cmuls(in1,FloatComplex(in2,0))
-
-#define z0d0xcorrz0(in1,in2) zmuls(in1,DoubleComplex(in2,0))
-
-/* Scalar - Scalar*/
-
-#define s0s2xcorrs2(in1,in2,size,out) {int i;\
- int mn=size[0]*size[1];\
- for (i=1;i<=mn;i++) out[i]=in1*in2[mn-i];\
- }
-
-#define d0d2xcorrd2(in1,in2,size,out) {int i;\
- int mn=size[0]*size[1];\
- for (i=1;i<=mn;i++) out[i]=in1*in2[mn-i];\
- }
-
-#define c0c2xcorrc2(in1,in2,size,out) {int i;\
- int mn=size[0]*size[1];\
- for (i=1;i<=mn;i++) out[i]=cmuls(in1,cconjs(in2[mn-i]));\
- }
-
-#define z0z2xcorrz2(in1,in2,size,out) {int i;\
- int mn=size[0]*size[1];\
- for (i=1;i<=mn;i++) out[i]=zmuls(in1,zconjs(in2[mn-i]));\
- }
-
-#define s0c2xcorrs2(in1,in2,size,out) {int i;\
- int mn=size[0]*size[1];\
- for (i=1;i<=mn;i++) out[i]=cmuls(FloatComplex(in1,0),cconjs(in2[mn-i]));\
- }
-
-#define d0z2xcorrd2(in1,in2,size,out) {int i;\
- int mn=size[0]*size[1];\
- for (i=1;i<=mn;i++) out[i]=zmuls(DoubleComplex(in1,0),zconjs(in2[mn-i]));\
- }
-
-#define c0s2xcorrc2(in1,in2,size,out) {int i;\
- int mn=size[0]*size[1];\
- for (i=1;i<=mn;i++) out[i]=cmuls(in1,FloatComplex(in2[mn-i],0));\
- }
-
-#define z0d2xcorrz2(in1,in2,size,out) {int i;\
- int mn=size[0]*size[1];\
- for (i=1;i<=mn;i++) out[i]=zmuls(in1,DoubleComplex(in2[mn-i],0)));\
- }
-
-
-
-
-
-/* Matrix - Scalar*/
-
-#define s2s0xcorrs2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
- }
-
-#define d2d0xcorrd2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
- }
-
-#define c2c0xcorrc2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1[i],cconjs(in2));\
- }
-
-#define z2z0xcorrz2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1[i],zconjs(in2));\
- }
-
-#define s2c0xcorrc2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
- }
-
-#define d2z0xcorrz2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=in1[i]*in2;\
- }
-
-#define c2s0xcorrc2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=cmuls(in1[i],FloatComplex(in2,0));\
- }
-
-#define z2d0xcorrz2(in1,size,in2,out) {int i;\
- for (i=0;i<size[0]*size[1];i++) out[i]=zmuls(in1[i],DoubleComplex(in2,0));\
- }
-
-
-
-/* Matrix - Matrix */
-
-#define s2s2xcorrs2(in1,size1,in2,size2,out) scrossCorra(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define d2d2xcorrd2(in1,size1,in2,size2,out) dcrossCorra(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define c2c2xcorrc2(in1,size1,in2,size2,out) ccrossCorra(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-#define z2z2xcorrz2(in1,size1,in2,size2,out) zcrossCorra(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
-
-
-/*FIXME : malloc here*/
-#define s2c2xcorrc2(in1,size1,in2,size2,out) {float* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(float));\
- sfilla(temp,size1[0],size1[1],0);\
- c2c2xcorrc2(FloatComplex(in1,0,size1[0]*size1[1]),size1,in2,size2,out);\
- free(temp);\
- }
-
-#define d2z2xcorrz2(in1,size1,in2,size2,out) {double* temp;\
- temp=malloc((uint)(size1[0]*size1[1])*sizeof(double));\
- dfilla(temp,size[0],size[1],0);\
- z2z2xcorrz2(DoubleComplex(in1,0,size1[0]*size1[1]),size1,in2,size2,out);\
- free(temp);\
- }
-
-
-#define c2s2xcorrc2(in1,size1,in2,size2,out) {float* temp;\
- temp=malloc((uint)(size2[0]*size2[1])*sizeof(float));\
- sfilla(temp,size2[0],size2[1],0);\
- c2c2xcorrc2(in1,size1,FloatComplex(in2,0,size2[0]*size2[1]),size2,out);\
- free(temp);\
- }
-
-#define z2d2xcorrz2(in1,size1,in2,size2,out) {double* temp;\
- temp=malloc((uint)(size2[0]*size2[1])*sizeof(double));\
- sfilla(temp,size2[0],size2[1],0);\
- c2c2xcorrc2(in1,size1,DoubleComplex(in2,0,size2[0]*size2[1]),size2,out);\
- free(temp);\
- }
-
-#endif /* !__INT_XCORR_H__ */
diff --git a/interfaces/int_zeros.h b/interfaces/int_zeros.h
deleted file mode 100644
index ac7e020..0000000
--- a/interfaces/int_zeros.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
- * Copyright (C) 2010-2010 - DIGITEO - 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_ZEROS_H__
-#define __INT_ZEROS_H__
-
-
-#define zeross0() 0.0f
-
-#define zerosd0() 0
-
-#define zerosu80() (uint8)0
-
-#define zerosi80() (int8)0
-
-#define zerosu160() (uint16)0
-
-#define zerosi160() (int16)0
-
-#define s0zeross0(in) szeross(in)
-
-#define d0zerosd0(in) dzeross(in)
-
-#define c0zerosc0(in) czeross(in)
-
-#define z0zerosz0(in) zzeross(in)
-
-#define u80zerosu80(in) u8zeross(in)
-
-#define i80zerosi80(in) i8zeross(in)
-
-#define u160zerosu160(in) u16zeross(in)
-
-#define i160zerosi160(in) i16zeross(in)
-
-#define s0s0zeross0(in1,in2) 0.0f
-
-#define d0d0zerosd0(in1,in2) 0
-
-#define u80u80zerosu80(in1,in2) (uint8)0
-
-#define i80i80zerosi80(in1,in2) (int8)0
-
-#define u160u160zerosu160(in1,in2) (uint16)0
-
-#define i160i160zerosi160(in1,in2) (int16)0
-
-#define s0s0zeross2(in1,in2,out) szerosa(out, in1, in2)
-
-#define d0d0zerosd2(in1,in2,out) dzerosa(out, in1, in2)
-
-#define u80u80zerosu82(in1,in2,out) u8zerosa(out, in1, in2)
-
-#define i80i80zerosi82(in1,in2,out) i8zerosa(out, in1, in2)
-
-#define u160u160zerosu162(in1,in2,out) u16zerosa(out, in1, in2)
-
-#define i160i160zerosi162(in1,in2,out) i16zerosa(out, in1, in2)
-
-#define s2zeross2(in,size,out) szerosa(out, size[0], size[1])
-
-#define d2zerosd2(in,size,out) dzerosa(out, size[0], size[1])
-
-#define c2zerosc2(in,size,out) czerosa(out, size[0], size[1])
-
-#define z2zerosz2(in,size,out) zzerosa(out, size[0], size[1])
-
-#define u82zerosu82(in,size,out) u8zerosa(out, size[0], size[1])
-
-#define i82zerosi82(in,size,out) i8zerosa(out, size[0], size[1])
-
-#define u162zerosu162(in,size,out) u16zerosa(out, size[0], size[1])
-
-#define i162zerosi162(in,size,out) i16zerosa(out, size[0], size[1])
-
-#define d0d0d0zerosd3(in1, in2, in3, out) dzerosh(out, in1, in2, in3);
-#endif /* !__INT_ZEROS_H__ */
diff --git a/jar/scilab_en_US_help.jar b/jar/scilab_en_US_help.jar
new file mode 100644
index 0000000..23fc9e4
--- /dev/null
+++ b/jar/scilab_en_US_help.jar
Binary files 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
--- /dev/null
+++ b/locales/en_US/LC_MESSAGES/scilab2c.mo
Binary files 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 88b9634..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,7 +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
@@ -113,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
@@ -140,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.
@@ -337,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'))
@@ -382,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
@@ -400,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
@@ -432,10 +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))
@@ -507,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~='<EOL>')
+ 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~='<EOL>')
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 908366b..4e309a2 100644
--- a/macros/ASTManagement/lib
+++ b/macros/ASTManagement/lib
Binary files 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 0149d79..96294d0 100644
--- a/macros/CCodeGeneration/lib
+++ b/macros/CCodeGeneration/lib
Binary files 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 7f410a3..2b3ee2f 100644
--- a/macros/ErrorMessages/lib
+++ b/macros/ErrorMessages/lib
Binary files differ
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_U_SVA.sci b/macros/FunctionAnnotation/FA_SZ_U_SVA.sci
new file mode 100644
index 0000000..3b8b25c
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_SZ_U_SVA.sci
@@ -0,0 +1,39 @@
+function opout = FA_SZ_U_SVA(in1,in2)
+
+// 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);
+// disp(in1)
+// disp(in2)
+//in1 = eval(in1);
+//in2 = string(in2);
+//in2 = eval(in2);
+//[U,S,V] = sva(in1,in2);
+//outsize = size(U)
+//opout = outsize(2)
+opout = string(in2)
+
+endfunction
diff --git a/macros/FunctionAnnotation/names b/macros/FunctionAnnotation/names
index 097ba5c..423c825 100644
--- a/macros/FunctionAnnotation/names
+++ b/macros/FunctionAnnotation/names
@@ -5,6 +5,7 @@ FA_GetDefaultPrecision
FA_GetFunAnn
FA_GetOutArgInfo
FA_GetResizeApproach
+FA_INSZ_RPI
FA_INT
FA_MAX
FA_MIN
@@ -60,6 +61,7 @@ FA_SZ_ROW_DIAG
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
diff --git a/macros/FunctionList/lib b/macros/FunctionList/lib
index 666462e..32c92be 100644
--- a/macros/FunctionList/lib
+++ b/macros/FunctionList/lib
Binary files 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 e6de718..a3af87e 100644
--- a/macros/GeneralFunctions/lib
+++ b/macros/GeneralFunctions/lib
Binary files 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-
+// <itemizedlist>
+// <listitem><para>0 -> Voltage on VREF pin</para></listitem>
+// <listitem><para>1 -> Voltage on AVCC pin</para></listitem>
+// <listitem><para>2 -> Internal 2.56 reference voltage</para></listitem>
+// </itemizedlist>
+//
+// 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
+// <itemizedlist>
+// <listitem><para>0 -> for timer0</para></listitem>
+// <listitem><para>1 -> for timer1</para></listitem>
+// <listitem><para>2 -> for timer2</para></listitem>
+// </itemizedlist>
+//
+// 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-
+// <itemizedlist>
+// <listitem><para>0 -> for Phase correct PWM Mode</para></listitem>
+// <listitem><para>1 -> for Fast PWM Mode</para></listitem>
+// <listitem><para>2 -> for CTC Mode</para></listitem>
+// </itemizedlist>
+//
+// output_mode can take values-
+// <itemizedlist>
+// For Phase correct PWM Mode:
+// <listitem><para>0 for Clear OC0 on compare match when up-counting. Set OC0 on compare match when down-counting.</para></listitem>
+// <listitem><para>1 for Set OC0 on compare match when up-counting. Clear OC0 on compare match when down-counting.</para></listitem>
+// For Fast PWM Mode:
+// <listitem><para>0 for non-inverted output i.e Clear OC0 on compare match, set OC0 at BOTTOM.</para></listitem>
+// <listitem><para>1 for inverted output i.e Set OC0 on compare match, clear OC0 at BOTTOM.</para></listitem>
+// For CTC Mode:
+// <listitem><para>0 to Clear OC0 on compare match</para></listitem>
+// <listitem><para>1 to Set OC0 on compare match</para></listitem>
+// <listitem><para>2 to toggle OC0 on compare match</para></listitem>
+// </itemizedlist>
+//
+// 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-
+// <itemizedlist>
+// <listitem><para>0 -> for Phase correct PWM Mode</para></listitem>
+// <listitem><para>1 -> for Fast PWM Mode</para></listitem>
+// <listitem><para>2 -> for CTC Mode</para></listitem>
+// </itemizedlist>
//
-// 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-
+// <itemizedlist>
+// For Phase correct PWM Mode:
+// <listitem><para>0 for Clear OC1A or OC1B on compare match when up-counting. Set OC1A or OC1B on compare match when down-counting.</para></listitem>
+// <listitem><para>1 for Set OC1A or OC1B on compare match when up-counting. Clear OC1A or OC1B on compare match when down-counting.</para></listitem>
+// For Fast PWM Mode:
+// <listitem><para>0 for non-inverted output i.e Clear OC1A or OC1B on compare match, set OC1A or OC1B at BOTTOM.</para></listitem>
+// <listitem><para>1 for inverted output i.e Set OC1A or OC1B on compare match, clear OC1A or OC1B at BOTTOM.</para></listitem>
+// For CTC Mode:
+// <listitem><para>0 to Clear OC1A or OC1B on compare match</para></listitem>
+// <listitem><para>1 to Set OC1A or OC1B on compare match</para></listitem>
+// <listitem><para>2 to toggle OC1A or OC1B on compare match</para></listitem>
+// </itemizedlist>
//
-// 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-
+// <itemizedlist>
+// <listitem><para>0 -> for Phase correct PWM Mode</para></listitem>
+// <listitem><para>1 -> for Fast PWM Mode</para></listitem>
+// <listitem><para>2 -> for CTC Mode</para></listitem>
+// </itemizedlist>
+//
+// output_mode can take values-
+// <itemizedlist>
+// For Phase correct PWM Mode:
+// <listitem><para>0 for Clear OC2 on compare match when up-counting. Set OC2 on compare match when down-counting.</para></listitem>
+// <listitem><para>1 for Set OC2 on compare match when up-counting. Clear OC2 on compare match when down-counting.</para></listitem>
// 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.
-//
+// <listitem><para>0 for non-inverted output i.e Clear OC2 on compare match, set OC2 at BOTTOM.</para></listitem>
+// <listitem><para>1 for inverted output i.e Set OC2 on compare match, clear OC2 at BOTTOM.</para></listitem>
// For CTC Mode:
-// 0 to Clear OC2 on compare match
-// 1 to Set OC2 on compare match
-// 2 to toggle OC2 on compare match
-//
+// <listitem><para>0 to Clear OC2 on compare match</para></listitem>
+// <listitem><para>1 to Set OC2 on compare match</para></listitem>
+// <listitem><para>2 to toggle OC2 on compare match</para></listitem>
+// </itemizedlist>
+//
+// 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-
+// <itemizedlist>
+// <listitem><para>0 -> for timer0</para></listitem>
+// <listitem><para>1 -> for timer1</para></listitem>
+// <listitem><para>2 -> for timer2</para></listitem>
+// </itemizedlist>
+//
+// prescaler can take values-
+// <itemizedlist>
+// <listitem><para>1 for no prescaling i.e clock will run at max 16Hz frequency</para></listitem>
+// <listitem><para>8 for prescaling clock by 8 i.e new clock frequency will be (clk/8)</para></listitem>
+// <listitem><para>64 for prescaling clock by 64 i.e new clock frequency will be (clk/64)</para></listitem>
+// <listitem><para>256 for prescaling clock by 256 i.e new clock frequency will be (clk/256)</para></listitem>
+// <listitem><para>1024 for prescaling clock by 1024 i.e new clock frequency will be (clk/1024)</para></listitem>
+// </itemizedlist>
+//
+// 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:
+// <itemizedlist>
+// <listitem><para>0 for Asynchronous Normal mode</para></listitem>
+// <listitem><para>1 for Asynchronous Double Speed mode</para></listitem>
+// <listitem><para>2 for Synchronous mode</para></listitem>
+// </itemizedlist>
+//
+// parity can take values:
+// <itemizedlist>
+// <listitem><para>0 for parity disabled</para></listitem>
+// <listitem><para>1 for even parity</para></listitem>
+// <listitem><para>2 for odd parity</para></listitem>
+// </itemizedlist>
+//
+// 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 c8dfe19..170d321 100644
--- a/macros/Hardware/AVR/lib
+++ b/macros/Hardware/AVR/lib
Binary files differ
diff --git a/macros/Hardware/RasberryPi/lib b/macros/Hardware/RasberryPi/lib
index 99cd9b6..d25d944 100644
--- a/macros/Hardware/RasberryPi/lib
+++ b/macros/Hardware/RasberryPi/lib
Binary files 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 65ff298..8d5e5c7 100644
--- a/macros/ImageProcessing/core/lib
+++ b/macros/ImageProcessing/core/lib
Binary files 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:
+// <itemizedlist>
+// <listitem><para> less than 0 -> image is loaded as is (with alpha channel)</para></listitem>
+// <listitem><para> 0 -> image is loaded as greyscale</para></listitem>
+// <listitem><para> greater than 0 -> 3 channel color image is loaded</para></listitem>
+// </itemizedlist>
//
+// 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 dd057ec..2db0482 100644
--- a/macros/ImageProcessing/highgui/lib
+++ b/macros/ImageProcessing/highgui/lib
Binary files 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 :
+// <itemizedlist>
+// <listitem>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</listitem>
+// <listitem>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</listitem>
+// <listitem>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</listitem>
+// <listitem>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</listitem>
+// <listitem>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</listitem>
+// </itemizedlist>
+//
+// 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 :
+// <itemizedlist>
+// <listitem>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</listitem>
+// <listitem>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</listitem>
+// <listitem>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</listitem>
+// <listitem>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</listitem>
+// <listitem>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</listitem>
+// </itemizedlist>
+//
+// 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 :
+// <itemizedlist>
+// <listitem><para> BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh </para></listitem>
+// <listitem><para> BORDER_REFLECT: fedcba|abcdefgh|hgfedcb </para></listitem>
+// <listitem><para> BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba </para></listitem>
+// <listitem><para> BORDER_WRAP: cdefgh|abcdefgh|abcdefg </para></listitem>
+// <listitem><para> BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii </para></listitem>
+// </itemizedlist>
+//
+// 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 :
+// <itemizedlist>
+// <listitem>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</listitem>
+// <listitem>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</listitem>
+// <listitem>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</listitem>
+// <listitem>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</listitem>
+// <listitem>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</listitem>
+// </itemizedlist>
+//
+// 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 :
+// <itemizedlist>
+// <listitem>BORDER_REPLICATE: aaaaaa|abcdefgh|hhhhhhh</listitem>
+// <listitem>BORDER_REFLECT: fedcba|abcdefgh|hgfedcb</listitem>
+// <listitem>BORDER_REFLECT_101: gfedcb|abcdefgh|gfedcba</listitem>
+// <listitem>BORDER_WRAP: cdefgh|abcdefgh|abcdefg</listitem>
+// <listitem>BORDER_CONSTANT: iiiiii|abcdefgh|iiiiiii</listitem>
+// </itemizedlist>
+//
+// 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 3d4060a..656e3bb 100644
--- a/macros/ImageProcessing/imgproc/lib
+++ b/macros/ImageProcessing/imgproc/lib
Binary files 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 2741287..60340e2 100644
--- a/macros/Scilab-Arduino/lib
+++ b/macros/Scilab-Arduino/lib
Binary files 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 8b39d18..165b707 100644
--- a/macros/SymbolTable/lib
+++ b/macros/SymbolTable/lib
Binary files 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 c874416..5bc8043 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. ---
// ------------------
@@ -844,6 +920,212 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E
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. ---
// -------------------
ClassName = '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. ---
@@ -4264,6 +4548,49 @@ PrintStringInfo('OUT(2).TP= FA_TP_COMPLEX(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');
+// Edited by Sandeep Gupta, IITB FOSSEE Project.
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= FA_TP_COMPLEX(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= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= FA_TP_COMPLEX(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('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)= ''1''',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 3',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= FA_TP_COMPLEX(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('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)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= FA_TP_COMPLEX(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(1)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 4',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= FA_TP_COMPLEX(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('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)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= FA_TP_COMPLEX(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(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).TP= FA_TP_COMPLEX(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(1)',ClassFileName,'file','y');
+
// --- Function List Class. ---
//NUT: no mixed data types
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
@@ -4292,6 +4619,12 @@ PrintStringInfo('d2'+ArgSeparator+'z2z2',ClassFileName,'file','y');
PrintStringInfo('c2'+ArgSeparator+'c2c2',ClassFileName,'file','y');
PrintStringInfo('z2'+ArgSeparator+'z2z2',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'z2',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'z2d2',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'z2d2z2',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'z2d2z2z2',ClassFileName,'file','y');
+
+
// --- Annotation Function And Function List Function. ---
FunctionName = 'spec'; // AS : Done AS : Float_Done
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
@@ -4636,6 +4969,165 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
//------------------------------------
+//---- Class cmd_analog_in_volt -----------
+//------------------------------------
+ClassName = 'cmd_analog_in_volt';
+
+// --- 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');
+
+// --- Annotation Function And Function List Function. ---
+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);
+
+
+//------------------------------------
+//---- Class cmd_i2c_dev -----------
+//------------------------------------
+ClassName = 'cmd_i2c_dev';
+
+// --- 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');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d0'+ArgSeparator+'u80',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+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);
+
+
+
+//------------------------------------
+//---- Class cmd_i2c_write -----------
+//------------------------------------
+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= 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 -------------------
//------------------------------------
@@ -4662,6 +5154,57 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
//------------------------------------
+//---- 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 ---------------
//------------------------------------
@@ -5149,9 +5692,6 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,Ex
-
-
-
//------------------------------------
//---- Class AVRUARTReceiveChar -----------
//------------------------------------
@@ -5168,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. ---
@@ -5180,323 +5718,919 @@ 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_digitalReadByte';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class RPI_0IN_u32 -----------
+//------------------------------------
+ClassName = 'RPI_0IN_u32';
+
+// --- 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('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
-FunctionName = 'RPI_HardPWMWrite';
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo(''+ArgSeparator+'u320',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+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_DigitalIn -----------
+//---- Class RPI_1IN_u8_Void -------
//------------------------------------
-ClassName = 'RPI_DigitalIn';
+ClassName = 'RPI_1IN_u8_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('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('u80'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_DigitalIn';
+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_lcdClear';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+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_piGlowSetup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+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_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_DelayMilli ----------
+//---- Class RPI_1IN_u16_Void ------
//------------------------------------
-ClassName = 'RPI_DelayMilli';
+ClassName = 'RPI_1IN_u16_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('u160'+ArgSeparator+'',ClassFileName,'file','y');
-PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+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_1IN_u32_Void ------
+//------------------------------------
+ClassName = 'RPI_1IN_u32_Void';
+
+// --- 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('u320'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_DelayMilli';
+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_1IN_g_Void --------
+//------------------------------------
+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= 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('g2'+ArgSeparator+'',ClassFileName,'file','y');
-FunctionName = 'RPI_DelayMicro';
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'RPI_pwmMode';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-FunctionName = 'RPI_SerialClose';
+//------------------------------------
+//---- Class RPI_1IN_u8_i8 ---------
+//------------------------------------
+ClassName = 'RPI_1IN_u8_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= ''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('u80'+ArgSeparator+'i80',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+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);
-FunctionName = 'RPI_SerialFlush';
+//------------------------------------
+//---- Class RPI_1IN_u16_i8 --------
+//------------------------------------
+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= ''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('u160'+ArgSeparator+'i80',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+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_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);
-FunctionName = 'RPI_HardPWMSetRange';
+//------------------------------------
+//---- Class RPI_1IN_g_i8 ----------
+//------------------------------------
+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= ''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('g2'+ArgSeparator+'i80',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'RPI_pinNumbering';
PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
-FunctionName = 'RPI_HardPWMSetClock';
+//------------------------------------
+//---- Class RPI_1IN_u8_u8 ---------
+//------------------------------------
+ClassName = 'RPI_1IN_u8_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= ''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('u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+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 RPI_1IN_u16_u16 -------
+//------------------------------------
+ClassName = 'RPI_1IN_u16_u16';
+
+// --- 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('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('u160'+ArgSeparator+'u160',ClassFileName,'file','y');
-FunctionName = 'RPI_HardPWMSetMode';
+// --- 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);
//------------------------------------
-//---- Class RPI_GetMilli ----------
+//---- Class RPI_1IN_u8_g ------
//------------------------------------
-ClassName = 'RPI_GetMilli';
+ClassName = 'RPI_1IN_u8_g';
// --- 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= 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)= ''1''',ClassFileName,'file','y');
// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('u80'+ArgSeparator+'g2',ClassFileName,'file','y');
-PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'RPI_serialGetchar';
+
+//------------------------------------
+//---- 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 = 'RPI_GetMillis';
+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 RPI_2IN_u8u16_Void ----
+//------------------------------------
+ClassName = 'RPI_2IN_u8u16_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('u80u160'+ArgSeparator+'',ClassFileName,'file','y');
-FunctionName = 'RPI_GetMicros';
+// --- Annotation Function And Function List Function. ---
+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 = '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 RPI_SetupSerial ----------
+//---- Class RPI_2IN_u16u16_Void ---
//------------------------------------
-ClassName = 'RPI_SetupSerial';
+ClassName = 'RPI_2IN_u16u16_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('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('u160u160'+ArgSeparator+'',ClassFileName,'file','y');
-PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+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 RPI_2IN_u8g_Void ------
+//------------------------------------
+ClassName = 'RPI_2IN_u8g_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('u80g2'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_SerialSetup';
+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 RPI_SetupClose ----------
+//---- Class RPI_2IN_u8u32_Void ----
//------------------------------------
-//ClassName = 'RPI_SetupClose';
+ClassName = 'RPI_2IN_u8u32_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= 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);
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('u80u320'+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+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 RPI_2IN_u8i16_i8 ------
+//------------------------------------
+ClassName = 'RPI_2IN_u8i16_i8';
+
+// --- 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(''+ArgSeparator+'',ClassFileName,'file','y');
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('u80i160'+ArgSeparator+'i80',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_waitForInterrupt';
+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_2IN_u16u16_i8 -----
//------------------------------------
-ClassName = 'RPI_SerialSendData';
+ClassName = 'RPI_2IN_u16u16_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('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('u160u160'+ArgSeparator+'i80',ClassFileName,'file','y');
-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');
+// --- Annotation Function And Function List Function. ---
+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);
-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');
+//------------------------------------
+//---- Class RPI_2IN_gu32_i8 -----
+//------------------------------------
+ClassName = 'RPI_2IN_gu32_i8';
+
+// --- 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');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('g2u320'+ArgSeparator+'i80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_SerialSendData';
+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 RPI_SerialDataAvail ----------
+//---- Class RPI_2IN_u16u8_u8 -----
//------------------------------------
-ClassName = 'RPI_SerialDataAvail';
+ClassName = 'RPI_2IN_u16u8_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= ''i16''',ClassFileName,'file','y');
+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');
// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('u160u80'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+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 RPI_3IN_u8u8u8_Void ---
+//------------------------------------
+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');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('u80u80u80'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_SerialDataAvail';
+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_SerialGetChar';
+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 RPI_3IN_u16u16u16_i8 --
+//------------------------------------
+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');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('u160u160u160'+ArgSeparator+'i80',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+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 = 'RPI_I2CWriteReg16';
+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_3IN_u8u8u8_u8 -----
//------------------------------------
-ClassName = 'RPI_ThreadCreate';
+ClassName = 'RPI_3IN_u8u8u8_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= ''u16''',ClassFileName,'file','y');
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('u80u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+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 RPI_3IN_u8u16u16_u8 ---
+//------------------------------------
+ClassName = 'RPI_3IN_u8u16u16_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= ''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('u80u160u160'+ArgSeparator+'u80',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_ThreadCreate';
+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 RPI_PinISR --------------
+//---- Class RPI_3IN_u16u8u16_u8 ---
//------------------------------------
-ClassName = 'RPI_PinISR';
+ClassName = 'RPI_3IN_u16u8u16_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('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('u160u160u160'+ArgSeparator+'u80',ClassFileName,'file','y');
-PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+// --- Annotation Function And Function List Function. ---
+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 RPI_4IN_u8u8u8u8_Void -
+//------------------------------------
+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= 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('u80u80u80u80'+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+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 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= 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('u160u80u80u80u80'+ArgSeparator+'i80',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+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 RPI_10IN_u8x10_Void ---
+//------------------------------------
+ClassName = 'RPI_10IN_u8x10_Void';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+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('u80u80u80u80u80u80u80u80u80u80'+ArgSeparator+'',ClassFileName,'file','y');
// --- Annotation Function And Function List Function. ---
-FunctionName = 'RPI_PinISR';
+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 RPI_13IN_u8x13_u8 -----
+//------------------------------------
+ClassName = 'RPI_13IN_u8x13_u8';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+PrintStringInfo('NIN= 10',ClassFileName,'file','y');
+PrintStringInfo('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('u80u80u80u80u80u80u80u80u80u80u80u80u80'+ArgSeparator+'u80',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'RPI_lcdInit';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+
+//------------------------------------
//---- Class ODE ---------------------
//------------------------------------
ClassName = 'ODE';
@@ -6527,15 +7661,34 @@ ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
PrintStringInfo('NIN= 1',ClassFileName,'file','y');
PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
-PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(FA_SZ_LQR(IN(1).VAL))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(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_2(FA_SZ_LQR(IN(1).VAL))',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');
@@ -6603,6 +7756,168 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
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 ------------------
@@ -7602,6 +8917,7 @@ PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
// --- Function List Class. ---
ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+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');
@@ -7619,6 +8935,36 @@ INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,E
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+// --- Class Modk. ---
+// ------------------
+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= ''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('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 = 'modk';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
//------------------------------------
//---- Class PRIMES --------------------
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/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 d144f89..00a1204 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/matrixOperations/includes/spec.h"
+ "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"
@@ -213,6 +222,9 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/CACSD/includes/obscont.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/rcond.h"];
@@ -227,7 +239,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"
@@ -236,18 +256,44 @@ 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/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"
"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/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"
@@ -269,4 +315,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 86f1bf5..beb6115 100644
--- a/macros/findDeps/getAllInterfaces.sci
+++ b/macros/findDeps/getAllInterfaces.sci
@@ -32,7 +32,7 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/type/int_real.h"
"src/c/matrixOperations/interfaces/int_vmagn.h"
"src/c/matrixOperations/interfaces/int_ones.h"
- "src/c/matrixOperations/interfaces/int_spec.h"
+ "src/c/linearAlgebra/interfaces/int_spec.h"
"src/c/matrixOperations/interfaces/int_cat.h"
"src/c/matrixOperations/interfaces/int_zeros.h"
"src/c/matrixOperations/interfaces/int_OpBackSlash.h"
@@ -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"
@@ -100,6 +104,8 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"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"
@@ -142,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"
@@ -208,6 +217,9 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/CACSD/interfaces/int_obscont.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_hess.h"
+ "src/c/linearAlgebra/interfaces/int_sva.h"
"src/c/linearAlgebra/interfaces/int_rcond.h"];
@@ -219,7 +231,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 = [
@@ -233,12 +252,22 @@ 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_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..c0f07d5 100644
--- a/macros/findDeps/getAllLibraries.sci
+++ b/macros/findDeps/getAllLibraries.sci
@@ -24,7 +24,8 @@ function allLibraries = getAllLibraries(SharedInfo)
Target = SharedInfo.Target;
//Library files required for "RasberryPi" target
RPi_libs = [
- "thirdparty/lib/raspberrypi/libwiringPi.so"
+ "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 c8fa7ae..92242cd 100644
--- a/macros/findDeps/getAllSources.sci
+++ b/macros/findDeps/getAllSources.sci
@@ -155,18 +155,18 @@ function allSources = getAllSources(SharedInfo)
"src/c/matrixOperations/powm/spowma.c"
"src/c/matrixOperations/powm/zpowma.c"
"src/c/matrixOperations/powm/cpowma.c"
- "src/c/matrixOperations/spec/cspeca.c"
- "src/c/matrixOperations/spec/dspeca.c"
- "src/c/matrixOperations/spec/sspeca.c"
- "src/c/matrixOperations/spec/zspeca.c"
+ "src/c/linearAlgebra/spec/cspeca.c"
+ "src/c/linearAlgebra/spec/dspeca.c"
+ "src/c/linearAlgebra/spec/sspeca.c"
+ "src/c/linearAlgebra/spec/zspeca.c"
"src/c/matrixOperations/transpose/ztransposea.c"
"src/c/matrixOperations/transpose/stransposea.c"
"src/c/matrixOperations/transpose/ctransposea.c"
"src/c/matrixOperations/transpose/dtransposea.c"
- "src/c/matrixOperations/spec2/zspec2a.c"
- "src/c/matrixOperations/spec2/sspec2a.c"
- "src/c/matrixOperations/spec2/dspec2a.c"
- "src/c/matrixOperations/spec2/cspec2a.c"
+ "src/c/linearAlgebra/spec2/zspec2a.c"
+ "src/c/linearAlgebra/spec2/sspec2a.c"
+ "src/c/linearAlgebra/spec2/dspec2a.c"
+ "src/c/linearAlgebra/spec2/cspec2a.c"
"src/c/matrixOperations/trace/stracea.c"
"src/c/matrixOperations/trace/dtracea.c"
"src/c/matrixOperations/trace/ctracea.c"
@@ -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"
@@ -966,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"
@@ -1203,8 +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"
@@ -1220,6 +1266,11 @@ function allSources = getAllSources(SharedInfo)
"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/hess/dhessa.c"
+ "src/c/linearAlgebra/sva/dsvaa.c"
+ "src/c/linearAlgebra/spec/dspec1a.c"
"src/c/linearAlgebra/rcond/drconda.c"];
//Files to be inserted only if output format selected is 'Arduino'.
@@ -1232,7 +1283,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 = [
@@ -1270,38 +1329,81 @@ 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/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/lib b/macros/lib
index e0b7848..1b718c7 100644
--- a/macros/lib
+++ b/macros/lib
Binary files 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/main.c b/main.c
deleted file mode 100644
index 8362967..0000000
--- a/main.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-** ************************************************
-** This file has been generated using
-** Scilab2C (Version 2.3)
-**
-** Please visit following links for more informations:
-** Atoms Module: http://atoms.scilab.org/toolboxes/scilab2c
-** Scilab2C Forge: http://forge.scilab.org/index.php/p/scilab2c/
-** Scilab2C ML: http://forge.scilab.org/index.php/p/scilab2c/
-** ************************************************
-*/
-
-
-/*
-** -----------------
-** --- Includes. ---
-** -----------------
-*/
-#include "main.h"
-/*
-** ---------------------
-** --- End Includes. ---
-** ---------------------
-*/
-
-
-
-/*
-** -------------------------------------
-** --- Global Variables Declaration. ---
-** -------------------------------------
-*/
-
-
-/*
-** -----------------------------------------
-** --- End Global Variables Declaration. ---
-** -----------------------------------------
-*/
-
-/*
- SCI2C: ------------------------------------------------------------------
- SCI2C: function lengthfinder()
- SCI2C: ------------------------------------------------------------------
-*/
-int main()
-{
-/*
-** -----------------------------
-** --- Variable Declaration. ---
-** -----------------------------
-*/
-
- double x[1 * 5];
- int __xSize[2] = {1, 5};;
-
- double y;
-
- double ans1;
-
-
-
-
-/*
-** ---------------------------------
-** --- End Variable Declaration. ---
-** ---------------------------------
-*/
-/*
-** ---------------
-** --- C code. ---
-** ---------------
-*/
-
- d0d0OpColond2(1,5,x);
-
- y = d2lengthd0(x, __xSize);
-
- d0disp(y);
-
-
-
- /*
- ** ---------------------
- ** --- Free Section. ---
- ** ---------------------
- */
- /*
- ** -------------------------
- ** --- End Free Section. ---
- ** -------------------------
- */
-
- return(0);
-
-}
-
diff --git a/main.h b/main.h
deleted file mode 100644
index 243f2b8..0000000
--- a/main.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-** ************************************************
-** This file has been generated using
-** Scilab2C (Version 2.3)
-**
-** Please visit following links for more informations:
-** Atoms Module: http://atoms.scilab.org/toolboxes/scilab2c
-** Scilab2C Forge: http://forge.scilab.org/index.php/p/scilab2c/
-** Scilab2C ML: http://forge.scilab.org/index.php/p/scilab2c/
-** ************************************************
-*/
-
-
-#ifndef main_h
-#define main_h
-/*
-** -------------------
-** ----- Target ------
-** -------------------
-*/
-#define StandAlone1 1
-/*
-** -----------------------
-** --- SCI2C Includes. ---
-** -----------------------
-*/
-#include "sci2clib.h"
-/*
-** ---------------------------
-** --- End SCI2C Includes. ---
-** ---------------------------
-*/
-
-
-/*
-** -------------------
-** --- Prototypes. ---
-** -------------------
-*/
-int main();
-/*
-** -----------------------
-** --- End Prototypes. ---
-** -----------------------
-*/
-
-
-/*
-** ------------------------
-** --- USER2C Includes. ---
-** ------------------------
-*/
-/*
-** ----------------------------
-** --- End USER2C Includes. ---
-** ----------------------------
-*/
-#endif
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/discrete_mathematics/gcd/dgcda.c b/src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c
new file mode 100644
index 0000000..a32ed77
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.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"
+
+void dgcda(double *in,int size,double *out)
+{
+ double a=in[0];
+ double b=in[1];
+ while(a!=b && a!=0 && b!=0)
+ {
+ if(a>b)
+ {
+ a=a-b;
+ }
+ else
+ {
+ b=b-a;
+ }
+ }
+ out[0]=b;
+}
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/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/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/string/ascii/int_ascii.h b/src/c/elementaryFunctions/includes/nextpow2.h
index 36d83f8..c86bea0 100644
--- a/src/c/string/ascii/int_ascii.h
+++ b/src/c/elementaryFunctions/includes/nextpow2.h
@@ -5,21 +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: Ankit Raj
+ Author: Ukasha Noor
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
- */
-#ifndef __INT_ASCII_H__
-#define __INT_ASCII_H__
+*/
-#ifdef __cplusplus
+
+#ifndef __NEXTPOW2_H__
+#define __NEXTPOW2_H__
+
+#ifdef __cplusplus
extern "C" {
#endif
-#define g2asciiu82(str,size,oup) gasciia(str,size,oup)
+void dnextpow2a(double *in,int size,double *out);
-#ifdef __cplusplus
+#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__INT_ASCII_H__*/
+#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 <complex.h>
+//#include <complex.h>
#include "types.h"
#ifdef __cplusplus
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<size;i++) out[i] = dint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/dint32s.c b/src/c/elementaryFunctions/int32/dint32s.c
new file mode 100644
index 0000000..19366ef
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/dint32s.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"
+
+int32 dint32s(double x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/i16int32a.c b/src/c/elementaryFunctions/int32/i16int32a.c
new file mode 100644
index 0000000..e970deb
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/i16int32a.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "int32.h"
+
+void i16int32a(int16* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i16int32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/i16int32s.c b/src/c/elementaryFunctions/int32/i16int32s.c
new file mode 100644
index 0000000..ad07993
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/i16int32s.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 i16int32s(int16 x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/i8int32a.c b/src/c/elementaryFunctions/int32/i8int32a.c
new file mode 100644
index 0000000..d046ba1
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/i8int32a.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "int32.h"
+
+void i8int32a(int8* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i8int32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/i8int32s.c b/src/c/elementaryFunctions/int32/i8int32s.c
new file mode 100644
index 0000000..c126662
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/i8int32s.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 i8int32s(int8 x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/sint32a.c b/src/c/elementaryFunctions/int32/sint32a.c
new file mode 100644
index 0000000..14dbefe
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/sint32a.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 sint32a(float* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = sint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/sint32s.c b/src/c/elementaryFunctions/int32/sint32s.c
new file mode 100644
index 0000000..8a4f8e7
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/sint32s.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 sint32s(float x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/u16int32a.c b/src/c/elementaryFunctions/int32/u16int32a.c
new file mode 100644
index 0000000..eaf90fd
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u16int32a.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 u16int32a(uint16* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u16int32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/u16int32s.c b/src/c/elementaryFunctions/int32/u16int32s.c
new file mode 100644
index 0000000..be3909a
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u16int32s.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 u16int32s(uint16 x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/u32int32a.c b/src/c/elementaryFunctions/int32/u32int32a.c
new file mode 100644
index 0000000..a135d12
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u32int32a.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 u32int32a(uint32* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u32int32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/u32int32s.c b/src/c/elementaryFunctions/int32/u32int32s.c
new file mode 100644
index 0000000..ee5a16a
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u32int32s.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 u32int32s(uint32 x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/u8int32a.c b/src/c/elementaryFunctions/int32/u8int32a.c
new file mode 100644
index 0000000..1361fea
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u8int32a.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 u8int32a(uint8* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u8int32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/u8int32s.c b/src/c/elementaryFunctions/int32/u8int32s.c
new file mode 100644
index 0000000..c3b0690
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u8int32s.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 u8int32s(uint8 x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/interfaces/int_int32.h b/src/c/elementaryFunctions/interfaces/int_int32.h
new file mode 100644
index 0000000..5da9bd2
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_int32.h
@@ -0,0 +1,46 @@
+/* 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
+*/
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_INT32_H__
+#define __INT_INT32_H__
+
+#define s0int32i320(in) sint32s(in)
+
+#define d0int32i320(in) dint32s(in)
+
+#define u80int32i320(in) u8int32s(in)
+
+#define i80int32i320(in) i8int32s(in)
+
+#define u160int32i320(in) u16int32s(in)
+
+#define i160int32i320(in) i16int32s(in)
+
+#define u320int32i320(in) u32int32s(in)
+
+#define s2int32i322(in,size,out) sint32a(in, size[0]*size[1], out)
+
+#define d2int32i322(in,size,out) dint32a(in, size[0]*size[1], out)
+
+#define u82int32i322(in,size,out) u8int32a(in, size[0]*size[1], out)
+
+#define i82int32i322(in,size,out) i8int32a(in, size[0]*size[1], out)
+
+#define u162int32i322(in,size,out) u16int32a(in, size[0]*size[1], out)
+
+#define i162int32i322(in,size,out) i16int32a(in, size[0]*size[1], out)
+
+#define u322int32i322(in,size,out) u32int32a(in, size[0]*size[1], out)
+
+#endif /* !__INT_INT32_H__ */
diff --git a/interfaces/int_bitget.h b/src/c/elementaryFunctions/interfaces/int_isreal.h
index ea930ab..cebbf6d 100644
--- a/interfaces/int_bitget.h
+++ b/src/c/elementaryFunctions/interfaces/int_isreal.h
@@ -5,16 +5,18 @@
you 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: Mushir
+ Author: Ukasha Noor
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
-#ifndef __INT_BITGET_H__
-#define __INT_BITGET_H__
-#define u80d0bitgetu80(in1,in2) u8bitgets(in1,in2)
-#define u160d0bitgetu160(in1,in2) u16bitgets(in1,in2)
+#ifndef __INT_ISREAL_H__
+#define __INT_ISREAL_H__
-#endif
+#define s0isreals0(in) sisreals(in)
+
+#define d0isreald0(in) disreals(in)
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_linspace.h b/src/c/elementaryFunctions/interfaces/int_linspace.h
index f8af947..15ea269 100644
--- a/src/c/elementaryFunctions/interfaces/int_linspace.h
+++ b/src/c/elementaryFunctions/interfaces/int_linspace.h
@@ -15,6 +15,10 @@
#define d0d0d0linspaced2(in1,in2,in3,out) dlinspaces(in1,in2,in3,out)
+#define s0s0s0linspaces2(in1,in2,in3,out) slinspaces(in1,in2,in3,out)
+
#define d2d2d0linspaced2(in1,size1,in2,size2,in3,out) dlinspacea(in1,size1[0],in2,in3,out)
+#define s2s2s0linspaces2(in1,size1,in2,size2,in3,out) slinspacea(in1,size1[0],in2,in3,out)
+
#endif
diff --git a/interfaces/int_linspace.h b/src/c/elementaryFunctions/interfaces/int_nextpow2.h
index f8af947..6ae4747 100644
--- a/interfaces/int_linspace.h
+++ b/src/c/elementaryFunctions/interfaces/int_nextpow2.h
@@ -5,16 +5,22 @@
you 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: Mushir
+ Author: Ukasha Noor
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
-#ifndef __INT_LINSPACE_H__
-#define __INT_LINSPACE_H__
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
-#define d0d0d0linspaced2(in1,in2,in3,out) dlinspaces(in1,in2,in3,out)
-#define d2d2d0linspaced2(in1,size1,in2,size2,in3,out) dlinspacea(in1,size1[0],in2,in3,out)
+#ifndef __INT_NEXTPOW2_H__
+#define __INT_NEXTPOW2_H__
-#endif
+
+#include "nextpow2.h"
+
+#define d0nextpow2d0(in,size,out) dnextpow2a(in,size[0]*size[1],out)
+
+#define d2nextpow2d2(in,size,out) dnextpow2a(in,size[0]*size[1],out)
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_uint32.h b/src/c/elementaryFunctions/interfaces/int_uint32.h
new file mode 100644
index 0000000..7c9353b
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_uint32.h
@@ -0,0 +1,44 @@
+/* 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 __INT_UINT32_H__
+#define __INT_UINT32_H__
+
+#define s0uint32u320(in) suint32s(in)
+
+#define d0uint32u320(in) duint32s(in)
+
+#define u80uint32u320(in) u8uint32s(in)
+
+#define i80uint32u320(in) i8uint32s(in)
+
+#define u160uint32u320(in) u16uint32s(in)
+
+#define i160uint32u320(in) i16uint32s(in)
+
+#define i320uint32u320(in) i32uint32s(in)
+
+#define s2uint32u322(in,size,out) suint32a(in, size[0]*size[1], out)
+
+#define d2uint32u322(in,size,out) duint32a(in, size[0]*size[1], out)
+
+#define u82uint32u322(in,size,out) u8uint32a(in, size[0]*size[1], out)
+
+#define i82uint32u322(in,size,out) i8int32a(in, size[0]*size[1], out)
+
+#define u162uint32u322(in,size,out) u16uint32a(in, size[0]*size[1], out)
+
+#define i162uint32u322(in,size,out) i16uint32a(in, size[0]*size[1], out)
+
+#define i322uint32u322(in,size,out) i32uint32a(in, size[0]*size[1], out)
+
+#endif /* !__INT_UINT32_H__ */
diff --git a/src/c/elementaryFunctions/isreal/disreals.c b/src/c/elementaryFunctions/isreal/disreals.c
new file mode 100644
index 0000000..8c7c820
--- /dev/null
+++ b/src/c/elementaryFunctions/isreal/disreals.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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "isreal.h"
+
+double disreals(double a){
+ return 1;
+}
diff --git a/src/c/elementaryFunctions/isreal/sisreals.c b/src/c/elementaryFunctions/isreal/sisreals.c
new file mode 100644
index 0000000..4b93c02
--- /dev/null
+++ b/src/c/elementaryFunctions/isreal/sisreals.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: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "isreal.h"
+
+float sisreals(float a){
+ return 1;
+}
diff --git a/src/c/elementaryFunctions/linspace/slinspacea.c b/src/c/elementaryFunctions/linspace/slinspacea.c
new file mode 100644
index 0000000..38af394
--- /dev/null
+++ b/src/c/elementaryFunctions/linspace/slinspacea.c
@@ -0,0 +1,49 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include <stdlib.h>
+#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 <math.h>
+
+void dnextpow2a(double *in,int size,double *out)
+{
+ int i,j,s;
+ double k;
+ i=2;
+ for(s=0;s<size;s++)
+ {
+ j=-1;
+ do{
+ j++;
+ k=pow(i,j);
+ }while(in[s]>k);
+ 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<size;i++) out[i] = duint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/duint32s.c b/src/c/elementaryFunctions/uint32/duint32s.c
new file mode 100644
index 0000000..f507305
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/duint32s.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"
+
+uint32 duint32s(double x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/i16uint32a.c b/src/c/elementaryFunctions/uint32/i16uint32a.c
new file mode 100644
index 0000000..84d0fa0
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i16uint32a.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 i16uint32a(int16* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i16uint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/i16uint32s.c b/src/c/elementaryFunctions/uint32/i16uint32s.c
new file mode 100644
index 0000000..7d9ccef
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i16uint32s.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: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint32.h"
+
+uint32 i16uint32s(int16 x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/i32uint32a.c b/src/c/elementaryFunctions/uint32/i32uint32a.c
new file mode 100644
index 0000000..415711e
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i32uint32a.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 i32uint32a(int32* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i32uint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/i32uint32s.c b/src/c/elementaryFunctions/uint32/i32uint32s.c
new file mode 100644
index 0000000..63442f2
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i32uint32s.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: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint32.h"
+
+uint32 i32uint32s(int32 x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/i8uint32a.c b/src/c/elementaryFunctions/uint32/i8uint32a.c
new file mode 100644
index 0000000..0dca1b5
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i8uint32a.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 i8uint32a(int8* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i8uint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/i8uint32s.c b/src/c/elementaryFunctions/uint32/i8uint32s.c
new file mode 100644
index 0000000..46c0ecb
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i8uint32s.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint32.h"
+
+uint32 i8uint32s(int8 x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/suint32a.c b/src/c/elementaryFunctions/uint32/suint32a.c
new file mode 100644
index 0000000..2478c02
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/suint32a.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: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint32.h"
+
+void suint32a(float* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = suint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/suint32s.c b/src/c/elementaryFunctions/uint32/suint32s.c
new file mode 100644
index 0000000..3578b42
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/suint32s.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"
+
+uint32 suint32s(float x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/u16uint32a.c b/src/c/elementaryFunctions/uint32/u16uint32a.c
new file mode 100644
index 0000000..177bae2
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/u16uint32a.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 u16uint32a(uint16* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u16uint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/u16uint32s.c b/src/c/elementaryFunctions/uint32/u16uint32s.c
new file mode 100644
index 0000000..df258b2
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/u16uint32s.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"
+
+uint32 u16uint32s(uint16 x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/u8uint32a.c b/src/c/elementaryFunctions/uint32/u8uint32a.c
new file mode 100644
index 0000000..a89541b
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/u8uint32a.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 u8uint32a(uint8* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u8uint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/u8uint32s.c b/src/c/elementaryFunctions/uint32/u8uint32s.c
new file mode 100644
index 0000000..ac48fe2
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/u8uint32s.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"
+
+uint32 u8uint32s(uint8 x) {
+ return (uint32) x;
+}
diff --git a/src/c/hardware/rasberrypi/Digital/RPI_digitalReadByte.c b/src/c/hardware/rasberrypi/Digital/RPI_digitalReadByte.c
new file mode 100644
index 0000000..70fb685
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Digital/RPI_digitalReadByte.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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralDigital.h"
+
+/* Function to read the state of the first eight gpio pins */
+
+uint8 RPI_digitalReadByte(){
+ uint8 state=0;
+ state=digitalReadByte();
+ return (state);
+}
diff --git a/src/c/hardware/rasberrypi/Digital/u8RPI_digitalReads.c b/src/c/hardware/rasberrypi/Digital/u8RPI_digitalReads.c
new file mode 100644
index 0000000..0559406
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Digital/u8RPI_digitalReads.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 "RPIPeripheralDigital.h"
+
+/* Function to read the state of a gpio pin */
+
+uint8 u8RPI_digitalReads(uint8 pin){
+ uint8 state=0;
+ state=digitalRead(pin);
+ return (state);
+}
diff --git a/src/c/hardware/rasberrypi/Digital/u8RPI_digitalWriteBytes.c b/src/c/hardware/rasberrypi/Digital/u8RPI_digitalWriteBytes.c
new file mode 100644
index 0000000..6d0e4cd
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Digital/u8RPI_digitalWriteBytes.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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralDigital.h"
+
+/* Function to change the output state of the first eight gpio pins */
+
+void u8RPI_digitalWriteBytes(uint8 value){
+ digitalWriteByte(value);
+}
diff --git a/src/c/hardware/rasberrypi/Digital/u8RPI_digitalWrites.c b/src/c/hardware/rasberrypi/Digital/u8RPI_digitalWrites.c
new file mode 100644
index 0000000..02dce55
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Digital/u8RPI_digitalWrites.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 "RPIPeripheralDigital.h"
+
+/* Function to change the output state of the gpio pin */
+
+void u8RPI_digitalWrites(uint8 pin, uint8 state){
+ if (state == 0) /*low output*/
+ digitalWrite(pin,0);
+ else if (state == 1) /*high output*/
+ digitalWrite(pin,1);
+}
diff --git a/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg16s.c b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg16s.c
new file mode 100644
index 0000000..5d04f4b
--- /dev/null
+++ b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg16s.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 "RPIPeripheralI2C.h"
+
+int8 u16RPI_I2CReadReg16s(uint16 fd,uint16 reg){
+ int8 out;
+ out=wiringPiI2CReadReg16(fd,reg);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg8s.c b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg8s.c
new file mode 100644
index 0000000..2f4f1f7
--- /dev/null
+++ b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReadReg8s.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 "RPIPeripheralI2C.h"
+
+int8 u16RPI_I2CReadReg8s(uint16 fd,uint16 reg){
+ int8 out;
+ out=wiringPiI2CReadReg8(fd,reg);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReads.c b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReads.c
new file mode 100644
index 0000000..49c3673
--- /dev/null
+++ b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CReads.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 "RPIPeripheralI2C.h"
+
+int8 u16RPI_I2CReads(uint16 fd){
+ int8 out;
+ out=wiringPiI2CRead(fd);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/I2C/u16RPI_I2CSetups.c b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CSetups.c
new file mode 100644
index 0000000..f533a1f
--- /dev/null
+++ b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CSetups.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 "RPIPeripheralI2C.h"
+
+int8 u16RPI_I2CSetups(uint8 arrd){
+ int8 out;
+ out=wiringPiI2CSetup(arrd);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg16s.c b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg16s.c
new file mode 100644
index 0000000..b30c106
--- /dev/null
+++ b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg16s.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 "RPIPeripheralI2C.h"
+
+int8 u16RPI_I2CWriteReg16s(uint16 fd,uint16 data,uint16 reg){
+ int8 out;
+ out=wiringPiI2CWriteReg16(fd,data,reg);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg8s.c b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg8s.c
new file mode 100644
index 0000000..d2ebf3d
--- /dev/null
+++ b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWriteReg8s.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 "RPIPeripheralI2C.h"
+
+int8 u16RPI_I2CWriteReg8s(uint16 fd,uint16 data,uint16 reg){
+ int8 out;
+ out=wiringPiI2CWriteReg8(fd,data,reg);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWrites.c b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWrites.c
new file mode 100644
index 0000000..133ed65
--- /dev/null
+++ b/src/c/hardware/rasberrypi/I2C/u16RPI_I2CWrites.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 "RPIPeripheralI2C.h"
+
+int8 u16RPI_I2CWrites(uint16 fd,uint16 data){
+ int8 out;
+ wiringPiI2CWrite(fd,data);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/Interrupt/u8RPI_waitForInterrupts.c b/src/c/hardware/rasberrypi/Interrupt/u8RPI_waitForInterrupts.c
new file mode 100644
index 0000000..32a4a1f
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Interrupt/u8RPI_waitForInterrupts.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 "RPIPeripheralInterrupt.h"
+
+int8 u8RPI_waitForInterrupts(uint8 pin,int16 time){
+ int8 out;
+ out=waitForInterrupt(pin,time);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/Misc/RPI_boardRev.c b/src/c/hardware/rasberrypi/Misc/RPI_boardRev.c
new file mode 100644
index 0000000..c8ecf70
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Misc/RPI_boardRev.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 "RPIPeripheralMisc.h"
+
+uint8 RPI_boardRev(){
+ uint8 out;
+ out=piBoardRev();
+ return out;
+}
diff --git a/src/c/hardware/rasberrypi/Misc/u16RPI_sn3218Setups.c b/src/c/hardware/rasberrypi/Misc/u16RPI_sn3218Setups.c
new file mode 100644
index 0000000..ab22990
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Misc/u16RPI_sn3218Setups.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 "RPIPeripheralMisc.h"
+
+int8 u16RPI_sn3218Setups(uint16 pinBase){
+ int8 out;
+ out=sn3218Setup(pinBase);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/Misc/u8RPI_padDrives.c b/src/c/hardware/rasberrypi/Misc/u8RPI_padDrives.c
new file mode 100644
index 0000000..ce13e08
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Misc/u8RPI_padDrives.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 "RPIPeripheralMisc.h"
+
+void u8RPI_padDrives(uint8 group,uint8 strength){
+ setPadDrive(group,strength);
+}
diff --git a/src/c/hardware/rasberrypi/NotYetDone/INIT_FillSCI2LivCDirs.backup b/src/c/hardware/rasberrypi/NotYetDone/INIT_FillSCI2LivCDirs.backup
new file mode 100644
index 0000000..c1db609
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/INIT_FillSCI2LivCDirs.backup
@@ -0,0 +1,316 @@
+
+//------------------------------------
+//---- Class RPI_DigitalSetup --------
+//------------------------------------
+ClassName = 'RPI_DigitalSetup';
+
+// --- 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(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'RPI_DigitalSetup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'RPI_DigitalOut';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'RPI_HardPWMWrite';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class RPI_DigitalIn -----------
+//------------------------------------
+ClassName = 'RPI_DigitalIn';
+
+// --- 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');
+
+// --- Function List Class. ---
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+
+PrintStringInfo(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'RPI_DigitalIn';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class RPI_delay ----------
+//------------------------------------
+ClassName = 'RPI_delay';
+
+//--- 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(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+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);
+
+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_HardPWMSetRange';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'RPI_HardPWMSetClock';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+FunctionName = 'RPI_HardPWMSetMode';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class RPI_milli ----------
+//------------------------------------
+ClassName = 'RPI_milli';
+
+// --- 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('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_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_SetupSerial ----------
+//------------------------------------
+ClassName = 'RPI_SetupSerial';
+
+// --- 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(''+ArgSeparator+'',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'RPI_SerialSetup';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class RPI_SetupClose ----------
+//------------------------------------
+//ClassName = 'RPI_SetupClose';
+
+// --- 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');
+
+// --- Function List Class. ---
+//ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+
+//PrintStringInfo(''+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);
+
+//------------------------------------
+//---- Class RPI_SerialSendData ----------
+//------------------------------------
+ClassName = 'RPI_SerialSendData';
+
+// --- 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+'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');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'RPI_SerialSendData';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class RPI_SerialDataAvail ----------
+//------------------------------------
+ClassName = 'RPI_SerialDataAvail';
+
+// --- 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('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_SerialDataAvail';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+FunctionName = 'RPI_SerialGetChar';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class RPI_ThreadCreate ----------
+//------------------------------------
+ClassName = 'RPI_ThreadCreate';
+
+// --- 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('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_ThreadCreate';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class RPI_PinISR --------------
+//------------------------------------
+ClassName = 'RPI_PinISR';
+
+// --- 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('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_PinISR';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
diff --git a/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_adress.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_adress.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_adress.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_analogRead.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_analogRead.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_analogRead.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_analogWrite.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_analogWrite.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_analogWrite.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_commande.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_commande.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_commande.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_i2cdetect.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_i2cdetect.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_i2cdetect.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_send.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_send.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/RPI_send.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/ISR/i16RPIPinISRs.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/ISR/i16RPIPinISRs.c
index 6e398a1..6e398a1 100644
--- a/src/c/hardware/rasberrypi/ISR/i16RPIPinISRs.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/ISR/i16RPIPinISRs.c
diff --git a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/gpio/RPI_DigitalRead.c
index 7b84350..4ab496e 100644
--- a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/gpio/RPI_DigitalRead.c
@@ -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
*/
diff --git a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/gpio/RPI_DigitalWrite.c
index f828f77..259bb3b 100644
--- a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/gpio/RPI_DigitalWrite.c
@@ -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
*/
diff --git a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/gpio/RPI_pinMode.c
index f5fefe0..8646e8f 100644
--- a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/gpio/RPI_pinMode.c
@@ -5,12 +5,13 @@
you 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
*/
/* Function to setup digital pins
+ direction = 2 -> PWM_output (BCM pin 18 only)
direction = 1 -> output
direction = 0 -> input
*/
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmClock.c
index d06b135..0ad575b 100644
--- a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmClock.c
@@ -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
*/
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmMode.c
index 0cca7a7..7679a1a 100644
--- a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmMode.c
@@ -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
*/
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmRange.c
index b2489f5..07936b3 100644
--- a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmRange.c
@@ -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
*/
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmWrite.c
index ae02bf0..a16a1d8 100644
--- a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/pwm/RPI_pwmWrite.c
@@ -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
*/
diff --git a/src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/dRPISerialSendDataa.c
index f990255..f990255 100644
--- a/src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/dRPISerialSendDataa.c
diff --git a/src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/dRPISerialSendDatas.c
index 39112fc..39112fc 100644
--- a/src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/dRPISerialSendDatas.c
diff --git a/src/c/hardware/rasberrypi/serial/gRPISerialSendDatas.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/gRPISerialSendDatas.c
index f4ec8a8..f4ec8a8 100644
--- a/src/c/hardware/rasberrypi/serial/gRPISerialSendDatas.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/gRPISerialSendDatas.c
diff --git a/src/c/hardware/rasberrypi/serial/i16RPISerialDataAvails.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialDataAvails.c
index b56a819..b56a819 100644
--- a/src/c/hardware/rasberrypi/serial/i16RPISerialDataAvails.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialDataAvails.c
diff --git a/src/c/hardware/rasberrypi/serial/i16RPISerialGetChars.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialGetChars.c
index 18ca2a7..18ca2a7 100644
--- a/src/c/hardware/rasberrypi/serial/i16RPISerialGetChars.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialGetChars.c
diff --git a/src/c/hardware/rasberrypi/serial/i16RPISerialSendDataa.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialSendDataa.c
index 24180f4..24180f4 100644
--- a/src/c/hardware/rasberrypi/serial/i16RPISerialSendDataa.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialSendDataa.c
diff --git a/src/c/hardware/rasberrypi/serial/i16RPISerialSendDatas.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialSendDatas.c
index fe6fe6f..fe6fe6f 100644
--- a/src/c/hardware/rasberrypi/serial/i16RPISerialSendDatas.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i16RPISerialSendDatas.c
diff --git a/src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i8RPISerialSendDataa.c
index c4dd199..c4dd199 100644
--- a/src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i8RPISerialSendDataa.c
diff --git a/src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i8RPISerialSendDatas.c
index e637871..e637871 100644
--- a/src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/i8RPISerialSendDatas.c
diff --git a/src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/sRPISerialSendDataa.c
index 14c0bc7..14c0bc7 100644
--- a/src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/sRPISerialSendDataa.c
diff --git a/src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/sRPISerialSendDatas.c
index ff78dd1..ff78dd1 100644
--- a/src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/sRPISerialSendDatas.c
diff --git a/src/c/hardware/rasberrypi/serial/u16RPISerialSendDataa.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u16RPISerialSendDataa.c
index b444047..b444047 100644
--- a/src/c/hardware/rasberrypi/serial/u16RPISerialSendDataa.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u16RPISerialSendDataa.c
diff --git a/src/c/hardware/rasberrypi/serial/u16RPISerialSendDatas.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u16RPISerialSendDatas.c
index b4a90c2..b4a90c2 100644
--- a/src/c/hardware/rasberrypi/serial/u16RPISerialSendDatas.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u16RPISerialSendDatas.c
diff --git a/src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u16RPISerialSetups.c
index cde4cba..cde4cba 100644
--- a/src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u16RPISerialSetups.c
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialCloses.c
index 5162d15..5162d15 100644
--- a/src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialCloses.c
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialFlushs.c
index c80a92c..c80a92c 100644
--- a/src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialFlushs.c
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialSendChars.c
index e381351..e381351 100644
--- a/src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialSendChars.c
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialSendDataa.c
index 9d09714..9d09714 100644
--- a/src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialSendDataa.c
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialSendDatas.c
index 9edb439..9edb439 100644
--- a/src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/serial/u8RPISerialSendDatas.c
diff --git a/src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/threading/u16RPIThreadCreates.c
index c05c959..c05c959 100644
--- a/src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/threading/u16RPIThreadCreates.c
diff --git a/src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_delay.c
index 2679086..8374c2b 100644
--- a/src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_delay.c
@@ -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
*/
@@ -17,7 +17,7 @@
#include "types.h"
#include "RPIPeripheralTiming.h"
-void u16RPIDelayMillis(uint16 time)
+void u16RPI_delay(uint16 time)
{
delay(time);
diff --git a/src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_delayMicro.c
index 9aeeab7..df2a7a7 100644
--- a/src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_delayMicro.c
@@ -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
*/
@@ -15,7 +15,7 @@
#include "types.h"
#include "RPIPeripheralTiming.h"
-void u16RPIDelayMicros(uint16 time)
+void u16RPI_delayMicro(uint16 time)
{
delayMicroseconds(time);
}
diff --git a/src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_micros.c
index eb086a9..8d06742 100644
--- a/src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_micros.c
@@ -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
*/
@@ -15,7 +15,7 @@
#include "types.h"
#include "RPIPeripheralTiming.h"
-uint32 u32RPIGetMicros()
+uint32 u32RPI_micros()
{
return(micros());
-} \ No newline at end of file
+}
diff --git a/src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_millis.c
index c118975..92b6e1b 100644
--- a/src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/backup/timing/RPI_millis.c
@@ -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
*/
@@ -15,7 +15,7 @@
#include "types.h"
#include "RPIPeripheralTiming.h"
-uint32 u32RPIGetMillis()
+uint32 u32RPI_millis()
{
return(millis());
-} \ No newline at end of file
+}
diff --git a/src/c/hardware/rasberrypi/NotYetDone/NotToDo/raspi.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/raspi.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/raspi.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/NotToDo/raspi_close.c b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/raspi_close.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/NotToDo/raspi_close.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/SPI/RPI_SPIDataRW.c b/src/c/hardware/rasberrypi/NotYetDone/SPI/RPI_SPIDataRW.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/SPI/RPI_SPIDataRW.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/SPI/RPI_SPISetup.c b/src/c/hardware/rasberrypi/NotYetDone/SPI/RPI_SPISetup.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/SPI/RPI_SPISetup.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64Orientation.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64Orientation.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64Orientation.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64circle.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64circle.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64circle.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64clear.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64clear.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64clear.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64ellipse.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64ellipse.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64ellipse.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64line.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64line.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64line.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64lineTo.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64lineTo.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64lineTo.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64point.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64point.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64point.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64putchar.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64putchar.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64putchar.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64puts.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64puts.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64puts.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64rectangle.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64rectangle.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64rectangle.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64setOrigin.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64setOrigin.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64setOrigin.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64setup.c b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64setup.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/lcd128x64/RPI_lcd128x64setup.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_locks.c b/src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_locks.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_locks.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_prioritys.c b/src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_prioritys.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_prioritys.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_unlocks.c b/src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_unlocks.c
new file mode 100644
index 0000000..3e94b92
--- /dev/null
+++ b/src/c/hardware/rasberrypi/NotYetDone/multiThreading/u8RPI_unlocks.c
@@ -0,0 +1,13 @@
+/* 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
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "types.h" \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/Serial/gRPI_serialOpena.c b/src/c/hardware/rasberrypi/Serial/gRPI_serialOpena.c
new file mode 100644
index 0000000..31543af
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Serial/gRPI_serialOpena.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 "RPIPeripheralSerial.h"
+
+int8 gRPI_serialOpena(char* device,int size,uint32 baud){
+ int8 fd;
+ fd = serialOpen(device,baud);
+ return fd;
+}
diff --git a/src/c/hardware/rasberrypi/Serial/u8RPI_serialCloses.c b/src/c/hardware/rasberrypi/Serial/u8RPI_serialCloses.c
new file mode 100644
index 0000000..d20aa54
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Serial/u8RPI_serialCloses.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 "RPIPeripheralSerial.h"
+
+void u8RPI_serialCloses(uint8 fd){
+ serialClose(fd);
+}
diff --git a/src/c/hardware/rasberrypi/Serial/u8RPI_serialDataAvails.c b/src/c/hardware/rasberrypi/Serial/u8RPI_serialDataAvails.c
new file mode 100644
index 0000000..cf25607
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Serial/u8RPI_serialDataAvails.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 "RPIPeripheralSerial.h"
+
+uint8 u8RPI_serialDataAvails(uint8 fd){
+ uint8 out;
+ out=serialDataAvail(fd);
+ return(out);
+}
diff --git a/src/c/hardware/rasberrypi/Serial/u8RPI_serialFlushs.c b/src/c/hardware/rasberrypi/Serial/u8RPI_serialFlushs.c
new file mode 100644
index 0000000..4d15063
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Serial/u8RPI_serialFlushs.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 "RPIPeripheralSerial.h"
+
+void u8RPI_serialFlushs(uint8 fd){
+ serialFlush(fd);
+}
diff --git a/src/c/hardware/rasberrypi/Serial/u8RPI_serialGetchars.c b/src/c/hardware/rasberrypi/Serial/u8RPI_serialGetchars.c
new file mode 100644
index 0000000..c1dabfd
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Serial/u8RPI_serialGetchars.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 "RPIPeripheralSerial.h"
+
+void u8RPI_serialGetchars(uint8 fd,char* out){
+ out=serialGetchar(fd);
+}
diff --git a/src/c/hardware/rasberrypi/Serial/u8RPI_serialPrintfs.c b/src/c/hardware/rasberrypi/Serial/u8RPI_serialPrintfs.c
new file mode 100644
index 0000000..d167200
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Serial/u8RPI_serialPrintfs.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 "RPIPeripheralSerial.h"
+
+void u8RPI_serialPrintfs(uint8 fd,char* msg,int size){
+ serialPrintf(fd,msg);
+}
diff --git a/src/c/hardware/rasberrypi/Serial/u8RPI_serialPutchars.c b/src/c/hardware/rasberrypi/Serial/u8RPI_serialPutchars.c
new file mode 100644
index 0000000..3309317
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Serial/u8RPI_serialPutchars.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 "RPIPeripheralSerial.h"
+
+void u8RPI_serialPutchars(uint8 fd,uint8 character){
+ serialPutchar(fd,character);
+}
diff --git a/src/c/hardware/rasberrypi/Serial/u8RPI_serialPutss.c b/src/c/hardware/rasberrypi/Serial/u8RPI_serialPutss.c
new file mode 100644
index 0000000..581e15a
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Serial/u8RPI_serialPutss.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 "RPIPeripheralSerial.h"
+
+void u8RPI_serialPutss(uint8 fd,char* character,int size){
+ serialPuts(fd,character);
+}
diff --git a/src/c/hardware/rasberrypi/Setup/gRPI_pinNumberinga.c b/src/c/hardware/rasberrypi/Setup/gRPI_pinNumberinga.c
new file mode 100644
index 0000000..4170f4c
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Setup/gRPI_pinNumberinga.c
@@ -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: Jorawar Singh, Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralSetup.h"
+#include "stdio.h"
+
+int8 gRPI_pinNumberinga(char* seq,int size){
+ uint8 out;
+ if (seq[0]=='w'){
+ out=wiringPiSetup();
+ }
+ else if (seq[0]=='G'){
+ out=wiringPiSetupGpio();
+ }
+ else if (seq[0]=='P'){
+ out=wiringPiSetupPhys();
+ }
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/Setup/u8RPI_getAlts.c b/src/c/hardware/rasberrypi/Setup/u8RPI_getAlts.c
new file mode 100644
index 0000000..0a5c476
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Setup/u8RPI_getAlts.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 "RPIPeripheralSetup.h"
+
+uint8 u8RPI_getAlts(uint8 pin){
+ uint8 out;
+ out=getAlt(pin);
+ return (out);
+}
diff --git a/src/c/hardware/rasberrypi/Setup/u8RPI_pinModeAlts.c b/src/c/hardware/rasberrypi/Setup/u8RPI_pinModeAlts.c
new file mode 100644
index 0000000..153b88e
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Setup/u8RPI_pinModeAlts.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 "RPIPeripheralSetup.h"
+
+void u8RPI_pinModeAlts(uint8 pin,uint8 mode){
+ pinModeAlt(pin,mode);
+}
diff --git a/src/c/hardware/rasberrypi/Setup/u8RPI_pinModes.c b/src/c/hardware/rasberrypi/Setup/u8RPI_pinModes.c
new file mode 100644
index 0000000..76601f8
--- /dev/null
+++ b/src/c/hardware/rasberrypi/Setup/u8RPI_pinModes.c
@@ -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
+*/
+
+#include <stdio.h>
+#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/includes/RPIPeripheralDigital.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h
index 2f40ffb..842fd73 100644
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h
@@ -19,15 +19,14 @@
extern "C" {
#endif
-
#include "types.h"
-#include "wiringPi.h"
-extern int phy_pin[];
+extern int phy_pin[]; //Not needed???
-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/RPIPeripheralThreading.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralInterrupt.h
index a7b2adb..d9fc30f 100644
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralThreading.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralInterrupt.h
@@ -5,24 +5,23 @@
you 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 __RPIPERIPHERALTHREADING_H__
-#define __RPIPERIPHERALTHREADING_H__
-
-#include "types.h"
-#include "wiringPi.h"
+#ifndef __RPIPERIPHERALINTERRUPT_H__
+#define __RPIPERIPHERALINTERRUPT_H__
#ifdef __cplusplus
extern "C" {
#endif
-uint16 RPIThreadCreate(void *(*threadFunction)(void*));
+#include "types.h"
+
+int8 u8RPI_waitForInterrupts(uint8 pin,int16 time);
#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__RPIPERIPHERALTHREADING_H__*/
+#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/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/interfaces/int_permute.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralMisc.h
index 66049ac..0ef5acc 100644
--- a/interfaces/int_permute.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralMisc.h
@@ -5,24 +5,27 @@
you 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 __INT_PERMUTE_H__
-#define __INT_PERMUTE_H__
-
+#ifndef __RPIPERIPHERALMISC_H__
+#define __RPIPERIPHERALMISC_H__
#ifdef __cplusplus
-#extern "C" {
+extern "C" {
#endif
-#define d2d2permuted2(in1, size1, in2, size2, out) (if(in2[0]==1)?in1: \
- dtransposea(in1, size1[0],size1[1],out))
+#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" */
+} /* extern "C" */
#endif
-#endif /*__INT_FLIPDIM_H__*/
+#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/RPIPeripheralPinMap.h
index fc5a8d0..39c2379 100644
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralPinISR.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralPinMap.h
@@ -5,22 +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 __RPIPERIPHERALPINISR_H__
-#define __RPIPERIPHERALPINISR_H__
-
+#ifndef __RPIPERIPHERALPINMAP_H__
+#define __RPIPERIPHERALPINMAP_H__
#ifdef __cplusplus
extern "C" {
#endif
-int16 i16RPIPinISRs(uint8 pin, uint8 edgetype, void (*ISRFunction)(void));
+#include "types.h"
+
+int8 u8RPI_physToGpios(uint8 pin);
+int8 u8RPI_wpiToGpios(uint8 pin);
#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__RPIPERIPHERALPINISR_H__*/
+#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/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..7de051f 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,13 @@
extern "C" {
#endif
-#define RPI_DigitalSetup(in1,in2) u8RPIDigitalSetups((uint8) in1, (uint8) in2);
-
-#define RPI_DigitalIn(in1) u8RPIDigitalIns((uint8) in1);
-
-#define RPI_DigitalOut(in1,in2) u8RPIDigitalOuts((uint8) in1, (uint8) in2);
+#define u80RPI_digitalReadu80(pin) u8RPI_digitalReads(pin);
+#define RPI_digitalReadByteu80() RPI_digitalReadByte();
+#define u80u80RPI_digitalWrite(pin,state) u8RPI_digitalWrites(pin,state);
+#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/string/strchr/int_strchr.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralInterrupt.h
index 8747545..cb55572 100644
--- a/src/c/string/strchr/int_strchr.h
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralInterrupt.h
@@ -5,21 +5,25 @@
you 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
+ Author: Jorawar Singh, Siddhesh Wani
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
- */
-#ifndef __INT_STRCHR_H__
-#define __INT_STRCHR_H__
+*/
-#ifdef __cplusplus
+#ifndef __INT_RPIPERIPHERALINTERRUPT_H__
+#define __INT_RPIPERIPHERALINTERRUPT_H__
+
+#include "types.h"
+#include "RPIPeripheralInterrupt.h"
+
+#ifdef __cplusplus
extern "C" {
#endif
-#define g2g2strchrg2(str,size,key,size2,out) gstrchra(str,size[1],key,size2[1],out)
+#define u80i160RPI_waitForInterrupti80(pin,time) u8RPI_waitForInterrupts(pin,time);
-#ifdef __cplusplus
+#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__INT_STRCHR_H__*/
+#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..da23bee
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralLCD.h
@@ -0,0 +1,40 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Jorawar Singh, Siddhesh Wani
+ 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_lcdPutss(fd,msg,size) u8RPI_lcdPutss(fd,msg,size[1]);;
+#define u80g2RPI_lcdPrintfs(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_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/string/strcspn/int_strcspn b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinMap.h
index f2da3e4..39c5c01 100644
--- a/src/c/string/strcspn/int_strcspn
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinMap.h
@@ -5,21 +5,26 @@
you 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
+ Author: Jorawar Singh, Siddhesh Wani
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
- */
-#ifndef __INT_STRCSPN_H__
-#define __INT_STRCSPN_H__
+*/
-#ifdef __cplusplus
+#ifndef __INT_RPIPERIPHERALPINMAP_H__
+#define __INT_RPIPERIPHERALPINMAP_H__
+
+#include "types.h"
+#include "RPIPeripheralPinMap.h"
+
+#ifdef __cplusplus
extern "C" {
#endif
-#define g2g2strcspnu80(str1,size1,str2,size2) gstrcspna(str1,size1,str2,size2)
+#define u80RPI_physToGpioi80(pin) u8RPI_physToGpios(pin);
+#define u80RPI_wpiToGpioi80(pin) u8RPI_wpiToGpios(pin);
-#ifdef __cplusplus
+#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /* __INT_STRCSPN_H__*/
+#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..0e1f7b4
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralSetup.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_RPIPERIPHERALSETUP_H__
+#define __INT_RPIPERIPHERALSETUP_H__
+
+#include "RPIPeripheralSetup.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define g2RPI_pinNumberingi80(seq,size) gRPI_pinNumberinga(seq,size[1]);
+#define u80RPI_getAltu80(pin) u8RPI_getAlts(pin);
+#define u80u80RPI_pinModeAlt(pin,mode) u8RPI_pinModeAlts(pin,mode);
+#define u80g2RPI_pinMode(pin,mode,size) u8RPI_pinModes(pin,mode,size[1]);
+#define u80g2RPI_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_RPIPeripheralTiming.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h
index 1a70465..5c4e618 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,13 @@
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 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/interfaces/int_logspace.h b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCharDefs.c
index 2c24400..b85d82f 100644
--- a/interfaces/int_logspace.h
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCharDefs.c
@@ -5,16 +5,14 @@
you 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: Mushir
+ Author: Jorawar Singh, Siddhesh Wani
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
-#ifndef __INT_LOGSPACE_H__
-#define __INT_LOGSPACE_H__
+#include "RPIPeripheralLCD.h"
-#define d0d0d0logspaced2(in1,in2,in3,out) dlogspaces(in1,in2,in3,out)
-
-#define d2d2d0logspaced2(in1,size1,in2,size2,in3,out) dlogspacea(in1,size1[0],in2,in3,out)
-
-#endif
+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/interfaces/int_bitset.h b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursors.c
index a37160b..8bb0271 100644
--- a/interfaces/int_bitset.h
+++ b/src/c/hardware/rasberrypi/lcd/u8RPI_lcdCursors.c
@@ -5,19 +5,13 @@
you 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: Mushir
+ Author: Jorawar Singh, Siddhesh Wani
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
-#ifndef __INT_BITSET_H__
-#define __INT_BITSET_H__
+#include "RPIPeripheralLCD.h"
-#define u80d0d0bitsetu80(in1,in2,in3) u8bitsets(in1,in2,in3)
-
-#define u160d0d0bitsetu160(in1,in2,in3) u16bitsets(in1,in2,in3)
-
-
-
-
-#endif
+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/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/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/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/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 <string.h>
+
+#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 <string.h>
+
+#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 <string.h>
+
+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;i<size3;i++)
+ {
+ f=0;
+ for(j=0;j<size1;j++)
+ {
+ if(q[i]==x[j])
+ {
+ out[i]=fx[j];
+ f=1;
+ break;
+ }
+ }
+ if(f==0)
+ {
+ j=0;
+ while(q[i]>x[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;i<size3;i++)
+ {
+ f=0;
+ for(j=0;j<size1;j++)
+ {
+ if(q[i]==x[j])
+ {
+ out[i]=fx[j];
+ f=1;
+ break;
+ }
+ }
+ if(f==0)
+ {
+ j=0;
+ while(q[i]>x[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 <string.h>
+
+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;i<size3;i++)
+ {
+ f=0;
+ for(j=0;j<size1;j++)
+ {
+ if(q[i]==x[j])
+ {
+ out[i]=fx[j];
+ f=1;
+ break;
+ }
+ }
+ if(f==0)
+ {
+ j=0;
+ while(q[i]>x[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;i<size3;i++)
+ {
+ f=0;
+ for(j=0;j<size1;j++)
+ {
+ if(q[i]==x[j])
+ {
+ out[i]=fx[j];
+ f=1;
+ break;
+ }
+ }
+ if(f==0)
+ {
+ j=0;
+ while(q[i]>x[j])
+ {
+ j++;
+ }
+ out[i]=fx[j];
+ }
+ }
+ }
+}
+
+
diff --git a/src/c/linearAlgebra/bdiag/dbdiaga.c b/src/c/linearAlgebra/bdiag/dbdiaga.c
new file mode 100644
index 0000000..fd455ba
--- /dev/null
+++ b/src/c/linearAlgebra/bdiag/dbdiaga.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: Sandeep Gupta
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+/*This function performs the block-diagonalization of matrix A.*/
+
+/*--------------------------------------------------------------------------*/
+/* [Ab [,X [,bs]]]=bdiag(A [,rMax]) */
+/*--------------------------------------------------------------------------*/
+
+#include <stdio.h>
+#include "string.h"
+#include "stdlib.h"
+#include "lapack.h"
+
diff --git a/src/c/linearAlgebra/hess/dhessa.c b/src/c/linearAlgebra/hess/dhessa.c
new file mode 100644
index 0000000..57f81b3
--- /dev/null
+++ b/src/c/linearAlgebra/hess/dhessa.c
@@ -0,0 +1,81 @@
+/* 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 finds the hessenberg form of a matrix A.*/
+
+#include "hess.h"
+#include <stdio.h>
+#include "string.h"
+#include "stdlib.h"
+#include "lapack.h"
+#include "matrixTranspose.h"
+#include "matrixMultiplication.h"
+
+extern int dgehrd_(int *, int *,int *,double *,int *,double *,double *,int *,int *);
+extern int dorghr_(int *, int *,int *,double *,int *,double *,double *,int *,int *);
+
+
+void dhessa(double *in1,int size,int nout,double *out1, double *out2){
+ int i,j,k;
+ int N = size;
+ int ILO=1;
+ int IHI=N;
+ double *A;
+ int LDA=N;
+ double *TAU;
+ double *WORK;
+ int LWORK = N;
+ int INFO;
+ A = (double *)malloc((double)size*size*sizeof(double));
+ memcpy(A,in1,size*size*sizeof(double));
+ TAU = (double *)malloc((double)size*sizeof(double));
+ WORK = (double *)malloc((double)LWORK*sizeof(double));
+ dgehrd_(&N,&ILO,&IHI,A,&LDA,TAU,WORK,&N,&INFO);
+
+ for(i=0;i<N;i++)
+ for(j=0;j<N;j++)
+ out2[i+j*N] = A[i+j*N];
+
+ for(j=1;j<=N-2;j++){
+ for(i=j+2;i<=N;i++){
+ out2[(i-1)+(j-1)*N] = 0;
+ }
+ }
+
+ if(nout > 1){
+ dorghr_(&N,&ILO,&IHI,A,&LDA,TAU,WORK,&LWORK,&INFO);
+ for(i=0;i<N;i++)
+ for(j=0;j<N;j++)
+ out1[i+j*N] = A[i+j*N];
+ }
+
+ /*for(i=0;i<N;i++){
+ for(j=0;j<N;j++){
+ if(i == j) out1[i+j*N]=1;
+ else out1[i+j*N]=0;
+ }
+ }
+ double result[size*size];
+ for(i=IHI-2;i>=ILO-1;i--){
+ tau = TAU[i];
+ double V[size],v[size],v1[size*size];
+ for(j=0;j<i;j++) V[j]=0;
+ V[j]=1*tau;
+ for(j=i+1;j<IHI;j++) V[j] = tau*A[j+i*N];
+ dtransposea (V,N,1,v);
+ dmulma(V,N,1,v,1,N,v1);
+ for(j=0;j<N;j++) for(k=0;k<N;k++) if(j == k) v1[j+k*N]--;
+ for(j=0;j<N;j++) for(k=0;k<N;k++) result[j+k*N] = out1[j+k*N];
+ dmulma(v1,N,N,result,N,N,out1);
+ }*/
+ //out2 = NULL;
+}
diff --git a/interfaces/int_lqe.h b/src/c/linearAlgebra/includes/hess.h
index d801bf3..b9c53de 100644
--- a/interfaces/int_lqe.h
+++ b/src/c/linearAlgebra/includes/hess.h
@@ -5,21 +5,22 @@
you 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: Sandeep Gupta
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
-#ifndef __INT_LQE_H__
-#define __INT_LQE_H__
+#ifndef __HESS_H__
+#define __HESS_H__
+#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
-#define ss2lqed2d2(in1,size1,out1,out2) dlqea(in1,size1[0],size1[1],out1,out2);
+void dhessa(double *in1,int size,int nout,double *out1,double *out2);
-#ifdef __cplusplus
+#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__INT_LQE_H__*/
+#endif /*__HESS_H__*/
diff --git a/src/c/linearAlgebra/includes/spec.h b/src/c/linearAlgebra/includes/spec.h
new file mode 100644
index 0000000..3cd0b18
--- /dev/null
+++ b/src/c/linearAlgebra/includes/spec.h
@@ -0,0 +1,59 @@
+/*
+ * 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);
+
+/*Edited by - Sandeep Gupta, IITB FOSSEE*/
+void dspec1a(double *in1,double *in2,int size,int nout,doubleComplex *out1,double *out2,doubleComplex *out3,doubleComplex *out4);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __SPEC_H__ */
diff --git a/interfaces/int_lqr.h b/src/c/linearAlgebra/includes/sva.h
index e6f534f..ea628a3 100644
--- a/interfaces/int_lqr.h
+++ b/src/c/linearAlgebra/includes/sva.h
@@ -5,21 +5,25 @@
you 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: Sandeep Gupta
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
-#ifndef __INT_LQR_H__
-#define __INT_LQR_H__
+
+#ifndef __SVA_H__
+#define __SVA_H__
+#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
-#define ss2lqrd2d2(in1,size1,out1,out2) dlqra(in1,size1[0],size1[1],out1,out2);
+void dsvaa(int ninp,double *in1,int row,int col,double in2,double *out1, \
+ double *out2,double *out3);
-#ifdef __cplusplus
+#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__INT_LQR_H__*/
+#endif /*__SVA_H__*/
+
diff --git a/src/c/linearAlgebra/includes/svd.h b/src/c/linearAlgebra/includes/svd.h
new file mode 100644
index 0000000..260b87f
--- /dev/null
+++ b/src/c/linearAlgebra/includes/svd.h
@@ -0,0 +1,30 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Sandeep Gupta
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __SVD_H__
+#define __SVD_H__
+#include "types.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dsvda(double *in1,int row,int col,double in2,double nout,double *out1, \
+ double *out2,double *out3);
+void zsvda(doubleComplex *in1,int row,int col,int in2,int nout, doubleComplex *out1,\
+ doubleComplex *out2,doubleComplex *out3);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__SVD_H__*/
diff --git a/interfaces/int_rcond.h b/src/c/linearAlgebra/interfaces/int_hess.h
index 6e6a445..fb2ca72 100644
--- a/interfaces/int_rcond.h
+++ b/src/c/linearAlgebra/interfaces/int_hess.h
@@ -5,21 +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: Sandeep Gupta
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
-#ifndef __INT_RCOND_H__
-#define __INT_RCOND_H__
+
+#ifndef __INT_HESS_H__
+#define __INT_HESS_H__
#ifdef __cplusplus
extern "C" {
#endif
-#define d2rcondd0(in1,size1) drconda(in1,size1[0])
+#define d2hessd2(in1,size,out2) dhessa(in1,size[0],1,NULL,out2);
+#define d2hessd2d2(in1,size,out1,out2) dhessa(in1,size[0],2,out1,out2);
#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__INT_RCOND_H__*/
+#endif /*__INT_HESS_H__*/
+
diff --git a/interfaces/int_spec.h b/src/c/linearAlgebra/interfaces/int_spec.h
index 77ab55e..8772a6a 100644
--- a/interfaces/int_spec.h
+++ b/src/c/linearAlgebra/interfaces/int_spec.h
@@ -8,6 +8,7 @@
* are also available at
* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
*
+ * Edited - Sandeep Gupta (FOSSEE) - IIT Bombay
*/
/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
@@ -26,13 +27,13 @@
#define z0specz0(in) zspecs(in)
#define s2specc2(in,size,out) {float* ZEROS;\
- ZEROS=malloc((uint)(size[0]*size[0]*sizeof(float)));\
+ ZEROS=(float *)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)));\
+ ZEROS=(double *)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);\
}
@@ -52,13 +53,13 @@
#define z0specz0z0(in,out) zspec2s(in,out)
#define s2specc2c2(in,size,out1,out2) {float* ZEROS;\
- ZEROS=malloc((uint)(size[0]*size[0]*sizeof(float)));\
+ ZEROS=(float *)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)));\
+ ZEROS=(double *)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 );\
}
@@ -68,4 +69,11 @@
#define z2specz2z2(in,size,out1,out2) zspec2a(in, size[0], out2, out1)
+/*Edited by Sandeep Gupta, IITB, FOSSEE Project.spec(A,B) */
+
+#define d2d2specz2(in1,size,in2,size2,out1) dspec1a(in1,in2,size[0],1,out1,NULL,NULL,NULL)
+#define d2d2specz2d2(in1,size,in2,size2,out1,out2) dspec1a(in1,in2,size[0],2,out1,out2,NULL,NULL)
+#define d2d2specz2d2z2(in1,size,in2,size2,out1,out2,out3) dspec1a(in1,in2,size[0],3,out1,out2,out3,NULL)
+#define d2d2specz2d2z2z2(in1,size,in2,size2,out1,out2,out3,out4) dspec1a(in1,in2,size[0],4,out1,out2,out3,out4)
+
#endif /* !__INT_SPEC_H__ */
diff --git a/interfaces/int_balanc.h b/src/c/linearAlgebra/interfaces/int_sva.h
index a16ba8c..4a2ec56 100644
--- a/interfaces/int_balanc.h
+++ b/src/c/linearAlgebra/interfaces/int_sva.h
@@ -1,29 +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: Siddhesh Wani
+ Author: Sandeep Gupta
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
-#ifndef __INT_BALANC_H__
-#define __INT_BALANC_H__
+
+#ifndef __INT_SVA_H__
+#define __INT_SVA_H__
#ifdef __cplusplus
extern "C" {
#endif
-#define d2balancd2d2(in1,size1,out1,out2) dbalanca(in1,size1[0],NULL,out1, \
- out2,NULL,NULL)
-
-#define d2d2balancd2d2d2d2(in1,size1,in2,size2,out1,out2,out3,out4) \
- dbalanca(in1,size1[0],in2,out1,out2,out3,out4)
+#define d2svad2d2d2(in1,size,out1,out2,out3) dsvaa(1,in1,size[0],size[1],0,out1,out2,out3);
+#define d2d0svad2d2d2(in1,size1,in2,size2,out1,out2,out3) dsvaa(2,in1,size1[0],size1[1],in2,out1,out2,out3);
#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__INT_BALANC_H__*/
+#endif /*__INT_SVA_H__*/
+
diff --git a/src/c/linearAlgebra/interfaces/int_svd.h b/src/c/linearAlgebra/interfaces/int_svd.h
new file mode 100644
index 0000000..449ee74
--- /dev/null
+++ b/src/c/linearAlgebra/interfaces/int_svd.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: Sandeep Gupta
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_SVD_H__
+#define __INT_SVD_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d2svdd2(in1,size1,out1) dsvda(in1,size1[0],size1[1],0,1,out1,NULL,NULL)
+#define d2g2svdd2d2d2(in1,size1,in2,size2,out1,out2,out3) dsvda(in1,size1[0],size1[1],1,3,out1,out2,out3);
+#define d2svdd2d2d2(in1,size1,out1,out2,out3) dsvda(in1,size1[0],size1[1],0,3,out1,out2,out3);
+#define z2svdz2(in1,size1,out2) zsvda(in1,size1[0],size1[1],0,1,NULL,out2,NULL);
+#define z2g2svdz2z2z2(in1,size1,in2,size2,out1,out2,out3) zsvda(in1,size1[0],size1[1],1,3,out1,out2,out3);
+#define z2svdz2z2z2(in1,size1,out1,out2,out3) zsvda(in1,size1[0],size1[1],0,3,out1,out2,out3);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_SVD_H__*/
diff --git a/src/c/linearAlgebra/pbig/pbig.c b/src/c/linearAlgebra/pbig/pbig.c
new file mode 100644
index 0000000..c13a942
--- /dev/null
+++ b/src/c/linearAlgebra/pbig/pbig.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Sandeep Gupta
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+/*This function finds the hessenberg form of a matrix A.*/
+
+#include "schur.h"
+#include <stdio.h>
+#include "string.h"
+#include "stdlib.h"
+#include "lapack.h"
+
+//Projection on eigensubspace associated with eigenvalues
+//with real part >= thres (flag='c') or with modulus >= thres (flag='d')
+//Projection is defined by Q*M. Eigenvalues of M*A*Q = eigenvalues
+//of A with real part >= thres (case 'c',...).
+//If [Q1,M1]== full rank factorization (fullrf) of eye-Q*M then evals of
+// M1*A*Q1 = evals of A with real part < thres (case 'c',...).
+// See also psmall.
+//!
+
+void dpbiga(double *in1,int N,double *in2,double *in3,double *out1,double *out2){
+
+
+
+
+}
diff --git a/src/c/linearAlgebra/schur/zgschura.c b/src/c/linearAlgebra/schur/zgschura.c
new file mode 100644
index 0000000..a49cbe5
--- /dev/null
+++ b/src/c/linearAlgebra/schur/zgschura.c
@@ -0,0 +1,164 @@
+/* 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
+ */
+
+/*Fucntion to find generalised schur decomposition of given square complex matrices */
+
+#include "schur.h"
+#include "lapack.h"
+#include "stdlib.h"
+#include "string.h"
+#include <math.h>
+#include "doubleComplex.h"
+#include "matrixTranspose.h"
+
+/*flag --> 0: nothing
+ --> 1: continuous
+ --> 2: discrete
+*/
+
+lapack_logical selctg21( doubleComplex* in1, doubleComplex* in2, doubleComplex* in3);
+lapack_logical selctg22( doubleComplex* in1, doubleComplex* in2, doubleComplex* in3);
+
+doubleComplex dgschura(doubleComplex* in1, int size, doubleComplex* in2, int flag, int nout, \
+ doubleComplex* out1, doubleComplex* out2, doubleComplex* out3, doubleComplex* out4)
+{
+ char JOBVSL = 'N';
+ char JOBVSR = 'N';
+ char SORT = 'N';
+ int SDIM = 0;
+ int LDVSL = size, LDVSR = size;
+ int LWORK = 2*size, INFO;
+ doubleComplex *ALPHA, *BETA, *VSL, *VSR, *WORK;
+ double *RWORK;
+ int *BWORK;
+ doubleComplex ret = 0;
+ doubleComplex *buf1, *buf2; /*input is copied to buf, since lapack function directly
+ modifies the input variable*/
+
+ /*Used incase of flag > 0*/
+ LAPACK_D_SELECT3 selctg = &selctg21;
+
+ if(nout >= 2){
+ JOBVSL = 'V';
+ JOBVSR = 'V';
+ }
+ if(flag > 0) SORT = 'S';
+
+ buf1 = (doubleComplex*) malloc((doubleComplex) size*size*sizeof(doubleComplex));
+ buf2 = (doubleComplex*) malloc((doubleComplex) size*size*sizeof(doubleComplex));
+ ALPHA = (doubleComplex*) malloc((doubleComplex) size*sizeof(doubleComplex));
+ RWORK = (double *)malloc((double)8*size*sizeof(double));
+ BETA = (doubleComplex*) malloc((doubleComplex) size*sizeof(doubleComplex));
+ VSL = (doubleComplex*) malloc((doubleComplex) LDVSL*size*sizeof(doubleComplex));
+ VSR = (doubleComplex*) malloc((doubleComplex) LDVSR*size*sizeof(doubleComplex));
+ WORK = (doubleComplex*) malloc((doubleComplex) LWORK*sizeof(doubleComplex));
+ BWORK = (int*) malloc((doubleComplex) size*sizeof(doubleComplex));
+
+
+ memcpy(buf1,in1,size*size*sizeof(doubleComplex));
+ memcpy(buf2,in2,size*size*sizeof(doubleComplex));
+
+ zgges_(&JOBVSL,&JOBVSR,&SORT,selctg,&size,buf1,&size,buf2,&size,&SDIM, \
+ ALPHA,BETA,VSL,&LDVSL,VSR,&LDVSR,WORK,&LWORK,RWORK,BWORK,&INFO);
+
+ /*if (INFO != 0)
+ {
+ out1 = NULL;
+ return 0;
+ }*/
+
+ if(nout == 1)
+ {
+ return(SDIM);
+ }
+ else if(nout == 2)
+ {
+ if(flag == 0)
+ {
+ /*copy in1 to out1 and in2 to out2*/
+ memcpy(out1,buf1,size*size*sizeof(doubleComplex));
+ memcpy(out2,buf2,size*size*sizeof(doubleComplex));
+ }
+ else
+ {
+ /*copy VSR to out1 and return SDIM */
+ memcpy(out1,VSR,size*size*sizeof(doubleComplex));
+ ret = SDIM;
+ }
+ }
+ else if(nout == 3)
+ {
+ /*copy VSL to out1, VSR to out2, return SDIM*/
+ memcpy(out1,VSL,size*size*sizeof(doubleComplex));
+ memcpy(out2,VSR,size*size*sizeof(doubleComplex));
+ ret = SDIM;
+ }
+ else if(nout == 4)
+ {
+ if(flag == 0)
+ {
+ /*copy in1 to out1 and in2 to out2*/
+ memcpy(out1,buf1,size*size*sizeof(doubleComplex));
+ memcpy(out2,buf2,size*size*sizeof(doubleComplex));
+ /*copy VSL to out3 and VSR to out4*/
+ memcpy(out3,VSL,size*size*sizeof(doubleComplex));
+ memcpy(out4,VSR,size*size*sizeof(doubleComplex));
+ }
+ else
+ {
+ /*copy in1 to out1 and in2 to out2*/
+ memcpy(out1,buf1,size*size*sizeof(doubleComplex));
+ memcpy(out2,buf2,size*size*sizeof(doubleComplex));
+ /*copy VSR to out3 and return SDIM*/
+ memcpy(out3,VSR,size*size*sizeof(doubleComplex));
+ ret = SDIM;
+ }
+ }
+ else /*nout = 5*/
+ {
+ /*copy in1 to out1 and in2 to out2*/
+ memcpy(out1,buf1,size*size*sizeof(doubleComplex));
+ memcpy(out2,buf2,size*size*sizeof(doubleComplex));
+ /*copy VSL to out3 and VSR to out4*/
+ memcpy(out3,VSL,size*size*sizeof(doubleComplex));
+ memcpy(out4,VSR,size*size*sizeof(doubleComplex));
+ /*return SDIM*/
+ ret = SDIM;
+ }
+
+ free(buf1);
+ free(buf2);
+ free(VSL);
+ free(VSR);
+ free(ALPHA);
+ free(BETA);
+ free(WORK);
+ free(BWORK);
+
+ return ret;
+}
+
+lapack_logical selctg21(doubleComplex* in1, doubleComplex* in2, doubleComplex* in3)
+{
+ if((sqrt(*in1**in1+*in2**in2)/ *in3) < 1)
+ return 1;
+ else
+ return 0;
+}
+
+lapack_logical selctg22(doubleComplex* in1, doubleComplex* in2, doubleComplex* in3)
+{
+ if((sqrt(*in1**in1+*in2**in2)/ *in3) < 1)
+ return 1;
+ else
+ return 0;
+}
diff --git a/src/c/linearAlgebra/spec/Makefile.am b/src/c/linearAlgebra/spec/Makefile.am
new file mode 100644
index 0000000..90dbd0a
--- /dev/null
+++ b/src/c/linearAlgebra/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/linearAlgebra/spec/Makefile.in b/src/c/linearAlgebra/spec/Makefile.in
new file mode 100644
index 0000000..9c34c9e
--- /dev/null
+++ b/src/c/linearAlgebra/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/linearAlgebra/spec/cspeca.c b/src/c/linearAlgebra/spec/cspeca.c
new file mode 100644
index 0000000..a2b6548
--- /dev/null
+++ b/src/c/linearAlgebra/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 <stdlib.h>
+#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<rows*rows;i++) dblin[i]=DoubleComplex((double)creals(in[i]),(double)cimags(in[i]));
+
+ zspeca(dblin,rows,dblout);
+
+ for (i=0;i<rows;i++) out[i]=FloatComplex((float)zreals(dblout[i]),(float)zimags(dblout[i]));
+}
diff --git a/src/c/linearAlgebra/spec/dspec1a.c b/src/c/linearAlgebra/spec/dspec1a.c
new file mode 100644
index 0000000..28440be
--- /dev/null
+++ b/src/c/linearAlgebra/spec/dspec1a.c
@@ -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: Sandeep Gupta
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+/*This function finds the hessenberg form of a matrix A.*/
+
+#include "spec.h"
+#include <stdio.h>
+#include "string.h"
+#include "stdlib.h"
+#include "lapack.h"
+#include "matrixTranspose.h"
+#include "matrixMultiplication.h"
+#include "doubleComplex.h"
+
+extern int dggev_(char *,char *,int *,double *,int *,double *,int *,double *,double *,double *,double *,int *,double *,int *,double *,int *,int *);
+
+void assembleEigenvectorsInPlace(int N,double *ALPHAI,double *EVreal,double *EVimg){
+ int j,i;
+ j=0;
+ while(j<N){
+ if(ALPHAI[j] == 0){
+ //printf(" * ");
+ j+=1;
+ }
+ else{
+ int ij;
+ int ij1;
+ for(i=0;i<N;i++){
+ ij = i+j*N;
+ ij1 = i+(j+1)*N;
+ EVimg[ij] = EVreal[ij1];
+ EVimg[ij1] = -EVreal[ij1];
+ EVreal[ij1] = EVreal[ij];
+ }
+ j+=2;
+ }
+ }
+}
+
+void dspec1a(double *in1,double *in2,int size,int nout,doubleComplex *out1,double *out2,doubleComplex *out3,doubleComplex *out4){
+
+ int i,j;
+ char JOBVL;
+ char JOBVR;
+ int N=size;
+
+ double *A;
+ int LDA=N;
+ A = (double *)malloc(N*N*sizeof(double));
+ memcpy(A,in1,N*N*sizeof(double));
+
+ double *B;
+ int LDB=N;
+ B = (double *)malloc(N*N*sizeof(double));
+ memcpy(B,in2,N*N*sizeof(double));
+
+ double *ALPHAR;
+ ALPHAR = (double *)malloc(N*sizeof(double));
+
+ double *ALPHAI;
+ ALPHAI = (double *)malloc(N*sizeof(double));
+
+ double *BETA;
+ BETA = (double *)malloc(N*sizeof(double));
+
+ double *VL;
+ VL = (double *)malloc(N*N*sizeof(double));
+
+ int LDVL=N;
+
+ double *VR;
+ VR = (double *)malloc(N*N*sizeof(double));
+ int LDVR=N;
+
+ int LWORK=8*N;
+
+ double *WORK;
+ WORK = (double *)malloc(LWORK*sizeof(double));
+
+ int INFO;
+ if(nout == 1){ /*out1 = spec(A,B)*/
+ JOBVL = 'N';
+ JOBVR = 'N';
+ dggev_(&JOBVL,&JOBVR,&N,A,&LDA,B,&LDB,ALPHAR,ALPHAI,BETA,VL,&LDVL,VR,&LDVR,WORK,&LWORK,&INFO);
+ for(i=0;i<N;i++){
+ out1[i] = DoubleComplex(ALPHAR[i]/BETA[i],ALPHAI[i]/BETA[i]);
+ }
+ }
+ else if(nout == 2){ /*[out1,out2] = spec(A,B)*/
+ JOBVL = 'N';
+ JOBVR = 'N';
+ dggev_(&JOBVL,&JOBVR,&N,A,&LDA,B,&LDB,ALPHAR,ALPHAI,BETA,VL,&LDVL,VR,&LDVR,WORK,&LWORK,&INFO);
+ for(i=0;i<N;i++){
+ out1[i] = DoubleComplex(ALPHAR[i],ALPHAI[i]);
+ }
+ memcpy(out2,BETA,N*sizeof(double));
+ }
+ else if(nout == 3){ /* [out1,out2,out3] = spec(A,B) */
+ JOBVL = 'N';
+ JOBVR = 'V';
+ dggev_(&JOBVL,&JOBVR,&N,A,&LDA,B,&LDB,ALPHAR,ALPHAI,BETA,VL,&LDVL,VR,&LDVR,WORK,&LWORK,&INFO);
+ for(i=0;i<N;i++){
+ out1[i] = DoubleComplex(ALPHAR[i],ALPHAI[i]);
+ }
+ memcpy(out2,BETA,N*sizeof(double));
+
+ /*Because lapack routine doesn't give result in actual format, \
+ so we have to change the VR little-bit and then return the function */
+
+ /*See the Scilab code || see the lapack subroutine libary - DGGEV where \
+ it is very explantory and explains all this.
+ */
+ double *EVimg;
+ EVimg = (double *)malloc(N*N*sizeof(double));
+ for(i=0;i<N;i++){
+ for(j=0;j<N;j++){
+ EVimg[i+j*N] = 0;
+ }
+ }
+ assembleEigenvectorsInPlace(N,ALPHAI,VR,EVimg);
+ for(i=0;i<N;i++){
+ for(j=0;j<N;j++){
+ out3[i+j*N] = DoubleComplex(VR[i+j*N],EVimg[i+j*N]);
+ }
+ }
+ }
+ else if(nout == 4){
+ JOBVL = 'V';
+ JOBVR = 'V';
+
+ dggev_(&JOBVL,&JOBVR,&N,A,&LDA,B,&LDB,ALPHAR,ALPHAI,BETA,VL,&LDVL,VR,&LDVR,WORK,&LWORK,&INFO);
+
+ for(i=0;i<N;i++){
+ out1[i] = DoubleComplex(ALPHAR[i],ALPHAI[i]);
+ }
+
+ memcpy(out2,BETA,N*sizeof(double));
+
+ double *EVimg;
+ EVimg = (double *)malloc(N*N*sizeof(double));
+ for(i=0;i<N;i++){
+ for(j=0;j<N;j++){
+ EVimg[i+j*N] = 0;
+ }
+ }
+ assembleEigenvectorsInPlace(N,ALPHAI,VR,EVimg);
+ for(i=0;i<N;i++){
+ for(j=0;j<N;j++){
+ out4[i+j*N] = DoubleComplex(VR[i+j*N],EVimg[i+j*N]);
+ }
+ }
+
+ double *EVimg1;
+ EVimg1 = (double *)malloc(N*N*sizeof(double));
+ for(i=0;i<N;i++){
+ for(j=0;j<N;j++){
+ EVimg1[i+j*N] = 0;
+ }
+ }
+ assembleEigenvectorsInPlace(N,ALPHAI,VL,EVimg1);
+ for(i=0;i<N;i++){
+ for(j=0;j<N;j++){
+ out3[i+j*N] = DoubleComplex(VL[i+j*N],EVimg1[i+j*N]);
+ }
+ }
+ }
+}
diff --git a/src/c/linearAlgebra/spec/dspeca.c b/src/c/linearAlgebra/spec/dspeca.c
new file mode 100644
index 0000000..1131ecf
--- /dev/null
+++ b/src/c/linearAlgebra/spec/dspeca.c
@@ -0,0 +1,71 @@
+/*
+ * 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 <stdlib.h>
+#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<rows*rows;i++) inCopy[i]=in[i];
+ /* look if the matrix is symmetric */
+ for (i=0;i<rows;i++)
+ for (j=0;j<rows;j++)
+ if (in[i*rows+j]!=in[i+j*rows]) break;
+
+ /* the matrix is symmetric if the 2 loops goes to end i.e
+ i==rows and j==rows */
+ if ((i==rows)&&(j==rows)) symmetric=1;
+
+
+ /* apply lapack function according to symmetry */
+ if(symmetric){
+ C2F(dsyev)( "N", "U", &rows, in, &rows, outReal, pdblWork, &iWorkSize, &INFO );
+ }
+ else {
+ C2F(dgeev)( "N", "N", &rows, inCopy, &rows, outReal, outImag,
+ pdblLeftvectors, &rows, pdblRightvectors, &rows, pdblWork, &iWorkSize, &INFO );
+ }
+
+ for (i=0;i<rows;i++) out[i]=outReal[i];
+
+
+ free(inCopy);
+ free(outReal);
+ free(outImag);
+ free(pdblWork);
+ free(pdblLeftvectors);
+ free(pdblRightvectors);
+}
+
diff --git a/src/c/linearAlgebra/spec/sspeca.c b/src/c/linearAlgebra/spec/sspeca.c
new file mode 100644
index 0000000..50751a2
--- /dev/null
+++ b/src/c/linearAlgebra/spec/sspeca.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 <stdlib.h>
+#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<rows*rows;i++) dblin[i]=(double)in[i];
+
+ dspeca(dblin,rows,dblout);
+
+ for (i=0;i<rows;i++) out[i]=(float)dblout[i];
+}
diff --git a/src/c/linearAlgebra/spec/testDoubleSpec.c b/src/c/linearAlgebra/spec/testDoubleSpec.c
new file mode 100644
index 0000000..25c8806
--- /dev/null
+++ b/src/c/linearAlgebra/spec/testDoubleSpec.c
@@ -0,0 +1,116 @@
+/*
+ * 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 <stdlib.h>
+#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/linearAlgebra/spec/testFloatSpec.c b/src/c/linearAlgebra/spec/testFloatSpec.c
new file mode 100644
index 0000000..9bd46ad
--- /dev/null
+++ b/src/c/linearAlgebra/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 <stdlib.h>
+#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/linearAlgebra/spec/test_DoubleSpec/testDoubleSpec.vcxproj b/src/c/linearAlgebra/spec/test_DoubleSpec/testDoubleSpec.vcxproj
new file mode 100644
index 0000000..f696bff
--- /dev/null
+++ b/src/c/linearAlgebra/spec/test_DoubleSpec/testDoubleSpec.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{651B0E61-1047-4575-BE31-D9CB28062CBA}</ProjectGuid>
+ <RootNamespace>testDoubleSpec</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleSpec.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\matrixOperations.vcxproj">
+ <Project>{fd335544-52bf-4736-a34e-77f591d158d5}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/linearAlgebra/spec/test_DoubleSpec/testDoubleSpec.vcxproj.filters b/src/c/linearAlgebra/spec/test_DoubleSpec/testDoubleSpec.vcxproj.filters
new file mode 100644
index 0000000..dcdaea5
--- /dev/null
+++ b/src/c/linearAlgebra/spec/test_DoubleSpec/testDoubleSpec.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleSpec.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/linearAlgebra/spec/test_FloatSpec/testFloatSpec.vcxproj b/src/c/linearAlgebra/spec/test_FloatSpec/testFloatSpec.vcxproj
new file mode 100644
index 0000000..0631bb4
--- /dev/null
+++ b/src/c/linearAlgebra/spec/test_FloatSpec/testFloatSpec.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{B7BEF8A2-3E42-4FA3-94A7-22618594057D}</ProjectGuid>
+ <RootNamespace>testFloatSpec</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatSpec.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\matrixOperations.vcxproj">
+ <Project>{fd335544-52bf-4736-a34e-77f591d158d5}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/linearAlgebra/spec/test_FloatSpec/testFloatSpec.vcxproj.filters b/src/c/linearAlgebra/spec/test_FloatSpec/testFloatSpec.vcxproj.filters
new file mode 100644
index 0000000..2ba2e59
--- /dev/null
+++ b/src/c/linearAlgebra/spec/test_FloatSpec/testFloatSpec.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatSpec.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/linearAlgebra/spec/zspeca.c b/src/c/linearAlgebra/spec/zspeca.c
new file mode 100644
index 0000000..a2b1c25
--- /dev/null
+++ b/src/c/linearAlgebra/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 <stdlib.h>
+#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<rows*rows;i++) inCopy[i]=DoubleComplex(zreals(in[i]),zimags(in[i]));
+
+ /* look if the matrix is symmetric */
+ for (i=0;i<rows;i++){
+ for (j=0;j<rows;j++)
+ if ( (zreals(in[i*rows+j])!=zreals(zconjs(in[i+j*rows]))) ||
+ (zimags(in[i*rows+j])!=zimags(zconjs(in[i+j*rows]))) )
+ break;
+ if (j!=rows) break;
+ }
+
+
+ /* the matrix is symmetric if the 2 loops goes to end i.e
+ i==rows and j==rows */
+ if ((i==rows)&&(j==rows)) hermitian=1;
+
+
+ /* apply lapack function according to symmetry */
+ if(hermitian){
+ C2F(zheev)( "N", "U", &rows, inCopy, &rows, outReal, pdblWork, &iWorkSize, outImag, &INFO );
+ dzerosa(outImag,1,rows);
+ for (i=0;i<rows;i++) out[i]=DoubleComplex(outReal[i],outImag[i]);
+ }
+ else {
+ C2F(zgeev)( "N", "N", &rows, inCopy, &rows, out,
+ pdblLeftvectors, &rows, pdblRightvectors, &rows, pdblWork, &iWorkSize,
+ pdblRWork, &INFO );
+ }
+
+
+
+ free(inCopy);
+ free(outReal);
+ free(outImag);
+ free(pdblWork);
+ free(pdblRWork);
+ free(pdblLeftvectors);
+ free(pdblRightvectors);
+}
diff --git a/src/c/linearAlgebra/spec2/Makefile.am b/src/c/linearAlgebra/spec2/Makefile.am
new file mode 100644
index 0000000..5a357fa
--- /dev/null
+++ b/src/c/linearAlgebra/spec2/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
+##
+##
+
+libSpec2_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 = libSpec2.la
+
+HEAD = ../includes/spec.h
+
+libSpec2_la_SOURCES = $(HEAD) \
+ sspec2a.c \
+ dspec2a.c \
+ cspec2a.c \
+ zspec2a.c
+
+
+############
+## CHECK
+############
+
+
+check_PROGRAMS = testDoubleSpec2 testFloatSpec2
+
+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\
+ libSpec2.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
+
+testDoubleSpec2_SOURCES = testDoubleSpec2.c
+testDoubleSpec2_LDADD = $(check_LDADD)
+testDoubleSpec2_CFLAGS = $(check_INCLUDES)
+
+testFloatSpec2_SOURCES = testFloatSpec2.c
+testFloatSpec2_LDADD = $(check_LDADD)
+testFloatSpec2_CFLAGS = $(check_INCLUDES)
+
+TESTS = testDoubleSpec2 testFloatSpec2
+
diff --git a/src/c/linearAlgebra/spec2/Makefile.in b/src/c/linearAlgebra/spec2/Makefile.in
new file mode 100644
index 0000000..6e46c05
--- /dev/null
+++ b/src/c/linearAlgebra/spec2/Makefile.in
@@ -0,0 +1,757 @@
+# 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 = testDoubleSpec2$(EXEEXT) testFloatSpec2$(EXEEXT)
+TESTS = testDoubleSpec2$(EXEEXT) testFloatSpec2$(EXEEXT)
+subdir = src/c/matrixOperations/spec2
+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)
+libSpec2_la_LIBADD =
+am__objects_1 =
+am_libSpec2_la_OBJECTS = $(am__objects_1) libSpec2_la-sspec2a.lo \
+ libSpec2_la-dspec2a.lo libSpec2_la-cspec2a.lo \
+ libSpec2_la-zspec2a.lo
+libSpec2_la_OBJECTS = $(am_libSpec2_la_OBJECTS)
+libSpec2_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libSpec2_la_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testDoubleSpec2_OBJECTS = \
+ testDoubleSpec2-testDoubleSpec2.$(OBJEXT)
+testDoubleSpec2_OBJECTS = $(am_testDoubleSpec2_OBJECTS)
+testDoubleSpec2_DEPENDENCIES = $(check_LDADD)
+testDoubleSpec2_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleSpec2_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_testFloatSpec2_OBJECTS = testFloatSpec2-testFloatSpec2.$(OBJEXT)
+testFloatSpec2_OBJECTS = $(am_testFloatSpec2_OBJECTS)
+testFloatSpec2_DEPENDENCIES = $(check_LDADD)
+testFloatSpec2_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatSpec2_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 = $(libSpec2_la_SOURCES) $(testDoubleSpec2_SOURCES) \
+ $(testFloatSpec2_SOURCES)
+DIST_SOURCES = $(libSpec2_la_SOURCES) $(testDoubleSpec2_SOURCES) \
+ $(testFloatSpec2_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@
+libSpec2_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 = libSpec2.la
+HEAD = ../includes/spec.h
+libSpec2_la_SOURCES = $(HEAD) \
+ sspec2a.c \
+ dspec2a.c \
+ cspec2a.c \
+ zspec2a.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\
+ libSpec2.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
+
+testDoubleSpec2_SOURCES = testDoubleSpec2.c
+testDoubleSpec2_LDADD = $(check_LDADD)
+testDoubleSpec2_CFLAGS = $(check_INCLUDES)
+testFloatSpec2_SOURCES = testFloatSpec2.c
+testFloatSpec2_LDADD = $(check_LDADD)
+testFloatSpec2_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/spec2/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/c/matrixOperations/spec2/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
+libSpec2.la: $(libSpec2_la_OBJECTS) $(libSpec2_la_DEPENDENCIES)
+ $(libSpec2_la_LINK) -rpath $(pkglibdir) $(libSpec2_la_OBJECTS) $(libSpec2_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
+testDoubleSpec2$(EXEEXT): $(testDoubleSpec2_OBJECTS) $(testDoubleSpec2_DEPENDENCIES)
+ @rm -f testDoubleSpec2$(EXEEXT)
+ $(testDoubleSpec2_LINK) $(testDoubleSpec2_OBJECTS) $(testDoubleSpec2_LDADD) $(LIBS)
+testFloatSpec2$(EXEEXT): $(testFloatSpec2_OBJECTS) $(testFloatSpec2_DEPENDENCIES)
+ @rm -f testFloatSpec2$(EXEEXT)
+ $(testFloatSpec2_LINK) $(testFloatSpec2_OBJECTS) $(testFloatSpec2_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSpec2_la-cspec2a.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSpec2_la-dspec2a.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSpec2_la-sspec2a.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libSpec2_la-zspec2a.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleSpec2-testDoubleSpec2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatSpec2-testFloatSpec2.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 $@ $<
+
+libSpec2_la-sspec2a.lo: sspec2a.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec2_la_CFLAGS) $(CFLAGS) -MT libSpec2_la-sspec2a.lo -MD -MP -MF $(DEPDIR)/libSpec2_la-sspec2a.Tpo -c -o libSpec2_la-sspec2a.lo `test -f 'sspec2a.c' || echo '$(srcdir)/'`sspec2a.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSpec2_la-sspec2a.Tpo $(DEPDIR)/libSpec2_la-sspec2a.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sspec2a.c' object='libSpec2_la-sspec2a.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) $(libSpec2_la_CFLAGS) $(CFLAGS) -c -o libSpec2_la-sspec2a.lo `test -f 'sspec2a.c' || echo '$(srcdir)/'`sspec2a.c
+
+libSpec2_la-dspec2a.lo: dspec2a.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec2_la_CFLAGS) $(CFLAGS) -MT libSpec2_la-dspec2a.lo -MD -MP -MF $(DEPDIR)/libSpec2_la-dspec2a.Tpo -c -o libSpec2_la-dspec2a.lo `test -f 'dspec2a.c' || echo '$(srcdir)/'`dspec2a.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSpec2_la-dspec2a.Tpo $(DEPDIR)/libSpec2_la-dspec2a.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dspec2a.c' object='libSpec2_la-dspec2a.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) $(libSpec2_la_CFLAGS) $(CFLAGS) -c -o libSpec2_la-dspec2a.lo `test -f 'dspec2a.c' || echo '$(srcdir)/'`dspec2a.c
+
+libSpec2_la-cspec2a.lo: cspec2a.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec2_la_CFLAGS) $(CFLAGS) -MT libSpec2_la-cspec2a.lo -MD -MP -MF $(DEPDIR)/libSpec2_la-cspec2a.Tpo -c -o libSpec2_la-cspec2a.lo `test -f 'cspec2a.c' || echo '$(srcdir)/'`cspec2a.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSpec2_la-cspec2a.Tpo $(DEPDIR)/libSpec2_la-cspec2a.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cspec2a.c' object='libSpec2_la-cspec2a.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) $(libSpec2_la_CFLAGS) $(CFLAGS) -c -o libSpec2_la-cspec2a.lo `test -f 'cspec2a.c' || echo '$(srcdir)/'`cspec2a.c
+
+libSpec2_la-zspec2a.lo: zspec2a.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libSpec2_la_CFLAGS) $(CFLAGS) -MT libSpec2_la-zspec2a.lo -MD -MP -MF $(DEPDIR)/libSpec2_la-zspec2a.Tpo -c -o libSpec2_la-zspec2a.lo `test -f 'zspec2a.c' || echo '$(srcdir)/'`zspec2a.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libSpec2_la-zspec2a.Tpo $(DEPDIR)/libSpec2_la-zspec2a.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zspec2a.c' object='libSpec2_la-zspec2a.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) $(libSpec2_la_CFLAGS) $(CFLAGS) -c -o libSpec2_la-zspec2a.lo `test -f 'zspec2a.c' || echo '$(srcdir)/'`zspec2a.c
+
+testDoubleSpec2-testDoubleSpec2.o: testDoubleSpec2.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSpec2_CFLAGS) $(CFLAGS) -MT testDoubleSpec2-testDoubleSpec2.o -MD -MP -MF $(DEPDIR)/testDoubleSpec2-testDoubleSpec2.Tpo -c -o testDoubleSpec2-testDoubleSpec2.o `test -f 'testDoubleSpec2.c' || echo '$(srcdir)/'`testDoubleSpec2.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleSpec2-testDoubleSpec2.Tpo $(DEPDIR)/testDoubleSpec2-testDoubleSpec2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleSpec2.c' object='testDoubleSpec2-testDoubleSpec2.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) $(testDoubleSpec2_CFLAGS) $(CFLAGS) -c -o testDoubleSpec2-testDoubleSpec2.o `test -f 'testDoubleSpec2.c' || echo '$(srcdir)/'`testDoubleSpec2.c
+
+testDoubleSpec2-testDoubleSpec2.obj: testDoubleSpec2.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleSpec2_CFLAGS) $(CFLAGS) -MT testDoubleSpec2-testDoubleSpec2.obj -MD -MP -MF $(DEPDIR)/testDoubleSpec2-testDoubleSpec2.Tpo -c -o testDoubleSpec2-testDoubleSpec2.obj `if test -f 'testDoubleSpec2.c'; then $(CYGPATH_W) 'testDoubleSpec2.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleSpec2.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleSpec2-testDoubleSpec2.Tpo $(DEPDIR)/testDoubleSpec2-testDoubleSpec2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleSpec2.c' object='testDoubleSpec2-testDoubleSpec2.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) $(testDoubleSpec2_CFLAGS) $(CFLAGS) -c -o testDoubleSpec2-testDoubleSpec2.obj `if test -f 'testDoubleSpec2.c'; then $(CYGPATH_W) 'testDoubleSpec2.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleSpec2.c'; fi`
+
+testFloatSpec2-testFloatSpec2.o: testFloatSpec2.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSpec2_CFLAGS) $(CFLAGS) -MT testFloatSpec2-testFloatSpec2.o -MD -MP -MF $(DEPDIR)/testFloatSpec2-testFloatSpec2.Tpo -c -o testFloatSpec2-testFloatSpec2.o `test -f 'testFloatSpec2.c' || echo '$(srcdir)/'`testFloatSpec2.c
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatSpec2-testFloatSpec2.Tpo $(DEPDIR)/testFloatSpec2-testFloatSpec2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatSpec2.c' object='testFloatSpec2-testFloatSpec2.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) $(testFloatSpec2_CFLAGS) $(CFLAGS) -c -o testFloatSpec2-testFloatSpec2.o `test -f 'testFloatSpec2.c' || echo '$(srcdir)/'`testFloatSpec2.c
+
+testFloatSpec2-testFloatSpec2.obj: testFloatSpec2.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatSpec2_CFLAGS) $(CFLAGS) -MT testFloatSpec2-testFloatSpec2.obj -MD -MP -MF $(DEPDIR)/testFloatSpec2-testFloatSpec2.Tpo -c -o testFloatSpec2-testFloatSpec2.obj `if test -f 'testFloatSpec2.c'; then $(CYGPATH_W) 'testFloatSpec2.c'; else $(CYGPATH_W) '$(srcdir)/testFloatSpec2.c'; fi`
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatSpec2-testFloatSpec2.Tpo $(DEPDIR)/testFloatSpec2-testFloatSpec2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatSpec2.c' object='testFloatSpec2-testFloatSpec2.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) $(testFloatSpec2_CFLAGS) $(CFLAGS) -c -o testFloatSpec2-testFloatSpec2.obj `if test -f 'testFloatSpec2.c'; then $(CYGPATH_W) 'testFloatSpec2.c'; else $(CYGPATH_W) '$(srcdir)/testFloatSpec2.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/linearAlgebra/spec2/cspec2a.c b/src/c/linearAlgebra/spec2/cspec2a.c
new file mode 100644
index 0000000..d3a4312
--- /dev/null
+++ b/src/c/linearAlgebra/spec2/cspec2a.c
@@ -0,0 +1,36 @@
+/*
+ * 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 <stdlib.h>
+#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<rows*rows;i++) dblin[i]=DoubleComplex((double)creals(in[i]),(double)cimags(in[i]));
+
+ zspec2a(dblin,rows,dbleigenvalues,dbleigenvectors);
+
+ for (i=0;i<rows*rows;i++) eigenvalues[i]=FloatComplex((float)zreals(dbleigenvalues[i]),(float)zimags(dbleigenvalues[i]));
+ for (i=0;i<rows*rows;i++) eigenvectors[i]=FloatComplex((float)zreals(dbleigenvectors[i]),(float)zimags(dbleigenvectors[i]));
+}
diff --git a/src/c/linearAlgebra/spec2/dspec2a.c b/src/c/linearAlgebra/spec2/dspec2a.c
new file mode 100644
index 0000000..98b2c5a
--- /dev/null
+++ b/src/c/linearAlgebra/spec2/dspec2a.c
@@ -0,0 +1,113 @@
+/*
+ * 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 <stdlib.h>
+#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<rows*rows;i++) inCopy[i]=in[i];
+
+
+
+ /* look if the matrix is symmetric */
+ for (i=0;i<rows;i++){
+ for (j=0;j<rows;j++)
+ if (in[i*rows+j]!=in[i+j*rows]) break;
+ if (j!=rows) break;
+
+ }
+
+ /* the matrix is symmetric if the 2 loops goes to end i.e
+ i==rows and j==rows */
+ if ((i==rows)&&(j==rows)) symmetric=1;
+
+ /* apply lapack function according to symmetry */
+ if(symmetric){
+ C2F(dsyev)( "V", "U", &rows, inCopy, &rows, outReal, pdblWork, &iWorkSize, &INFO );
+
+ /* Computation of eigenvectors */
+ for (i=0;i<rows*rows;i++) eigenvectors[i] = inCopy[i];
+ }
+ else {
+ pdblRightvectors=(double*)malloc((unsigned int)(rows*rows) * sizeof(double));
+ outImag = (double*)malloc((unsigned int)rows * sizeof(double));
+ C2F(dgeev)( "N", "V", &rows, inCopy, &rows, outReal, outImag,
+ pdblLeftvectors, &rows, pdblRightvectors, &rows, pdblWork, &iWorkSize, &INFO );
+
+ /* Computation of eigenvectors */
+ j=0;
+ while (j<rows)
+ {
+ if (outImag[j]==0)
+ {
+ for(i = 0 ; i < rows ; i++)
+ {
+ ij = i + j * rows;
+ eigenvectors[ij] = pdblRightvectors[ij];
+ }
+ j = j + 1;
+ }
+ else
+ {
+ for(i = 0 ; i < rows ; i++)
+ {
+ ij = i + j * rows;
+ ij1 = i + (j + 1) * rows;
+ eigenvectors[ij] = pdblRightvectors[ij];
+ eigenvectors[ij1] = pdblRightvectors[ij];
+ }
+ j = j + 2;
+ }
+ }
+ }
+
+ /* Computation of eigenvalues */
+ dzerosa(eigenvalues,1,rows*rows);
+ for (i=0;i<rows;i++) eigenvalues[i+i*rows]=outReal[i];
+
+
+
+
+ free(inCopy);
+ free(outReal);
+ free(outImag);
+ free(pdblLeftvectors);
+ free(pdblRightvectors);
+ free(pdblWork);
+
+}
+
diff --git a/src/c/linearAlgebra/spec2/sspec2a.c b/src/c/linearAlgebra/spec2/sspec2a.c
new file mode 100644
index 0000000..d3ab00d
--- /dev/null
+++ b/src/c/linearAlgebra/spec2/sspec2a.c
@@ -0,0 +1,36 @@
+/*
+ * 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 <stdlib.h>
+#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;i<rows*rows;i++) dblin[i]=(double)in[i];
+
+ dspec2a(dblin,rows,dbleigenvalues,dbleigenvectors);
+
+ for (i=0;i<rows*rows;i++) eigenvalues[i]=(float)dbleigenvalues[i];
+ for (i=0;i<rows*rows;i++) eigenvectors[i]=(float)dbleigenvectors[i];
+}
diff --git a/src/c/linearAlgebra/spec2/testDoubleSpec2.c b/src/c/linearAlgebra/spec2/testDoubleSpec2.c
new file mode 100644
index 0000000..a090f02
--- /dev/null
+++ b/src/c/linearAlgebra/spec2/testDoubleSpec2.c
@@ -0,0 +1,261 @@
+/*
+ * 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 dspec2aTest(void){
+ double in[4]={1,1,1,3};
+ double resultValuesR[4]={0.5857864376269050765700,0,0,3.4142135623730949234300};
+ double resultVectorsR[4]={- 0.9238795325112867384831,0.3826834323650897817792,
+ 0.3826834323650897817792,0.9238795325112867384831};
+
+
+ double in2[4]={1,1,-2,3};
+ double resultValues2R[4]={1.9999999999999997779554,0,0,1.9999999999999997779554};
+ double resultVectors2R[4]={0.8164965809277261454824,- 0.4082482904638631282523,
+ 0.8164965809277261454824,- 0.4082482904638631282523};
+
+ double in3[9]={0,-1,0,1,0,0,0,0,0};
+ double resultValues3R[9]={0};
+ double resultVectors3R[9]={0.7071067811865474617150,0,0,0.7071067811865474617150,0,0,0,0,1};
+
+
+ double out1[4],out2[4],out3[9],out4[9];
+
+ int i;
+ dspec2a(in3,3,out3,out4);
+ for(i=0;i<9;i++){
+ if (out3[i]>1e-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/linearAlgebra/spec2/testFloatSpec2.c b/src/c/linearAlgebra/spec2/testFloatSpec2.c
new file mode 100644
index 0000000..fb2bc25
--- /dev/null
+++ b/src/c/linearAlgebra/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/linearAlgebra/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj b/src/c/linearAlgebra/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj
new file mode 100644
index 0000000..7c36943
--- /dev/null
+++ b/src/c/linearAlgebra/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{FD0A4495-C372-41EF-B8EF-0A0939DA6C1E}</ProjectGuid>
+ <RootNamespace>testDoubleSpec2</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleSpec2.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\matrixOperations.vcxproj">
+ <Project>{fd335544-52bf-4736-a34e-77f591d158d5}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/linearAlgebra/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj.filters b/src/c/linearAlgebra/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj.filters
new file mode 100644
index 0000000..04f409d
--- /dev/null
+++ b/src/c/linearAlgebra/spec2/test_DoubleSpec2/testDoubleSpec2.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testDoubleSpec2.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/linearAlgebra/spec2/test_FloatSpec2/testFloatSpec2.vcxproj b/src/c/linearAlgebra/spec2/test_FloatSpec2/testFloatSpec2.vcxproj
new file mode 100644
index 0000000..f4154eb
--- /dev/null
+++ b/src/c/linearAlgebra/spec2/test_FloatSpec2/testFloatSpec2.vcxproj
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{E20D0BC2-B28A-412C-9715-5B93B319A4A3}</ProjectGuid>
+ <RootNamespace>testFloatSpec2</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>../../../includes;../../../type;../../includes;../../../operations/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <OptimizeReferences>true</OptimizeReferences>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatSpec2.c">
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs>
+ <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\type\type.vcxproj">
+ <Project>{9b1bd750-1fef-4d6b-9422-782d16181cee}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ <ProjectReference Include="..\..\matrixOperations.vcxproj">
+ <Project>{fd335544-52bf-4736-a34e-77f591d158d5}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/linearAlgebra/spec2/test_FloatSpec2/testFloatSpec2.vcxproj.filters b/src/c/linearAlgebra/spec2/test_FloatSpec2/testFloatSpec2.vcxproj.filters
new file mode 100644
index 0000000..0c38d2f
--- /dev/null
+++ b/src/c/linearAlgebra/spec2/test_FloatSpec2/testFloatSpec2.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\testFloatSpec2.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/c/linearAlgebra/spec2/zspec2a.c b/src/c/linearAlgebra/spec2/zspec2a.c
new file mode 100644
index 0000000..e33ed89
--- /dev/null
+++ b/src/c/linearAlgebra/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 <stdlib.h>
+#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<rows*rows;i++) {
+ inCopy[i]=DoubleComplex(zreals(in[i]),zimags(in[i]));
+ eigenvectors[i]=DoubleComplex(zreals(in[i]),zimags(in[i]));
+ }
+ zzerosa(eigenvalues,1,rows*rows);
+
+
+ /* look if the matrix is symmetric */
+ for (i=0;i<rows;i++){
+ for (j=0;j<rows;j++)
+ if ( (zreals(in[i*rows+j])!=zreals(zconjs(in[i+j*rows]))) ||
+ (zimags(in[i*rows+j])!=zimags(zconjs(in[i+j*rows]))) )
+ break;
+ if (j!=rows) break;
+ }
+
+
+ /* the matrix is symmetric if the 2 loops goes to end i.e
+ i==rows and j==rows */
+ if ((i==rows)&&(j==rows)) hermitian=1;
+
+
+ /* apply lapack function according to symmetry */
+ if(hermitian){
+ pdblRWork2 = (double*)malloc((unsigned int)(3*rows) * sizeof(double));
+ C2F(zheev)( "V", "U", &rows, eigenvectors, &rows, outReal, pdblWork, &iWorkSize, pdblRWork2, &INFO );
+ dzerosa(outImag,1,rows);
+ for (i=0;i<rows;i++) eigenvalues[i+i*rows]=DoubleComplex(outReal[i],outImag[i]);
+ }
+ else {
+ pdblRWork = (doubleComplex*)malloc((unsigned int)(3*rows) * sizeof(doubleComplex));
+ C2F(zgeev)( "N", "V", &rows, inCopy, &rows, eigenvalues,
+ pdblLeftvectors, &rows, eigenvectors, &rows, pdblWork, &iWorkSize,
+ pdblRWork, &INFO );
+ for (i=1;i<rows;i++) {
+ eigenvalues[i+i*rows]=DoubleComplex(zreals(eigenvalues[i]),zimags(eigenvalues[i]));
+ eigenvalues[i]=DoubleComplex(0,0);
+ }
+ }
+
+
+
+
+ free(inCopy);
+ free(outReal);
+ free(outImag);
+ free(pdblWork);
+ free(pdblRWork);
+ free(pdblRWork2);
+ free(pdblLeftvectors);
+ free(pdblRightvectors);
+}
diff --git a/src/c/linearAlgebra/sva/dsvaa.c b/src/c/linearAlgebra/sva/dsvaa.c
new file mode 100644
index 0000000..ee27eef
--- /dev/null
+++ b/src/c/linearAlgebra/sva/dsvaa.c
@@ -0,0 +1,92 @@
+/* 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
+
+ */
+#include "sva.h"
+#include "svd.h"
+#include "lapack.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include "string.h"
+#include "matrixTranspose.h"
+
+#define eps 2.22044604925e-16
+
+void dsvaa(int ninp,double *in1,int row,int col,double in2,double *out1, \
+ double *out2,double *out3){
+
+ double tol;
+ double rk=0;
+ int N=col,M=row;
+ if(row == 0 && col == 0) return;
+ int i,j;
+ int arow; /*Actual row of given matrix*/
+ int acol; /*Actual col of given matrix*/
+
+ /* Calculation of svd of a given matrix */
+ double *U,*S,*V;
+ U = (double *)malloc((double)row*Min(row,col)*sizeof(double));
+ S = (double *)malloc((double)Min(row,col)*Min(row,col)*sizeof(double));
+ V = (double *)malloc((double)col*Min(row,col)*sizeof(double));
+
+ dsvda(in1,M,N,1,3,U,S,V);
+
+ if (ninp == 1){ /* [u,s,v] = sva(A) when input is only matrix */
+ tol = Max(row,col)*S[0]*eps;
+ rk = 0;
+ for(i=0;i<col;i++){
+ if(S[i+i*row] > tol){
+ rk+=1;
+ }
+ }
+ }
+ else{ /*[u,s,v] = sva(A,tol) when two input's are there */
+ tol = in2;
+ if(tol > 1){
+ rk = tol;
+ if(rk > Min(row,col)){
+ printf("ERROR: Wrong value for input argument !");
+ out1 = NULL;
+ out2 = NULL;
+ out3 = NULL;
+ return;
+ }
+ }
+ else{
+ rk = 0;
+ for(i=0;i<col;i++){
+ if(S[i+i*row] > tol){
+ rk+=1;
+ }
+ }
+ }
+ }
+ arow = M;
+ acol = Min(M,N);
+ for(i=0;i<arow;i++){
+ for(j=0;j<rk;j++){
+ out1[i+j*row]=U[i+j*arow];
+ }
+ }
+ arow = Min(M,N);
+ for(i=0;i<rk;i++){
+ for(j=0;j<rk;j++){
+ out2[i+j*(int)rk] = S[i+j*arow];
+ }
+ }
+ arow = N;
+ acol = Min(M,N);
+ for(i=0;i<arow;i++){
+ for(j=0;j<rk;j++){
+ out3[i+j*arow] = V[i+j*arow];
+ }
+ }
+}
diff --git a/src/c/linearAlgebra/svd/dsvda.c b/src/c/linearAlgebra/svd/dsvda.c
new file mode 100644
index 0000000..e6af300
--- /dev/null
+++ b/src/c/linearAlgebra/svd/dsvda.c
@@ -0,0 +1,126 @@
+/* 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
+
+ */
+
+/*Funtion to find singular value decomposition of given matrix */
+
+#include "lapack.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include "string.h"
+#include <math.h>
+#include "svd.h"
+#include "matrixTranspose.h"
+
+int min(int a,int b);
+int max(int a,int b);
+
+extern double dgesvd_(char*,char*,int*,int*,double*,int*,double*,double*,int*,\
+ double*,int*,double *,int*,int*);
+
+/* DGESVD computes the singular value decomposition (SVD) of a real
+ M-by-N matrix A, optionally computing the left and/or right singular
+ vectors. The SVD is written
+
+ A = U * SIGMA * transpose(V) */
+
+void dsvda(double *in1,int row,int col,double in2,double nout,double *out1, \
+ double *out2,double *out3){
+
+ char JOBU,JOBVT;
+ int j,k;
+ int LDU=1; /*Leading Dimension of U */
+ int LDVT=1; /*Leading Dimension of VT */
+ int M = row;
+ int N = col;
+ double *buf;
+ double *S,*U,*VT;
+ double *WORK;
+
+ if((nout > 1 && in2 == 1) && (M != N)){ /* [U,S,VT] = svd(x,'e') */
+ if(M > N){
+ JOBU = 'S';
+ JOBVT = 'A';
+ LDVT = N;
+ }
+ else{
+ JOBU = 'A';
+ JOBVT = 'S';
+ LDVT = min(M,N);
+ }
+ LDU = M;
+ U = (double*) malloc((double) (LDU)*min(M,N)*sizeof(double));
+ VT = (double*) malloc((double) (LDVT)*N*sizeof(double));
+ }
+ else if(nout > 1){ /* [U,S,VT = svd(x)] */
+ JOBU = 'A'; /*If JOBU = 'A', U contains the M-by-M orthogonal matrix U */
+ JOBVT = 'A'; /*JOBVT = 'A': all N rows of V**T are returned in the array VT;*/
+ LDU = M;
+ LDVT = N;
+ U = (double*) malloc((double) M*M*sizeof(double));
+ VT = (double*) malloc((double) N*N*sizeof(double));
+ }
+ else{ /* ans = svd(x) */
+ JOBU = 'N';
+ JOBVT = 'N';
+ }
+ int LDA = max(1,M);
+
+ /* Making a copy of input matrix */
+ buf = (double*) malloc((double)M*N*sizeof(double));
+ memcpy(buf,in1,M*N*sizeof(double));
+
+ S = (double*)malloc((double)min(col,row)*sizeof(double));
+
+ int LWORK = 5*min(M,N);
+ WORK = (double*)malloc((double)LWORK*sizeof(double));
+ int INFO = 0; /*For successful exit */
+
+ dgesvd_(&JOBU,&JOBVT,&M,&N,buf,&LDA,S,U,&LDU,VT,&LDVT,WORK,&LWORK,&INFO);
+ /*Subroutine DGESVD from Lapack lib. */
+
+ if (nout == 1){ /* ans = svd(x)*/
+ memcpy(out1,S,min(row,col)*sizeof(double));
+ //printf("%lf %lf %lf",*(S),*(S+1),*(S+2));
+ } /* [U,S,VT] = svd(x) */
+ else if(in2 == 0 && nout > 1){
+ memcpy(out1,U,LDU*M*sizeof(double));
+ //memcpy(out3,VT,LDVT*min(row,col)*sizeof(double));
+ for(j=0;j<M;j++){
+ for(k=0;k<N;k++){
+ if(j == k) *((out2+j*(min(M,N)))+k) = *(S+j);
+ else *((out2+j*(min(M,N)))+k) = 0;
+ }
+ }
+ dtransposea(VT,LDVT,N,out3);
+ }
+ else{
+ memcpy(out1,U,LDU*min(row,col)*sizeof(double));
+ for(j=0;j<min(M,N);j++){
+ for(k=0;k<min(M,N);k++){
+ if(j == k) *((out2+j*(min(M,N)))+k) = *(S+j);
+ else *((out2+j*(min(M,N)))+k) = 0;
+ }
+ }
+ dtransposea(VT,LDVT,N,out3);
+ }
+}
+
+int min(int a,int b){
+ if(a > b) return b;
+ return a;
+}
+
+int max(int a,int b){
+ if(a > b) return a;
+ return b;
+}
diff --git a/src/c/linearAlgebra/svd/zsvda.c b/src/c/linearAlgebra/svd/zsvda.c
new file mode 100644
index 0000000..0d36022
--- /dev/null
+++ b/src/c/linearAlgebra/svd/zsvda.c
@@ -0,0 +1,173 @@
+/* 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
+
+ */
+#include "svd.h"
+#include "lapack.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include "string.h"
+#include "doubleComplex.h"
+#include "matrixTranspose.h"
+#include "conj.h"
+
+extern doubleComplex zgesvd_( char* , char* , int* , int* ,doubleComplex *,\
+ int* , double* ,doubleComplex* , int* ,doubleComplex* , int* ,\
+ doubleComplex* , int* , double* , int* );
+
+
+int Min(int a,int b){
+ if(a > b)
+ return b;
+ return a;
+}
+
+int Max(int a,int b){
+ if(a > b)
+ return a;
+ else
+ return b;
+}
+
+void zsvda(doubleComplex *in1,int row,int col,int in2,int nout, doubleComplex *out1,\
+ doubleComplex *out2,doubleComplex *out3){
+
+ /* Allocating memory and copying the input in buf*/
+ doubleComplex *buf;
+ buf = (doubleComplex *)malloc(row*col*sizeof(doubleComplex));
+ memcpy(buf,in1,row*col*sizeof(doubleComplex));
+
+ /* Type of variable used */
+ int i,j,k;
+ char JOBU,JOBVT;
+ int M = row;
+ int N = col;
+ int LDA,LDU,LDVT,LWORK,INFO;
+
+ /*double precision array to store Sigma*/
+ double *S;
+ S = (double *)malloc(Min(M,N)*sizeof(double));
+
+ /* amount of memory needed for work */
+ LWORK = Max(1,2*Min(M,N)+Max(M,N));
+ doubleComplex *WORK = malloc(Max(1,2*LWORK)*sizeof(doubleComplex));
+
+ double *RWORK;
+ RWORK = (double *)malloc(5*Min(M,N)*sizeof(double));
+
+ INFO = 0;
+
+ if(nout == 1){
+ JOBU = 'N';
+ JOBVT = 'N';
+ LDA = M;
+ LDU = M;
+ LDVT = N;
+ //doubleComplex *U,*VT;
+ //U = malloc(sizeof(doubleComplex));
+ //VT = malloc(sizeof(doubleComplex));
+ zgesvd_(&JOBU,&JOBVT,&M,&N,buf,&LDA,S,NULL,&LDU,NULL,&LDVT,WORK,&LWORK,RWORK,&INFO);
+
+ //memcpy(out2,S,Min(M,N)*sizeof(double));
+ for(i=0;i<Min(M,N);i++){
+ out2[i] = DoubleComplex(S[i],0);
+ //out2[i] = S[i];
+ //out2[i] = 0;
+ }
+ out1 = NULL;
+ out3 = NULL;
+ //for(i=0;i<Min(M,N);i++) printf("%lf ",S[i]);
+ //free(S);
+ }
+ else if(nout == 3){
+ if(in2 == 0 || M == N){
+ JOBU = 'A';
+ JOBVT = 'A';
+ LDA = M;
+ LDU = M;
+ LDVT = N;
+ doubleComplex *U = malloc(LDU*M*sizeof(doubleComplex));
+ doubleComplex *VT = malloc(LDVT*N*sizeof(doubleComplex));
+
+ /*doubleComplex wopt;
+ LWORK = -1;
+ zgesvd_(&JOBU,&JOBVT,&M,&N,buf,&LDA,S,U,&LDU,VT,&LDVT,&wopt,&LWORK,RWORK,&INFO);*/
+
+ //LWORK = (int)zreals(wopt);
+
+ WORK = (doubleComplex *)malloc(LWORK*sizeof(doubleComplex));
+ zgesvd_(&JOBU,&JOBVT,&M,&N,buf,&LDA,S,U,&LDU,VT,&LDVT,WORK,&LWORK,RWORK,&INFO);
+
+ memcpy(out1,U,LDU*Min(M,N)*sizeof(doubleComplex));
+ //memcpy(out3,VT,N*N*sizeof(doubleComplex));
+ for(i=0;i<N;i++){
+ for(j=i;j<N;j++){
+ out3[i+j*N] = zconjs(VT[j+i*N]);
+ out3[j+i*N] = zconjs(VT[i+j*N]);
+ }
+ }
+ //ztransposea(VT,LDVT,Min(M,N),out3);
+ /*for(i=0;i<N;i++){
+ for(j=0;j<N;j++){
+ printf("[ %lf %lf]",zreals(VT[i*N+j]),zimags(VT[i*N+j]));
+ }
+ printf("\n");
+ }*/
+ //free(U);
+ //free(VT);
+ }
+ else{
+ LDA = M;
+ LDU = M;
+ if(M > N){
+ JOBU = 'S';
+ JOBVT = 'A';
+ LDVT = N;
+ }
+ else{
+ JOBU = 'A';
+ JOBVT = 'S';
+ LDVT = Min(M,N);
+ }
+ doubleComplex *U;
+ U = malloc(LDU*Min(M,N)*sizeof(doubleComplex));
+ doubleComplex *VT;
+ VT = malloc(LDVT*N*sizeof(doubleComplex));
+ zgesvd_(&JOBU,&JOBVT,&M,&N,buf,&LDA,S,U,&LDU,VT,&LDVT,WORK,&LWORK,RWORK,&INFO);
+ memcpy(out1,U,M*Min(M,N)*sizeof(doubleComplex));
+ //ztransposea(VT,LDVT,Min(row,col),out3);
+
+ /* These lines are added to patch an error of ZGESVD */
+ /*
+ ij = i+(j-1)*N
+ ji = j+(i-1)*N
+ zstk(lV+ij-1) = conjg(zstk(lVT+ji-1))
+ zstk(lV+ji-1) = conjg(zstk(lVT+ij-1))
+ */
+ for(i=0;i<Min(M,N);i++){
+ for(j=0;j<N;j++){
+ out3[j+i*N] = zconjs(VT[i+j*Min(M,N)]);
+ }
+ }
+ //free(U);
+ //free(VT);
+ }
+ /* output from zgesvd is copied to out2 variables in required format*/
+ for(j=0;j<Min(M,N);j++){
+ for(k=0;k<Min(M,N);k++){
+ if(j == k)
+ out2[j*(Min(M,N))+k] = DoubleComplex(S[j],0);
+ else
+ out2[j*(Min(M,N))+k] = DoubleComplex(0,0);
+ }
+ }
+ }
+}
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 bfb6e92..485553d 100644
--- a/src/c/matrixOperations/cat/zcata.c
+++ b/src/c/matrixOperations/cat/zcata.c
@@ -26,7 +26,7 @@ void zrowcata(doubleComplex *in1, int lines1, int columns1, doubleComplex *in2,
{
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/scilab-arduino/cmd_analog_in_volt/u8cmd_analog_in_volts.c b/src/c/scilab-arduino/cmd_analog_in_volt/u8cmd_analog_in_volts.c
new file mode 100644
index 0000000..7018df2
--- /dev/null
+++ b/src/c/scilab-arduino/cmd_analog_in_volt/u8cmd_analog_in_volts.c
@@ -0,0 +1,22 @@
+/* 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: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cmd_analog_in_volt.h"
+#include "Arduino.h"
+
+float u8cmd_analog_in_volts(uint8 board_no, uint8 pin)
+{
+ float a;
+ a = ((5*(float)analogRead(pin))/1023);
+ return(a);
+}
+
diff --git a/src/c/scilab-arduino/cmd_analog_out_volt/u8cmd_analog_out_volts.c b/src/c/scilab-arduino/cmd_analog_out_volt/u8cmd_analog_out_volts.c
new file mode 100644
index 0000000..2dd82e4
--- /dev/null
+++ b/src/c/scilab-arduino/cmd_analog_out_volt/u8cmd_analog_out_volts.c
@@ -0,0 +1,22 @@
+/* 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: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cmd_analog_out_volt.h"
+#include "Arduino.h"
+
+void u8cmd_analog_out_volts(uint8 board_no, uint8 pin, float value)
+{
+ int a;
+ a = ((value*255)/5);
+ analogWrite(pin,a);
+
+}
diff --git a/src/c/scilab-arduino/cmd_dcmotor_release/u8cmd_dcmotor_releases.c b/src/c/scilab-arduino/cmd_dcmotor_release/u8cmd_dcmotor_releases.c
new file mode 100644
index 0000000..349bcb1
--- /dev/null
+++ b/src/c/scilab-arduino/cmd_dcmotor_release/u8cmd_dcmotor_releases.c
@@ -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: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cmd_dcmotor_release.h"
+#include "Arduino.h"
+
+void u8cmd_dcmotor_releases(uint8 board_no, uint8 motor_no)
+{
+ if (dcm_mode[motor_no] == 3)
+ {
+ analogWrite(dcm_pin_1[motor_no],0);
+ analogWrite(dcm_pin_2[motor_no],0);
+ }
+
+ else
+ {
+ digitalWrite(dcm_pin_1[motor_no],LOW);
+ digitalWrite(dcm_pin_2[motor_no],LOW);
+ }
+}
diff --git a/src/c/scilab-arduino/cmd_dcmotor_run/u8cmd_dcmotor_runs.c b/src/c/scilab-arduino/cmd_dcmotor_run/u8cmd_dcmotor_runs.c
index 6e1c2ca..e8fa8b3 100644
--- a/src/c/scilab-arduino/cmd_dcmotor_run/u8cmd_dcmotor_runs.c
+++ b/src/c/scilab-arduino/cmd_dcmotor_run/u8cmd_dcmotor_runs.c
@@ -6,6 +6,7 @@
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
Author: Siddhesh Wani
+ Revised by: Yash Pratap Singh Tomar
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
diff --git a/src/c/scilab-arduino/cmd_dcmotor_setup/u8cmd_dcmotor_setups.c b/src/c/scilab-arduino/cmd_dcmotor_setup/u8cmd_dcmotor_setups.c
index 389f911..0d04e74 100644
--- a/src/c/scilab-arduino/cmd_dcmotor_setup/u8cmd_dcmotor_setups.c
+++ b/src/c/scilab-arduino/cmd_dcmotor_setup/u8cmd_dcmotor_setups.c
@@ -6,6 +6,7 @@
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
Author: Siddhesh Wani
+ Revised by: Yash Pratap Singh Tomar
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
diff --git a/src/c/scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp b/src/c/scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp
new file mode 100644
index 0000000..adc1a6e
--- /dev/null
+++ b/src/c/scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp
@@ -0,0 +1,10 @@
+#include "cmd_i2c_dev.h"
+#include "Arduino.h"
+#include "Wire.h"
+
+
+uint8 u8cmd_i2c_devs(uint8 address)
+{
+ Wire.begin();
+ return((uint8)address);
+}
diff --git a/src/c/scilab-arduino/cmd_i2c_read/u8cmd_i2c_reads.cpp b/src/c/scilab-arduino/cmd_i2c_read/u8cmd_i2c_reads.cpp
new file mode 100644
index 0000000..8f02a87
--- /dev/null
+++ b/src/c/scilab-arduino/cmd_i2c_read/u8cmd_i2c_reads.cpp
@@ -0,0 +1,18 @@
+#include "cmd_i2c_read.h"
+#include "Arduino.h"
+#include "Wire.h"
+
+float u8cmd_i2c_reads(uint8 address, uint8 bytes)
+{
+
+ float c; //variable declaration to save received data
+
+ // request reading from sensor
+ Wire.requestFrom(address, bytes); // request no. of bytes(given) from slave device with address
+
+ // receive reading from sensor
+ while (Wire.available()) //If data is received
+ c = Wire.read(); //Save received data in variable
+ return(c);
+
+}
diff --git a/src/c/scilab-arduino/cmd_i2c_read_register/u8cmd_i2c_read_registers.cpp b/src/c/scilab-arduino/cmd_i2c_read_register/u8cmd_i2c_read_registers.cpp
new file mode 100644
index 0000000..0a2ec2e
--- /dev/null
+++ b/src/c/scilab-arduino/cmd_i2c_read_register/u8cmd_i2c_read_registers.cpp
@@ -0,0 +1,26 @@
+#include "cmd_i2c_read_register.h"
+#include "Arduino.h"
+#include "Wire.h"
+
+uint16 u8cmd_i2c_read_registers(uint8 address, uint8 reg_adrs)
+{
+ long int reading;
+
+ Wire.beginTransmission(address); // transmit to device address
+ Wire.write(reg_adrs); // sets register pointer to reg_adrs position
+ Wire.endTransmission(); // stop transmitting
+
+ // request reading from sensor
+ Wire.requestFrom(address, 2); // request 2 bytes from slave device with address
+
+ // receive reading from sensor
+ if (2 <= Wire.available()) // if two bytes were received
+ {
+ reading = Wire.read(); // receive high byte (overwrites previous reading)
+ reading = reading << 8; // shift high byte to be high 8 bits
+ reading |= Wire.read(); // receive low byte as lower 8 bits
+ }
+
+ return(reading);
+
+}
diff --git a/src/c/scilab-arduino/cmd_i2c_write/u8cmd_i2c_writes.cpp b/src/c/scilab-arduino/cmd_i2c_write/u8cmd_i2c_writes.cpp
new file mode 100644
index 0000000..0239097
--- /dev/null
+++ b/src/c/scilab-arduino/cmd_i2c_write/u8cmd_i2c_writes.cpp
@@ -0,0 +1,13 @@
+#include "cmd_i2c_write.h"
+#include "Arduino.h"
+#include "Wire.h"
+
+void u8cmd_i2c_writes(uint8 address, uint8 data)
+{
+
+ Wire.beginTransmission(address); //Begins transmission to the device connected to given address
+ Wire.write(data); //sends data to slave device
+ Wire.endTransmission(); //Transmission ends
+
+}
+
diff --git a/src/c/scilab-arduino/cmd_i2c_write_register/u8cmd_i2c_write_registers.cpp b/src/c/scilab-arduino/cmd_i2c_write_register/u8cmd_i2c_write_registers.cpp
new file mode 100644
index 0000000..63cc7c7
--- /dev/null
+++ b/src/c/scilab-arduino/cmd_i2c_write_register/u8cmd_i2c_write_registers.cpp
@@ -0,0 +1,16 @@
+#include "cmd_i2c_write_register.h"
+#include "Arduino.h"
+#include "Wire.h"
+
+void u8cmd_i2c_write_registers(uint8 address, uint8 reg_adrs, uint8 data)
+{
+
+
+ Wire.beginTransmission(address); //Begins transmission to the device connected to given address
+ Wire.write(reg_adrs); //sets register pointer to reg_adrs position
+ Wire.write(data); //writes given data on reg_adrs position
+ Wire.endTransmission(); //Transmission ends
+
+
+}
+
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h b/src/c/scilab-arduino/includes/cmd_analog_in_volt.h
index 68ed6e0..ec47142 100644
--- a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h
+++ b/src/c/scilab-arduino/includes/cmd_analog_in_volt.h
@@ -1,25 +1,28 @@
- /* 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
you 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: Yash Pratap Singh Tomar
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
- */
-#ifndef __INT_RPIPERIPHERALTHREADING_H__
-#define __INT_RPIPERIPHERALTHREADING_H__
+*/
+
+#ifndef __CMD_ANALOG_IN_VOLT_H__
+#define __CMD_ANALOG_IN_VOLT_H__
+
+#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
-
-#define RPI_ThreadCreate(fn) RPIThreadCreate(fn);
+
+float u8cmd_analog_in_volts(uint8 board_no, uint8 pin);
#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__INT_RPIPERIPHERALTHREADING_H__*/
+#endif /* __CMD_ANALOG_IN_VOLT_H__ */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h b/src/c/scilab-arduino/includes/cmd_analog_out_volt.h
index b2c1ed1..51580fb 100644
--- a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h
+++ b/src/c/scilab-arduino/includes/cmd_analog_out_volt.h
@@ -1,25 +1,27 @@
- /* 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
you 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: Yash Pratap Singh Tomar
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
- */
-#ifndef __INT_RPIPERIPHERALPINISR_H__
-#define __INT_RPIPERIPHERALPINISR_H__
+*/
+#ifndef __CMD_ANALOG_OUT_VOLT_H__
+#define __CMD_ANALOG_OUT_VOLT_H__
+
+#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
-
-#define RPI_PinISR(pin,edge,funname) i16RPIPinISRs((uint8)pin,(uint8)edge,funname)
+
+void u8cmd_analog_out_volts(uint8 board_no, uint8 pin, float value);
#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /*__INT_RPIPERIPHERALPINISR_H__*/
+#endif /* __CMD_ANALOG_OUT_VOLT_H__ */
diff --git a/src/c/scilab-arduino/includes/cmd_dcmotor_release.h b/src/c/scilab-arduino/includes/cmd_dcmotor_release.h
new file mode 100644
index 0000000..d185fb5
--- /dev/null
+++ b/src/c/scilab-arduino/includes/cmd_dcmotor_release.h
@@ -0,0 +1,30 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __CMD_DCMOTOR_RELEASE_H__
+#define __CMD_DCMOTOR_RELEASE_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern uint8 dcm_pin_1[4], dcm_pin_2[4], dcm_mode[4];
+
+void u8cmd_dcmotor_releases(uint8 board_no, uint8 motor_no);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __CMD_DCMOTOR_RELEASE_H__ */
diff --git a/src/c/scilab-arduino/includes/cmd_dcmotor_run.h b/src/c/scilab-arduino/includes/cmd_dcmotor_run.h
index 2b69c99..1b5d41c 100644
--- a/src/c/scilab-arduino/includes/cmd_dcmotor_run.h
+++ b/src/c/scilab-arduino/includes/cmd_dcmotor_run.h
@@ -22,7 +22,7 @@ extern "C" {
extern uint8 dcm_pin_1[4], dcm_pin_2[4], dcm_mode[4];
-void u8cmd_dc_motor_runs(uint8 board_no, uint8 motor_no, int16 duty);
+void u8cmd_dcmotor_runs(uint8 board_no, uint8 motor_no, int16 duty);
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/scilab-arduino/includes/cmd_dcmotor_setup.h b/src/c/scilab-arduino/includes/cmd_dcmotor_setup.h
index cecd465..45854ff 100644
--- a/src/c/scilab-arduino/includes/cmd_dcmotor_setup.h
+++ b/src/c/scilab-arduino/includes/cmd_dcmotor_setup.h
@@ -22,7 +22,7 @@ extern "C" {
extern uint8 dcm_pin_1[4], dcm_pin_2[4], dcm_mode[4];
-void u8cmd_dc_motor_setups(uint8 board_no, uint8 driver_type, uint8 motor_no,\
+void u8cmd_dcmotor_setups(uint8 board_no, uint8 driver_type, uint8 motor_no,\
uint8 pin_1, uint8 pin_2);
#ifdef __cplusplus
diff --git a/src/c/scilab-arduino/includes/cmd_i2c_dev.h b/src/c/scilab-arduino/includes/cmd_i2c_dev.h
new file mode 100644
index 0000000..861a8e7
--- /dev/null
+++ b/src/c/scilab-arduino/includes/cmd_i2c_dev.h
@@ -0,0 +1,16 @@
+#ifndef __CMD_I2C_DEV_H__
+#define __CMD_I2C_DEV_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+uint8 u8cmd_i2c_devs(uint8 address);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __CMD_I2C_DEV_H__ */
diff --git a/src/c/scilab-arduino/includes/cmd_i2c_read.h b/src/c/scilab-arduino/includes/cmd_i2c_read.h
new file mode 100644
index 0000000..791bdd3
--- /dev/null
+++ b/src/c/scilab-arduino/includes/cmd_i2c_read.h
@@ -0,0 +1,16 @@
+#ifndef __CMD_I2C_READ_H__
+#define __CMD_I2C_READ_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+float u8cmd_i2c_reads(uint8 address, uint8 bytes);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __CMD_I2C_READ_H__ */
diff --git a/src/c/scilab-arduino/includes/cmd_i2c_read_register.h b/src/c/scilab-arduino/includes/cmd_i2c_read_register.h
new file mode 100644
index 0000000..ea203ad
--- /dev/null
+++ b/src/c/scilab-arduino/includes/cmd_i2c_read_register.h
@@ -0,0 +1,16 @@
+#ifndef __CMD_I2C_READ_REGISTER_H__
+#define __CMD_I2C_READ_REGISTER_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+uint16 u8cmd_i2c_read_registers(uint8 address, uint8 reg_adrs);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __CMD_I2C_READ_REGISTER_H__ */
diff --git a/src/c/scilab-arduino/includes/cmd_i2c_write.h b/src/c/scilab-arduino/includes/cmd_i2c_write.h
new file mode 100644
index 0000000..6a57222
--- /dev/null
+++ b/src/c/scilab-arduino/includes/cmd_i2c_write.h
@@ -0,0 +1,16 @@
+#ifndef __CMD_I2C_WRITE_H__
+#define __CMD_I2C_WRITE_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void u8cmd_i2c_writes(uint8 address, uint8 data);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __CMD_I2C_WRITE_H__ */
diff --git a/src/c/scilab-arduino/includes/cmd_i2c_write_register.h b/src/c/scilab-arduino/includes/cmd_i2c_write_register.h
new file mode 100644
index 0000000..ff1b9ec
--- /dev/null
+++ b/src/c/scilab-arduino/includes/cmd_i2c_write_register.h
@@ -0,0 +1,16 @@
+#ifndef __CMD_I2C_WRITE_REGISTER_H__
+#define __CMD_I2C_WRITE_REGISTER_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void u8cmd_i2c_write_registers(uint8 address, uint8 reg_adrs, uint8 data);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __CMD_I2C_WRITE_REGISTER_H__ */
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_analog_in_volt.h b/src/c/scilab-arduino/interfaces/int_cmd_analog_in_volt.h
new file mode 100644
index 0000000..e8fe65d
--- /dev/null
+++ b/src/c/scilab-arduino/interfaces/int_cmd_analog_in_volt.h
@@ -0,0 +1,30 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifndef __INT_CMD_ANALOG_IN_VOLT_H__
+#define __INT_CMD_ANALOG_IN_VOLT_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0d0cmd_analog_in_volts0(in1,in2) u8cmd_analog_in_volts((uint8)in1,(uint8)in2)
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __INT_CMD_ANALOG_IN_VOLT_H__ */
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_analog_out_volt.h b/src/c/scilab-arduino/interfaces/int_cmd_analog_out_volt.h
new file mode 100644
index 0000000..283f8fa
--- /dev/null
+++ b/src/c/scilab-arduino/interfaces/int_cmd_analog_out_volt.h
@@ -0,0 +1,30 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_CMD_ANALOG_OUT_VOLT_H__
+#define __INT_CMD_ANALOG_OUT_VOLT_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0d0d0cmd_analog_out_volt(in1,in2,in3) u8cmd_analog_out_volts((uint8)in1,(uint8)in2,(float)in3)
+
+#define d0d0s0cmd_analog_out_volt(in1,in2,in3) u8cmd_analog_out_volts((uint8)in1,(uint8)in2,(float)in3)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __INT_CMD_ANALOG_OUT_VOLT_H__ */
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_dcmotor.h b/src/c/scilab-arduino/interfaces/int_cmd_dcmotor.h
index 61e0d2e..d465ff6 100644
--- a/src/c/scilab-arduino/interfaces/int_cmd_dcmotor.h
+++ b/src/c/scilab-arduino/interfaces/int_cmd_dcmotor.h
@@ -6,6 +6,7 @@
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
Author: Siddhesh Wani
+ Revised by: Yash Pratap Singh Tomar
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
@@ -20,16 +21,16 @@
extern "C" {
#endif
-#define d0d0d0d0d0cmd_dcmotor_setup(in1,in2,in3,in4,in5)\
- u8cmd_dcmotor_setups((uint8)in1,(uint8)in2,(uint8)in3,\
- (uint8)in4,(uint8)in5)
+#define d0d0d0d0d0cmd_dcmotor_setup(in1,in2,in3,in4,in5) u8cmd_dcmotor_setups((uint8)in1,(uint8)in2,(uint8)in3,(uint8)in4,(uint8)in5)
#define d0d0d0cmd_dcmotor_run(in1,in2,in3) u8cmd_dcmotor_runs((uint8)in1,\
(uint8)in2, (int16)in3);
#define d0d0u160cmd_dcmotor_run(in1,in2,in3) u8cmd_dcmotor_runs((uint8)in1,\
- (uint8)in2, (int16)in3);
+ (uint8)in2, (int16)in3);
+
+#define d0d0cmd_dcmotor_release(in1,in2) u8cmd_dcmotor_releases((uint8)in1,(uint8)in2)
#ifdef __cplusplus
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h b/src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h
new file mode 100644
index 0000000..c4d93d7
--- /dev/null
+++ b/src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h
@@ -0,0 +1,17 @@
+#ifndef __INT_CMD_I2C_DEV_H__
+#define __INT_CMD_I2C_DEV_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0cmd_i2c_devu80(in1) u8cmd_i2c_devs((uint8)in1)
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __INT_CMD_I2C_DEV_H__ */
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h b/src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h
new file mode 100644
index 0000000..b0633a0
--- /dev/null
+++ b/src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h
@@ -0,0 +1,19 @@
+#ifndef __INT_CMD_I2C_READ_H__
+#define __INT_CMD_I2C_READ_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0d0cmd_i2c_reads0(in1, in2) u8cmd_i2c_reads((uint8)in1, (uint8)in2)
+
+#define u80d0cmd_i2c_reads0(in1, in2) u8cmd_i2c_reads((uint8)in1, (uint8)in2)
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __INT_CMD_I2C_READ_H__ */
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_i2c_read_register.h b/src/c/scilab-arduino/interfaces/int_cmd_i2c_read_register.h
new file mode 100644
index 0000000..5f4c529
--- /dev/null
+++ b/src/c/scilab-arduino/interfaces/int_cmd_i2c_read_register.h
@@ -0,0 +1,18 @@
+#ifndef __INT_CMD_I2C_READ_REGISTER_H__
+#define __INT_CMD_I2C_READ_REGISTER_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0d0cmd_i2c_read_registeru160(in1, in2) u8cmd_i2c_read_registers((uint8)in1, (uint8)in2)
+
+#define u80d0cmd_i2c_read_registeru160(in1, in2) u8cmd_i2c_read_registers((uint8)in1, (uint8)in2)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __INT_CMD_I2C_READ_REGISTER_H__ */
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_i2c_write.h b/src/c/scilab-arduino/interfaces/int_cmd_i2c_write.h
new file mode 100644
index 0000000..a7705a8
--- /dev/null
+++ b/src/c/scilab-arduino/interfaces/int_cmd_i2c_write.h
@@ -0,0 +1,20 @@
+#ifndef __INT_CMD_I2C_WRITE_H__
+#define __INT_CMD_I2C_WRITE_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0d0cmd_i2c_write(in1, in2) u8cmd_i2c_writes((uint8)in1, (uint8)in2)
+
+#define u80d0cmd_i2c_write(in1, in2) u8cmd_i2c_writes((uint8)in1, (uint8)in2)
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __INT_CMD_I2C_WRITE_H__ */
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_i2c_write_register.h b/src/c/scilab-arduino/interfaces/int_cmd_i2c_write_register.h
new file mode 100644
index 0000000..35c0527
--- /dev/null
+++ b/src/c/scilab-arduino/interfaces/int_cmd_i2c_write_register.h
@@ -0,0 +1,19 @@
+#ifndef __INT_CMD_I2C_WRITE_REGISTER_H__
+#define __INT_CMD_I2C_WRITE_REGISTER_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0d0d0cmd_i2c_write_register(in1, in2, in3) u8cmd_i2c_write_registers((uint8)in1, (uint8)in2, (uint8)in3)
+
+#define u80d0d0cmd_i2c_write_register(in1, in2, in3) u8cmd_i2c_write_registers((uint8)in1, (uint8)in2, (uint8)in3)
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __INT_CMD_I2C_WRITE_REGISTER_H__ */
diff --git a/src/c/scilab-arduino/sleep/u16sleeps.c b/src/c/scilab-arduino/sleep/u16sleeps.c
index 88f8a66..3045978 100644
--- a/src/c/scilab-arduino/sleep/u16sleeps.c
+++ b/src/c/scilab-arduino/sleep/u16sleeps.c
@@ -6,11 +6,13 @@
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
Author: Siddhesh Wani
+ Revised by: Yash Pratap Singh Tomar
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
#include "sleep.h"
+#include "Arduino.h"
void u16sleeps(uint16 delay_ms)
{
diff --git a/src/c/signalProcessing/includes/dct.h b/src/c/signalProcessing/includes/dct.h
new file mode 100644
index 0000000..80668ff
--- /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 <math.h>
+#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/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 <math.h>
+#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/interfaces/int_dct.h b/src/c/signalProcessing/interfaces/int_dct.h
new file mode 100644
index 0000000..3481c4d
--- /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/string/strncpy/int_strncpy.h b/src/c/signalProcessing/interfaces/int_idct.h
index fcf245e..f705fe2 100644
--- a/src/c/string/strncpy/int_strncpy.h
+++ b/src/c/signalProcessing/interfaces/int_idct.h
@@ -5,22 +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: Ankit Raj
+ Author: Ukasha Noor
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
- */
-#ifndef __INT_STRNCPY_H__
-#define __INT_STRNCPY_H__
+*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define g2strncpyg2(str,key,oup) gstrncpya(str,key,oup)
-#ifdef __cplusplus
-} /* extern "C"*/
-#endif
+#ifndef __INT_IDCT_H__
+#define __INT_IDCT_H__
+
+
-#endif /*__INT_STRNCPY_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/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<stdio.h>
+#include<math.h>
+#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;i<sz;i++)
+ {
+ if(ptr[i]<0)
+ {
+ ptr[i]=-1*ptr[i];
+ }
+ if(mx<(ptr[i]))
+ mx=(ptr[i]);
+ }
+ return mx;
+}
+void dmodka(double* inp,int size,double* oup)
+{
+ double ones[size],PI=M_PI;
+ double eps=pow(2,-52);
+ int i;
+ for(i=0;i<size;i++)
+ {
+ ones[i]=1;
+ }
+ double a[size],b[size],c[size],an[size],bn[size],cn[size],kans[size];
+
+ int j,kk,l,m;
+ for(j=0;j<size;j++)
+ {
+ a[j]=1;
+ }
+ for(kk=0;kk<size;kk++)
+ {
+ b[kk]=sqrt(ones[kk]-inp[kk]);
+ }
+ for(l=0;l<size;l++)
+ {
+ c[l]=sqrt(inp[l]);
+
+ }
+ int x=0;
+ //double maxi;
+ //maxi=max_calc(c,size);
+ //printf("%lf",maxi);
+
+ while(max_calc(c,size)>eps)
+ {
+ int q,w,r;
+ for(q=0;q<size;q++)
+ {
+ an[q]=0.5*(a[q]+b[q]);
+ }
+ for(w=0;w<size;w++)
+ {
+ bn[w]=sqrt(a[w]*b[w]);
+ }
+ for(r=0;r<size;r++)
+ {
+ cn[r]=0.5*(a[r]-b[r]);
+ }
+ int x,y,z;
+ for(x=0;x<size;x++)
+ {
+ a[x]=an[x];
+ }
+ for(y=0;y<size;y++)
+ {
+ b[y]=bn[y];
+ }
+ for(z=0;z<size;z++)
+ {
+ c[z]=cn[z];
+ }
+ }
+ int q,w;
+ for(q=0;q<size;q++)
+ {
+ oup[q]=PI*(ones[q]/(2*a[q]));
+ }
+
+}
+/*
+int main()
+{
+ double m[3]={0.1,0.2,0.3};
+ dka(m,3);
+}
+*/
diff --git a/src/c/signalProcessing/transforms/dct/cdcta.c b/src/c/signalProcessing/transforms/dct/cdcta.c
new file mode 100644
index 0000000..5bc2792
--- /dev/null
+++ b/src/c/signalProcessing/transforms/dct/cdcta.c
@@ -0,0 +1,177 @@
+/* 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 "matrixMultiplication"*/
+/*#include <fftw3.h>*/
+#include <math.h>
+
+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;
+ float re,z,q,m;
+ floatComplex accu = DoubleComplex(0, 0);
+ floatComplex temp,mm;
+ if(sign==-1)
+ {
+ if(row==1)
+ {
+ n=col;
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=FloatComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ temp=in[y]*(cos(((M_PI)*(y+1-1./2.)*(x))/n));
+ out[x]=cadds(out[x],temp);
+ }
+ }
+ if(x==0)
+ out[x]*=1./(sqrt(n));
+ else
+ {
+ float res=2./n;
+ out[x]*=sqrt(res);
+ }
+ }
+ }
+ }
+ else
+ {
+ n=col*row;
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=FloatComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ temp=FloatComplex(0,0);
+ mm=FloatComplex(0,0);
+ for(j=0;j<col;j++)
+ {
+ y=j*row+i;
+ z=(float)(((float)j+1.0/2.0)*(float)v);
+ q=(float)(M_PI/(float)col);
+ mm=in[y]*(cos(q*z));
+ temp=cadds(temp,mm);
+ }
+ z=(float)(((float)i+1.0/2.0)*(float)u);
+ q=(float)(M_PI/(float)row);
+ temp*=cos(q*z);
+ out[x]=cadds(out[x],temp);
+ }
+ if(u==0)
+ {
+ out[x]*=1./sqrt((float)row);
+ if(v==0)
+ out[x]*=1./sqrt((float)col);
+ else
+ out[x]*=sqrt(2./col);
+ }
+ else
+ {
+ out[x]*=sqrt(2./row);
+ if(v==0)
+ out[x]*=1./sqrt((float)col);
+ else
+ out[x]*=sqrt(2./col);
+ }
+ }
+ }
+ }
+ }
+ else if(sign==1)
+ {
+ n=col;
+ if(row==1)
+ {
+ res=1./sqrt(n);
+ ress=sqrt(2./n);
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=FloatComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ if(y==0)
+ {
+ q=res*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ out[x]=cadds(out[x],in[y]*q);
+ }
+ else
+ {
+ q=ress*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ out[x]=cadds(out[x],in[y]*q);
+ }
+ }
+ }
+ }
+
+ }
+ }
+ else
+ {
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=FloatComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ re=0;
+ mm=FloatComplex(0,0);
+ temp=FloatComplex(0,0);
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ mm=in[j*row+i];
+ z=(float)(((float)v+1.0/2.0)*(float)j);
+ q=(float)(M_PI/(float)col);
+ mm=mm*(cos(q*z));
+ if(j==0)
+ temp=cadds(temp,mm*(1./sqrt((float)col)));
+ else
+ temp=cadds(temp,mm*sqrt(2./col));
+ }
+ z=(float)(((float)u+1.0/2.0)*(float)i);
+ q=(float)(M_PI/(float)row);
+ if(i==0)
+ out[x]=cadds(out[x],temp*((cos(z*q))*(1./sqrt(row))));
+ else
+ out[x]=cadds(out[x],temp*((cos(z*q))*sqrt(2./row)));
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/c/signalProcessing/transforms/dct/ddcta.c b/src/c/signalProcessing/transforms/dct/ddcta.c
new file mode 100644
index 0000000..3802c81
--- /dev/null
+++ b/src/c/signalProcessing/transforms/dct/ddcta.c
@@ -0,0 +1,160 @@
+/* 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 <fftw3.h>*/
+#include <math.h>
+
+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<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ out[x]+=in[y]*(cos(((M_PI)*(y+1-1./2.)*(x))/n));
+ }
+ }
+ if(x==0)
+ out[x]*=1./(sqrt(n));
+ else
+ {
+ double res=2./n;
+ out[x]*=sqrt(res);
+ }
+ }
+ }
+ }
+ else
+ {
+ n=col*row;
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ re=0;
+ for(j=0;j<col;j++)
+ {
+ m=(double)in[j*row+i];
+ z=(double)(((double)j+1.0/2.0)*(double)v);
+ q=(double)(M_PI/(double)col);
+ re+=m*(cos(q*z));
+ }
+ z=(double)(((double)i+1.0/2.0)*(double)u);
+ q=(double)(M_PI/(double)row);
+ out[x]+=re*(cos(q*z));
+ }
+ if(u==0)
+ {
+ out[x]/=sqrt((double)row);
+ if(v==0)
+ out[x]/=sqrt((double)col);
+ else
+ out[x]*=sqrt(2./col);
+ }
+ else
+ {
+ out[x]*=sqrt(2./row);
+ if(v==0)
+ out[x]/=sqrt((double)col);
+ else
+ out[x]*=sqrt(2./col);
+ }
+ }
+ }
+
+ }
+ }
+ else if(sign==1)
+ {
+ n=col;
+ if(row==1)
+ {
+ res=1./sqrt(n);
+ ress=sqrt(2./n);
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ if(y==0)
+ out[x]+=res*in[y]*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ else
+ out[x]+=ress*in[y]*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ }
+ }
+ }
+
+ }
+ }
+ else
+ {
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ re=0;
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ m=(double)in[j*row+i];
+ z=(double)(((double)v+1.0/2.0)*(double)j);
+ q=(double)(M_PI/(double)col);
+ m=m*(cos(q*z));
+ if(j==0)
+ re+=m/sqrt((double)col);
+ else
+ re+=m*sqrt(2./col);
+ }
+ z=(double)(((double)u+1.0/2.0)*(double)i);
+ q=(double)(M_PI/(double)row);
+ if(i==0)
+ out[x]+=(re*(cos(z*q)))/sqrt((double)row);
+ else
+ out[x]+=(re*(cos(z*q))*sqrt(2./row));
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/c/signalProcessing/transforms/dct/sdcta.c b/src/c/signalProcessing/transforms/dct/sdcta.c
new file mode 100644
index 0000000..9f380e8
--- /dev/null
+++ b/src/c/signalProcessing/transforms/dct/sdcta.c
@@ -0,0 +1,160 @@
+/* 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 <fftw3.h>*/
+#include <math.h>
+
+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<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ out[x]+=in[y]*(cos(((M_PI)*(y+1-1./2.)*(x))/n));
+ }
+ }
+ if(x==0)
+ out[x]*=1./(sqrt(n));
+ else
+ {
+ float res=2./n;
+ out[x]*=sqrt(res);
+ }
+ }
+ }
+ }
+ else
+ {
+ n=col*row;
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ re=0;
+ for(j=0;j<col;j++)
+ {
+ m=(float)in[j*row+i];
+ z=(float)(((float)j+1.0/2.0)*(float)v);
+ q=(float)(M_PI/(float)col);
+ re+=m*(cos(q*z));
+ }
+ z=(float)(((float)i+1.0/2.0)*(float)u);
+ q=(float)(M_PI/(float)row);
+ out[x]+=re*(cos(q*z));
+ }
+ if(u==0)
+ {
+ out[x]/=sqrt((float)row);
+ if(v==0)
+ out[x]/=sqrt((float)col);
+ else
+ out[x]*=sqrt(2./col);
+ }
+ else
+ {
+ out[x]*=sqrt(2./row);
+ if(v==0)
+ out[x]/=sqrt((float)col);
+ else
+ out[x]*=sqrt(2./col);
+ }
+ }
+ }
+
+ }
+ }
+ else if(sign==1)
+ {
+ n=col;
+ if(row==1)
+ {
+ res=1./sqrt(n);
+ ress=sqrt(2./n);
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ if(y==0)
+ out[x]+=res*in[y]*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ else
+ out[x]+=ress*in[y]*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ }
+ }
+ }
+
+ }
+ }
+ else
+ {
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ re=0;
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ m=(float)in[j*row+i];
+ z=(float)(((float)v+1.0/2.0)*(float)j);
+ q=(float)(M_PI/(float)col);
+ m=m*(cos(q*z));
+ if(j==0)
+ re+=m/sqrt((float)col);
+ else
+ re+=m*sqrt(2./col);
+ }
+ z=(float)(((float)u+1.0/2.0)*(float)i);
+ q=(float)(M_PI/(float)row);
+ if(i==0)
+ out[x]+=(re*(cos(z*q)))/sqrt((float)row);
+ else
+ out[x]+=(re*(cos(z*q))*sqrt(2./row));
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/c/signalProcessing/transforms/dct/zdcta.c b/src/c/signalProcessing/transforms/dct/zdcta.c
new file mode 100644
index 0000000..0204d68
--- /dev/null
+++ b/src/c/signalProcessing/transforms/dct/zdcta.c
@@ -0,0 +1,177 @@
+/* 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 "doubleComplex.h"
+/*#include "matrixMultiplication"*/
+/*#include <fftw3.h>*/
+#include <math.h>
+
+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;
+ double re,z,q,m;
+ doubleComplex accu = DoubleComplex(0, 0);
+ doubleComplex temp,mm;
+ if(sign==-1)
+ {
+ if(row==1)
+ {
+ n=col;
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=DoubleComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ temp=in[y]*(cos(((M_PI)*(y+1-1./2.)*(x))/n));
+ out[x]=zadds(out[x],temp);
+ }
+ }
+ if(x==0)
+ out[x]*=1./(sqrt(n));
+ else
+ {
+ double res=2./n;
+ out[x]*=sqrt(res);
+ }
+ }
+ }
+ }
+ else
+ {
+ n=col*row;
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=DoubleComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ temp=DoubleComplex(0,0);
+ mm=DoubleComplex(0,0);
+ for(j=0;j<col;j++)
+ {
+ y=j*row+i;
+ z=(double)(((double)j+1.0/2.0)*(double)v);
+ q=(double)(M_PI/(double)col);
+ mm=in[y]*(cos(q*z));
+ temp=zadds(temp,mm);
+ }
+ z=(double)(((double)i+1.0/2.0)*(double)u);
+ q=(double)(M_PI/(double)row);
+ temp*=cos(q*z);
+ out[x]=zadds(out[x],temp);
+ }
+ if(u==0)
+ {
+ out[x]*=1./sqrt((double)row);
+ if(v==0)
+ out[x]*=1./sqrt((double)col);
+ else
+ out[x]*=sqrt(2./col);
+ }
+ else
+ {
+ out[x]*=sqrt(2./row);
+ if(v==0)
+ out[x]*=1./sqrt((double)col);
+ else
+ out[x]*=sqrt(2./col);
+ }
+ }
+ }
+ }
+ }
+ else if(sign==1)
+ {
+ n=col;
+ if(row==1)
+ {
+ res=1./sqrt(n);
+ ress=sqrt(2./n);
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=DoubleComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ if(y==0)
+ {
+ q=res*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ out[x]=zadds(out[x],in[y]*q);
+ }
+ else
+ {
+ q=ress*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ out[x]=zadds(out[x],in[y]*q);
+ }
+ }
+ }
+ }
+
+ }
+ }
+ else
+ {
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=DoubleComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ re=0;
+ mm=DoubleComplex(0,0);
+ temp=DoubleComplex(0,0);
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ mm=in[j*row+i];
+ z=(double)(((double)v+1.0/2.0)*(double)j);
+ q=(double)(M_PI/(double)col);
+ mm=mm*(cos(q*z));
+ if(j==0)
+ temp=zadds(temp,mm*(1./sqrt((double)col)));
+ else
+ temp=zadds(temp,mm*sqrt(2./col));
+ }
+ z=(double)(((double)u+1.0/2.0)*(double)i);
+ q=(double)(M_PI/(double)row);
+ if(i==0)
+ out[x]=zadds(out[x],temp*((cos(z*q))*(1./sqrt(row))));
+ else
+ out[x]=zadds(out[x],temp*((cos(z*q))*sqrt(2./row)));
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/c/signalProcessing/transforms/idct/cidcta.c b/src/c/signalProcessing/transforms/idct/cidcta.c
new file mode 100644
index 0000000..ec0df0c
--- /dev/null
+++ b/src/c/signalProcessing/transforms/idct/cidcta.c
@@ -0,0 +1,97 @@
+/* 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 "idct.h"
+#include "addition.h"
+#include "types.h"
+#include "floatComplex.h"
+/*#include "matrixMultiplication"*/
+/*#include <fftw3.h>*/
+#include <math.h>
+
+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;
+ float re,z,q,m;
+ floatComplex accu = DoubleComplex(0, 0);
+ floatComplex temp,mm;
+ if(row==1)
+ {
+ res=1./sqrt(n);
+ ress=sqrt(2./n);
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=FloatComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ if(y==0)
+ {
+ q=res*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ out[x]=cadds(out[x],in[y]*q);
+ }
+ else
+ {
+ q=ress*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ out[x]=cadds(out[x],in[y]*q);
+ }
+ }
+ }
+ }
+
+ }
+ }
+ else
+ {
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=FloatComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ re=0;
+ mm=FloatComplex(0,0);
+ temp=FloatComplex(0,0);
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ mm=in[j*row+i];
+ z=(float)(((float)v+1.0/2.0)*(float)j);
+ q=(float)(M_PI/(float)col);
+ mm=mm*(cos(q*z));
+ if(j==0)
+ temp=cadds(temp,mm*(1./sqrt((float)col)));
+ else
+ temp=cadds(temp,mm*sqrt(2./col));
+ }
+ z=(float)(((float)u+1.0/2.0)*(float)i);
+ q=(float)(M_PI/(float)row);
+ if(i==0)
+ out[x]=cadds(out[x],temp*((cos(z*q))*(1./sqrt(row))));
+ else
+ out[x]=cadds(out[x],temp*((cos(z*q))*sqrt(2./row)));
+ }
+ }
+ }
+ }
+}
diff --git a/src/c/signalProcessing/transforms/idct/didcta.c b/src/c/signalProcessing/transforms/idct/didcta.c
new file mode 100644
index 0000000..5f47516
--- /dev/null
+++ b/src/c/signalProcessing/transforms/idct/didcta.c
@@ -0,0 +1,83 @@
+/* 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 "idct.h"
+/*#include <fftw3.h>*/
+#include <math.h>
+
+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<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ if(y==0)
+ out[x]+=res*in[y]*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ else
+ out[x]+=ress*in[y]*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ }
+ }
+ }
+
+ }
+ }
+ else
+ {
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ re=0;
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ m=(double)in[j*row+i];
+ z=(double)(((double)v+1.0/2.0)*(double)j);
+ q=(double)(M_PI/(double)col);
+ m=m*(cos(q*z));
+ if(j==0)
+ re+=m/sqrt((double)col);
+ else
+ re+=m*sqrt(2./col);
+ }
+ z=(double)(((double)u+1.0/2.0)*(double)i);
+ q=(double)(M_PI/(double)row);
+ if(i==0)
+ out[x]+=(re*(cos(z*q)))/sqrt((double)row);
+ else
+ out[x]+=(re*(cos(z*q))*sqrt(2./row));
+ }
+ }
+ }
+ }
+}
diff --git a/src/c/signalProcessing/transforms/idct/sidcta.c b/src/c/signalProcessing/transforms/idct/sidcta.c
new file mode 100644
index 0000000..62f85da
--- /dev/null
+++ b/src/c/signalProcessing/transforms/idct/sidcta.c
@@ -0,0 +1,83 @@
+/* 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 "idct.h"
+/*#include <fftw3.h>*/
+#include <math.h>
+
+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<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ if(y==0)
+ out[x]+=res*in[y]*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ else
+ out[x]+=ress*in[y]*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ }
+ }
+ }
+
+ }
+ }
+ else
+ {
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=0;
+ for(i=0;i<row;i++)
+ {
+ re=0;
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ m=(float)in[j*row+i];
+ z=(float)(((float)v+1.0/2.0)*(float)j);
+ q=(float)(M_PI/(float)col);
+ m=m*(cos(q*z));
+ if(j==0)
+ re+=m/sqrt((float)col);
+ else
+ re+=m*sqrt(2./col);
+ }
+ z=(float)(((float)u+1.0/2.0)*(float)i);
+ q=(float)(M_PI/(float)row);
+ if(i==0)
+ out[x]+=(re*(cos(z*q)))/sqrt((float)row);
+ else
+ out[x]+=(re*(cos(z*q))*sqrt(2./row));
+ }
+ }
+ }
+ }
+}
diff --git a/src/c/signalProcessing/transforms/idct/zidcta.c b/src/c/signalProcessing/transforms/idct/zidcta.c
new file mode 100644
index 0000000..2177b18
--- /dev/null
+++ b/src/c/signalProcessing/transforms/idct/zidcta.c
@@ -0,0 +1,97 @@
+/* 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 "idct.h"
+#include "addition.h"
+#include "types.h"
+#include "doubleComplex.h"
+/*#include "matrixMultiplication"*/
+/*#include <fftw3.h>*/
+#include <math.h>
+
+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;
+ double re,z,q,m;
+ doubleComplex accu = DoubleComplex(0, 0);
+ doubleComplex temp,mm;
+ if(row==1)
+ {
+ res=1./sqrt(n);
+ ress=sqrt(2./n);
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=DoubleComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ if(y==0)
+ {
+ q=res*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ out[x]=zadds(out[x],in[y]*q);
+ }
+ else
+ {
+ q=ress*(cos(((M_PI)*(j)*(v+1./2.))/n));
+ out[x]=zadds(out[x],in[y]*q);
+ }
+ }
+ }
+ }
+
+ }
+ }
+ else
+ {
+ for(u=0;u<row;u++)
+ {
+ for(v=0;v<col;v++)
+ {
+ x=v*row+u;
+ out[x]=DoubleComplex(0,0);
+ for(i=0;i<row;i++)
+ {
+ re=0;
+ mm=DoubleComplex(0,0);
+ temp=DoubleComplex(0,0);
+ for(j=0;j<col;j++)
+ {
+ y=row*j+i;
+ mm=in[j*row+i];
+ z=(double)(((double)v+1.0/2.0)*(double)j);
+ q=(double)(M_PI/(double)col);
+ mm=mm*(cos(q*z));
+ if(j==0)
+ temp=zadds(temp,mm*(1./sqrt((double)col)));
+ else
+ temp=zadds(temp,mm*sqrt(2./col));
+ }
+ z=(double)(((double)u+1.0/2.0)*(double)i);
+ q=(double)(M_PI/(double)row);
+ if(i==0)
+ out[x]=zadds(out[x],temp*((cos(z*q))*(1./sqrt(row))));
+ else
+ out[x]=zadds(out[x],temp*((cos(z*q))*sqrt(2./row)));
+ }
+ }
+ }
+ }
+}
diff --git a/src/c/string/ascii/ascii.h b/src/c/string/ascii/ascii.h
deleted file mode 100644
index 2d46b74..0000000
--- a/src/c/string/ascii/ascii.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: Ankit Raj
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __ASCII_H__
-#define __ASCII_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void gasciia(char* str,int size, int* out);
-
-#ifdef __cplusplus
-}/* extern "C" */
-#endif
-
-#endif /*___ASCII_H__*/
diff --git a/src/c/string/disp/zdispa.c b/src/c/string/disp/zdispa.c
index 5d085d3..bc71de4 100644
--- a/src/c/string/disp/zdispa.c
+++ b/src/c/string/disp/zdispa.c
@@ -16,7 +16,7 @@ double zdispa (doubleComplex* in, int rows, int columns){
int i = 0,j = 0;
for (i = 0; i < rows; ++i) {
- for (j=0;j<columns;j++) printf(" %1.20f + %1.20fi " ,zreals(in[i+j*rows]) ,zimags(in[i+j*rows]));
+ for (j=0;j<columns;j++) printf(" %1.20lf + %1.20lfi " ,zreals(in[i+j*rows]) ,zimags(in[i+j*rows]));
printf("\n");
}
return 0;
diff --git a/src/c/string/strchr/strchr.h b/src/c/string/strchr/strchr.h
deleted file mode 100644
index 7e30641..0000000
--- a/src/c/string/strchr/strchr.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: Ankit Raj
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __STRCHR_H__
-#define __STRCHR_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void gstrchra(char* str,int size, char* key,int size2, char* out);
-
-#ifdef __cplusplus
-}/* extern "C" */
-#endif
-
-#endif /*__STRCHR_H__*/
diff --git a/src/c/string/strcspn/strcspn.h b/src/c/string/strcspn/strcspn.h
deleted file mode 100644
index 6170afa..0000000
--- a/src/c/string/strcspn/strcspn.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: Ankit Raj
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __STRCSPN_H__
-#define __STRCSPN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-uint8 gstrcspna(char* str1,int size1,char* str2,int size2);
-
-#ifdef __cplusplus
-}/* extern "C" */
-#endif
-
-#endif /* __STRCSPN_H */
diff --git a/src/c/string/strncpy/strncpy.h b/src/c/string/strncpy/strncpy.h
deleted file mode 100644
index 3885550..0000000
--- a/src/c/string/strncpy/strncpy.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: Ankit Raj
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __STRNCPY_H__
-#define __STRNCPY_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void gstrncpya(char* str,int key,char* oup);
-
-#ifdef __cplusplus
-}/* extern "C" */
-#endif
-
-#endif /*__STRNCPY_H__*/
diff --git a/src/c/string/strspn/gstrspna.c b/src/c/string/strspn/gstrspna.c
index 94a5181..af1acbb 100644
--- a/src/c/string/strspn/gstrspna.c
+++ b/src/c/string/strspn/gstrspna.c
@@ -12,7 +12,7 @@
#include<stdio.h>
#include "strspn.h"
-int max(int a,int b){
+int maxg(int a,int b){
if(a>b) return a;
return b;
}
@@ -37,28 +37,8 @@ uint8 gstrspna(char *str1,int size1,char *str2,int size2)
{
ct=ct-1;
}
- m = max(m,ct);
+ m = maxg(m,ct);
}
}
return m;
}
-/*
-int main()
-{
- int n1,n2;
- char inp1[100000],inp2[100000];
- printf("Enter the length of the first string");
- scanf("%d",&n1);
- for(int i=0;i<=(n1+1);i++)
- {
- scanf("%c",&inp1[i]);
- }
- printf("Enter the length of the second string");
- scanf("%d",&n2 );
- for(int j=0;j<=(n2+1);j++)
- {
- scanf("%c",&inp2[j]);
- }
- strcspnfn(inp1,n1+1,inp2,n2+1);
-}
-*/
diff --git a/src/c/string/strspn/int_strspn.h b/src/c/string/strspn/int_strspn.h
deleted file mode 100644
index 506b311..0000000
--- a/src/c/string/strspn/int_strspn.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: Ankit Raj
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __INT_STRSPN_H__
-#define __INT_STRSPN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define g2g2strspnu80(str1,size1,str2,size2) gstrspna(str1,size1,str2,size2)
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* __INT_STRSPN_H__*/
diff --git a/src/c/string/strspn/strspn.h b/src/c/string/strspn/strspn.h
deleted file mode 100644
index f7c2a3c..0000000
--- a/src/c/string/strspn/strspn.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: Ankit Raj
- Organization: FOSSEE, IIT Bombay
- Email: toolbox@scilab.in
- */
-#ifndef __STRSPN_H__
-#define __STRSPN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-uint8 gstrspna(char* str1,int size1,char* str2,int size2);
-
-#ifdef __cplusplus
-}/* extern "C" */
-#endif
-
-#endif /* __STRSPN_H */
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 <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.h>
+
+#include <gsl/gsl_blas_types.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
+
+
+/* ========================================================================
+ * 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 <gsl/gsl_cblas.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
+
+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 <gsl/gsl_block_complex_long_double.h>
+#include <gsl/gsl_block_complex_double.h>
+#include <gsl/gsl_block_complex_float.h>
+
+#include <gsl/gsl_block_long_double.h>
+#include <gsl/gsl_block_double.h>
+#include <gsl/gsl_block_float.h>
+
+#include <gsl/gsl_block_ulong.h>
+#include <gsl/gsl_block_long.h>
+
+#include <gsl/gsl_block_uint.h>
+#include <gsl/gsl_block_int.h>
+
+#include <gsl/gsl_block_ushort.h>
+#include <gsl/gsl_block_short.h>
+
+#include <gsl/gsl_block_uchar.h>
+#include <gsl/gsl_block_char.h>
+
+#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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_errno.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_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 <stdlib.h>
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.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
+
+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 <stddef.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
+
+/*
+ * 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 <gsl/gsl_math.h>
+#include <gsl/gsl_mode.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
+
+
+/* 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 <stdlib.h>
+#include <gsl/gsl_types.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
+
+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 <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.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_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 <gsl/gsl_inline.h>
+#include <gsl/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
+
+/* 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 <gsl/gsl_const_num.h>
+
+#include <gsl/gsl_const_cgs.h>
+#include <gsl/gsl_const_mks.h>
+
+#include <gsl/gsl_const_cgsm.h>
+#include <gsl/gsl_const_mksa.h>
+
+#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 <gsl/gsl_math.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
+
+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 <stddef.h>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_fft.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
+
+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 <stddef.h>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_fft.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
+
+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 <gsl/gsl_math.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
+
+#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 <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.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
+
+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 <stdio.h>
+#include <errno.h>
+#include <gsl/gsl_types.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
+
+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 <gsl/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
+
+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 <stddef.h>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_fft.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
+
+/* 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 <stddef.h>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_fft.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
+
+/* 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 <stddef.h>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_fft.h>
+#include <gsl/gsl_fft_real.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
+
+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 <stddef.h>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_fft.h>
+#include <gsl/gsl_fft_real_float.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
+
+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 <stddef.h>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_fft.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
+
+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 <stddef.h>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_fft.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
+
+int gsl_fft_real_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_real_wavetable_float;
+
+typedef struct
+ {
+ size_t n;
+ float *scratch;
+ }
+gsl_fft_real_workspace_float;
+
+gsl_fft_real_wavetable_float * gsl_fft_real_wavetable_float_alloc (size_t n);
+
+void gsl_fft_real_wavetable_float_free (gsl_fft_real_wavetable_float * wavetable);
+
+gsl_fft_real_workspace_float * gsl_fft_real_workspace_float_alloc (size_t n);
+
+void gsl_fft_real_workspace_float_free (gsl_fft_real_workspace_float * workspace);
+
+int gsl_fft_real_float_transform (float data[], const size_t stride, const size_t n,
+ const gsl_fft_real_wavetable_float * wavetable,
+ gsl_fft_real_workspace_float * work);
+
+
+int gsl_fft_real_float_unpack (const float real_float_coefficient[],
+ float complex_coefficient[],
+ const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_FFT_REAL_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_fit.h b/thirdparty/includes/GSL/gsl/gsl_fit.h
new file mode 100644
index 0000000..de83a41
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_fit.h
@@ -0,0 +1,85 @@
+/* fit/gsl_fit.h
+ *
+ * Copyright (C) 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_FIT_H__
+#define __GSL_FIT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_math.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
+
+int gsl_fit_linear (const double * x, const size_t xstride,
+ const double * y, const size_t ystride,
+ const size_t n,
+ double * c0, double * c1,
+ double * cov00, double * cov01, double * cov11,
+ double * sumsq);
+
+
+int gsl_fit_wlinear (const double * x, const size_t xstride,
+ const double * w, const size_t wstride,
+ const double * y, const size_t ystride,
+ const size_t n,
+ double * c0, double * c1,
+ double * cov00, double * cov01, double * cov11,
+ double * chisq);
+
+int
+gsl_fit_linear_est (const double x,
+ const double c0, const double c1,
+ const double cov00, const double cov01, const double cov11,
+ double *y, double *y_err);
+
+
+int gsl_fit_mul (const double * x, const size_t xstride,
+ const double * y, const size_t ystride,
+ const size_t n,
+ double * c1,
+ double * cov11,
+ double * sumsq);
+
+int gsl_fit_wmul (const double * x, const size_t xstride,
+ const double * w, const size_t wstride,
+ const double * y, const size_t ystride,
+ const size_t n,
+ double * c1,
+ double * cov11,
+ double * sumsq);
+
+
+int
+gsl_fit_mul_est (const double x,
+ const double c1,
+ const double cov11,
+ double *y, double *y_err);
+
+__END_DECLS
+
+#endif /* __GSL_FIT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_heapsort.h b/thirdparty/includes/GSL/gsl/gsl_heapsort.h
new file mode 100644
index 0000000..213fae1
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_heapsort.h
@@ -0,0 +1,44 @@
+/* sort/gsl_heapsort.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_HEAPSORT_H__
+#define __GSL_HEAPSORT_H__
+
+#include <gsl/gsl_permutation.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
+
+typedef int (*gsl_comparison_fn_t) (const void *, const void *);
+
+void gsl_heapsort (void * array, size_t count, size_t size, gsl_comparison_fn_t compare);
+int gsl_heapsort_index (size_t * p, const void * array, size_t count, size_t size, gsl_comparison_fn_t compare);
+
+__END_DECLS
+
+#endif /* __GSL_HEAPSORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_histogram.h b/thirdparty/includes/GSL/gsl/gsl_histogram.h
new file mode 100644
index 0000000..e8375c6
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_histogram.h
@@ -0,0 +1,134 @@
+/* histogram/gsl_histogram.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_HISTOGRAM_H__
+#define __GSL_HISTOGRAM_H__
+
+#include <stdlib.h>
+#include <stdio.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
+
+typedef struct {
+ size_t n ;
+ double * range ;
+ double * bin ;
+} gsl_histogram ;
+
+typedef struct {
+ size_t n ;
+ double * range ;
+ double * sum ;
+} gsl_histogram_pdf ;
+
+gsl_histogram * gsl_histogram_alloc (size_t n);
+
+gsl_histogram * gsl_histogram_calloc (size_t n);
+gsl_histogram * gsl_histogram_calloc_uniform (const size_t n, const double xmin, const double xmax);
+void gsl_histogram_free (gsl_histogram * h);
+int gsl_histogram_increment (gsl_histogram * h, double x);
+int gsl_histogram_accumulate (gsl_histogram * h, double x, double weight);
+int gsl_histogram_find (const gsl_histogram * h,
+ const double x, size_t * i);
+
+double gsl_histogram_get (const gsl_histogram * h, size_t i);
+int gsl_histogram_get_range (const gsl_histogram * h, size_t i,
+ double * lower, double * upper);
+
+double gsl_histogram_max (const gsl_histogram * h);
+double gsl_histogram_min (const gsl_histogram * h);
+size_t gsl_histogram_bins (const gsl_histogram * h);
+
+void gsl_histogram_reset (gsl_histogram * h);
+
+gsl_histogram * gsl_histogram_calloc_range(size_t n, double * range);
+
+int
+gsl_histogram_set_ranges (gsl_histogram * h, const double range[], size_t size);
+int
+gsl_histogram_set_ranges_uniform (gsl_histogram * h, double xmin, double xmax);
+
+
+
+int
+gsl_histogram_memcpy(gsl_histogram * dest, const gsl_histogram * source);
+
+gsl_histogram *
+gsl_histogram_clone(const gsl_histogram * source);
+
+double gsl_histogram_max_val (const gsl_histogram * h);
+
+size_t gsl_histogram_max_bin (const gsl_histogram * h);
+
+double gsl_histogram_min_val (const gsl_histogram * h);
+
+size_t gsl_histogram_min_bin (const gsl_histogram * h);
+
+int
+gsl_histogram_equal_bins_p(const gsl_histogram *h1, const gsl_histogram *h2);
+
+int
+gsl_histogram_add(gsl_histogram *h1, const gsl_histogram *h2);
+
+int
+gsl_histogram_sub(gsl_histogram *h1, const gsl_histogram *h2);
+
+int
+gsl_histogram_mul(gsl_histogram *h1, const gsl_histogram *h2);
+
+int
+gsl_histogram_div(gsl_histogram *h1, const gsl_histogram *h2);
+
+int
+gsl_histogram_scale(gsl_histogram *h, double scale);
+
+int
+gsl_histogram_shift (gsl_histogram * h, double shift);
+
+
+double gsl_histogram_sigma (const gsl_histogram * h);
+
+double gsl_histogram_mean (const gsl_histogram * h);
+
+double gsl_histogram_sum (const gsl_histogram * h);
+
+int gsl_histogram_fwrite (FILE * stream, const gsl_histogram * h) ;
+int gsl_histogram_fread (FILE * stream, gsl_histogram * h);
+int gsl_histogram_fprintf (FILE * stream, const gsl_histogram * h,
+ const char * range_format, const char * bin_format);
+int gsl_histogram_fscanf (FILE * stream, gsl_histogram * h);
+
+gsl_histogram_pdf * gsl_histogram_pdf_alloc (const size_t n);
+int gsl_histogram_pdf_init (gsl_histogram_pdf * p, const gsl_histogram * h);
+void gsl_histogram_pdf_free (gsl_histogram_pdf * p);
+double gsl_histogram_pdf_sample (const gsl_histogram_pdf * p, double r);
+
+__END_DECLS
+
+#endif /* __GSL_HISTOGRAM_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_histogram2d.h b/thirdparty/includes/GSL/gsl/gsl_histogram2d.h
new file mode 100644
index 0000000..90065ac
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_histogram2d.h
@@ -0,0 +1,172 @@
+/* histogram/gsl_histogram2d.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_HISTOGRAM2D_H__
+#define __GSL_HISTOGRAM2D_H__
+
+#include <stdlib.h>
+#include <stdio.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
+
+typedef struct {
+ size_t nx, ny ;
+ double * xrange ;
+ double * yrange ;
+ double * bin ;
+} gsl_histogram2d ;
+
+typedef struct {
+ size_t nx, ny ;
+ double * xrange ;
+ double * yrange ;
+ double * sum ;
+} gsl_histogram2d_pdf ;
+
+gsl_histogram2d * gsl_histogram2d_alloc (const size_t nx, const size_t ny);
+gsl_histogram2d * gsl_histogram2d_calloc (const size_t nx, const size_t ny);
+gsl_histogram2d * gsl_histogram2d_calloc_uniform (const size_t nx, const size_t ny,
+ const double xmin, const double xmax,
+ const double ymin, const double ymax);
+
+void gsl_histogram2d_free (gsl_histogram2d * h);
+
+int gsl_histogram2d_increment (gsl_histogram2d * h, double x, double y);
+int gsl_histogram2d_accumulate (gsl_histogram2d * h,
+ double x, double y, double weight);
+int gsl_histogram2d_find (const gsl_histogram2d * h,
+ const double x, const double y, size_t * i, size_t * j);
+
+double gsl_histogram2d_get (const gsl_histogram2d * h, const size_t i, const size_t j);
+int gsl_histogram2d_get_xrange (const gsl_histogram2d * h, const size_t i,
+ double * xlower, double * xupper);
+int gsl_histogram2d_get_yrange (const gsl_histogram2d * h, const size_t j,
+ double * ylower, double * yupper);
+
+
+double gsl_histogram2d_xmax (const gsl_histogram2d * h);
+double gsl_histogram2d_xmin (const gsl_histogram2d * h);
+size_t gsl_histogram2d_nx (const gsl_histogram2d * h);
+
+double gsl_histogram2d_ymax (const gsl_histogram2d * h);
+double gsl_histogram2d_ymin (const gsl_histogram2d * h);
+size_t gsl_histogram2d_ny (const gsl_histogram2d * h);
+
+void gsl_histogram2d_reset (gsl_histogram2d * h);
+
+gsl_histogram2d *
+gsl_histogram2d_calloc_range(size_t nx, size_t ny,
+ double *xrange, double *yrange);
+
+int
+gsl_histogram2d_set_ranges_uniform (gsl_histogram2d * h,
+ double xmin, double xmax,
+ double ymin, double ymax);
+
+int
+gsl_histogram2d_set_ranges (gsl_histogram2d * h,
+ const double xrange[], size_t xsize,
+ const double yrange[], size_t ysize);
+
+int
+gsl_histogram2d_memcpy(gsl_histogram2d *dest, const gsl_histogram2d *source);
+
+gsl_histogram2d *
+gsl_histogram2d_clone(const gsl_histogram2d * source);
+
+double
+gsl_histogram2d_max_val(const gsl_histogram2d *h);
+
+void
+gsl_histogram2d_max_bin (const gsl_histogram2d *h, size_t *i, size_t *j);
+
+double
+gsl_histogram2d_min_val(const gsl_histogram2d *h);
+
+void
+gsl_histogram2d_min_bin (const gsl_histogram2d *h, size_t *i, size_t *j);
+
+double
+gsl_histogram2d_xmean (const gsl_histogram2d * h);
+
+double
+gsl_histogram2d_ymean (const gsl_histogram2d * h);
+
+double
+gsl_histogram2d_xsigma (const gsl_histogram2d * h);
+
+double
+gsl_histogram2d_ysigma (const gsl_histogram2d * h);
+
+double
+gsl_histogram2d_cov (const gsl_histogram2d * h);
+
+double
+gsl_histogram2d_sum (const gsl_histogram2d *h);
+
+int
+gsl_histogram2d_equal_bins_p(const gsl_histogram2d *h1,
+ const gsl_histogram2d *h2) ;
+
+int
+gsl_histogram2d_add(gsl_histogram2d *h1, const gsl_histogram2d *h2);
+
+int
+gsl_histogram2d_sub(gsl_histogram2d *h1, const gsl_histogram2d *h2);
+
+int
+gsl_histogram2d_mul(gsl_histogram2d *h1, const gsl_histogram2d *h2);
+
+int
+gsl_histogram2d_div(gsl_histogram2d *h1, const gsl_histogram2d *h2);
+
+int
+gsl_histogram2d_scale(gsl_histogram2d *h, double scale);
+
+int
+gsl_histogram2d_shift(gsl_histogram2d *h, double shift);
+
+int gsl_histogram2d_fwrite (FILE * stream, const gsl_histogram2d * h) ;
+int gsl_histogram2d_fread (FILE * stream, gsl_histogram2d * h);
+int gsl_histogram2d_fprintf (FILE * stream, const gsl_histogram2d * h,
+ const char * range_format,
+ const char * bin_format);
+int gsl_histogram2d_fscanf (FILE * stream, gsl_histogram2d * h);
+
+gsl_histogram2d_pdf * gsl_histogram2d_pdf_alloc (const size_t nx, const size_t ny);
+int gsl_histogram2d_pdf_init (gsl_histogram2d_pdf * p, const gsl_histogram2d * h);
+void gsl_histogram2d_pdf_free (gsl_histogram2d_pdf * p);
+int gsl_histogram2d_pdf_sample (const gsl_histogram2d_pdf * p,
+ double r1, double r2,
+ double * x, double * y);
+
+__END_DECLS
+
+#endif /* __GSL_HISTOGRAM2D_H__ */
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_ieee_utils.h b/thirdparty/includes/GSL/gsl/gsl_ieee_utils.h
new file mode 100644
index 0000000..a961220
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_ieee_utils.h
@@ -0,0 +1,99 @@
+/* ieee-utils/gsl_ieee_utils.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_IEEE_UTILS_H__
+#define __GSL_IEEE_UTILS_H__
+#include <stdio.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
+
+enum {
+ GSL_IEEE_TYPE_NAN = 1,
+ GSL_IEEE_TYPE_INF = 2,
+ GSL_IEEE_TYPE_NORMAL = 3,
+ GSL_IEEE_TYPE_DENORMAL = 4,
+ GSL_IEEE_TYPE_ZERO = 5
+} ;
+
+typedef struct {
+ int sign ;
+ char mantissa[24] ; /* Actual bits are 0..22, element 23 is \0 */
+ int exponent ;
+ int type ;
+} gsl_ieee_float_rep ;
+
+typedef struct {
+ int sign ;
+ char mantissa[53] ; /* Actual bits are 0..51, element 52 is \0 */
+ int exponent ;
+ int type ;
+} gsl_ieee_double_rep ;
+
+
+void gsl_ieee_printf_float (const float * x) ;
+void gsl_ieee_printf_double (const double * x) ;
+
+void gsl_ieee_fprintf_float (FILE * stream, const float * x) ;
+void gsl_ieee_fprintf_double (FILE * stream, const double * x) ;
+
+void gsl_ieee_float_to_rep (const float * x, gsl_ieee_float_rep * r) ;
+void gsl_ieee_double_to_rep (const double * x, gsl_ieee_double_rep * r) ;
+
+enum {
+ GSL_IEEE_SINGLE_PRECISION = 1,
+ GSL_IEEE_DOUBLE_PRECISION = 2,
+ GSL_IEEE_EXTENDED_PRECISION = 3
+} ;
+
+enum {
+ GSL_IEEE_ROUND_TO_NEAREST = 1,
+ GSL_IEEE_ROUND_DOWN = 2,
+ GSL_IEEE_ROUND_UP = 3,
+ GSL_IEEE_ROUND_TO_ZERO = 4
+} ;
+
+enum {
+ GSL_IEEE_MASK_INVALID = 1,
+ GSL_IEEE_MASK_DENORMALIZED = 2,
+ GSL_IEEE_MASK_DIVISION_BY_ZERO = 4,
+ GSL_IEEE_MASK_OVERFLOW = 8,
+ GSL_IEEE_MASK_UNDERFLOW = 16,
+ GSL_IEEE_MASK_ALL = 31,
+ GSL_IEEE_TRAP_INEXACT = 32
+} ;
+
+void gsl_ieee_env_setup (void) ;
+int gsl_ieee_read_mode_string (const char * description, int * precision,
+ int * rounding, int * exception_mask) ;
+int gsl_ieee_set_mode (int precision, int rounding, int exception_mask) ;
+
+__END_DECLS
+
+#endif /* __GSL_IEEE_UTILS_H__ */
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_inline.h b/thirdparty/includes/GSL/gsl/gsl_inline.h
new file mode 100644
index 0000000..2172201
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_inline.h
@@ -0,0 +1,67 @@
+/* gsl_inline.h
+ *
+ * Copyright (C) 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_INLINE_H__
+#define __GSL_INLINE_H__
+
+/* In recent versiions of GCC, the inline keyword has two different
+ forms: GNU and C99.
+
+ In GNU mode we can use 'extern inline' to make inline functions
+ work like macros. The function is only inlined--it is never output
+ as a definition in an object file.
+
+ In the new C99 mode 'extern inline' has a different meaning--it
+ causes the definition of the function to be output in each object
+ file where it is used. This will result in multiple-definition
+ errors on linking. The 'inline' keyword on its own (without
+ extern) has the same behavior as the original GNU 'extern inline'.
+
+ The C99 style is the default with -std=c99 in GCC 4.3.
+
+ This header file allows either form of inline to be used by
+ redefining the macros INLINE_DECL and INLINE_FUN. These are used
+ in the public header files as
+
+ INLINE_DECL double gsl_foo (double x);
+ #ifdef HAVE_INLINE
+ INLINE_FUN double gsl_foo (double x) { return x+1.0; } ;
+ #endif
+
+*/
+
+#ifdef HAVE_INLINE
+# if defined(__GNUC_STDC_INLINE__) || defined(GSL_C99_INLINE) || defined(HAVE_C99_INLINE)
+# define INLINE_DECL inline /* use C99 inline */
+# define INLINE_FUN inline
+# else
+# define INLINE_DECL /* use GNU extern inline */
+# define INLINE_FUN extern inline
+# endif
+#else
+# define INLINE_DECL /* */
+#endif
+
+/* Range checking conditions in headers do not require any run-time
+ tests of the global variable gsl_check_range. They are enabled or
+ disabled in user code at compile time with GSL_RANGE_CHECK macro.
+ See also build.h. */
+#define GSL_RANGE_COND(x) (x)
+
+#endif /* __GSL_INLINE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_integration.h b/thirdparty/includes/GSL/gsl/gsl_integration.h
new file mode 100644
index 0000000..5972f49
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_integration.h
@@ -0,0 +1,323 @@
+/* integration/gsl_integration.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_INTEGRATION_H__
+#define __GSL_INTEGRATION_H__
+#include <stdlib.h>
+#include <gsl/gsl_math.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
+
+/* Workspace for adaptive integrators */
+
+typedef struct
+ {
+ size_t limit;
+ size_t size;
+ size_t nrmax;
+ size_t i;
+ size_t maximum_level;
+ double *alist;
+ double *blist;
+ double *rlist;
+ double *elist;
+ size_t *order;
+ size_t *level;
+ }
+gsl_integration_workspace;
+
+gsl_integration_workspace *
+ gsl_integration_workspace_alloc (const size_t n);
+
+void
+ gsl_integration_workspace_free (gsl_integration_workspace * w);
+
+
+/* Workspace for QAWS integrator */
+
+typedef struct
+{
+ double alpha;
+ double beta;
+ int mu;
+ int nu;
+ double ri[25];
+ double rj[25];
+ double rg[25];
+ double rh[25];
+}
+gsl_integration_qaws_table;
+
+gsl_integration_qaws_table *
+gsl_integration_qaws_table_alloc (double alpha, double beta, int mu, int nu);
+
+int
+gsl_integration_qaws_table_set (gsl_integration_qaws_table * t,
+ double alpha, double beta, int mu, int nu);
+
+void
+gsl_integration_qaws_table_free (gsl_integration_qaws_table * t);
+
+/* Workspace for QAWO integrator */
+
+enum gsl_integration_qawo_enum { GSL_INTEG_COSINE, GSL_INTEG_SINE };
+
+typedef struct
+{
+ size_t n;
+ double omega;
+ double L;
+ double par;
+ enum gsl_integration_qawo_enum sine;
+ double *chebmo;
+}
+gsl_integration_qawo_table;
+
+gsl_integration_qawo_table *
+gsl_integration_qawo_table_alloc (double omega, double L,
+ enum gsl_integration_qawo_enum sine,
+ size_t n);
+
+int
+gsl_integration_qawo_table_set (gsl_integration_qawo_table * t,
+ double omega, double L,
+ enum gsl_integration_qawo_enum sine);
+
+int
+gsl_integration_qawo_table_set_length (gsl_integration_qawo_table * t,
+ double L);
+
+void
+gsl_integration_qawo_table_free (gsl_integration_qawo_table * t);
+
+
+/* Definition of an integration rule */
+
+typedef void gsl_integration_rule (const gsl_function * f,
+ double a, double b,
+ double *result, double *abserr,
+ double *defabs, double *resabs);
+
+void gsl_integration_qk15 (const gsl_function * f, double a, double b,
+ double *result, double *abserr,
+ double *resabs, double *resasc);
+
+void gsl_integration_qk21 (const gsl_function * f, double a, double b,
+ double *result, double *abserr,
+ double *resabs, double *resasc);
+
+void gsl_integration_qk31 (const gsl_function * f, double a, double b,
+ double *result, double *abserr,
+ double *resabs, double *resasc);
+
+void gsl_integration_qk41 (const gsl_function * f, double a, double b,
+ double *result, double *abserr,
+ double *resabs, double *resasc);
+
+void gsl_integration_qk51 (const gsl_function * f, double a, double b,
+ double *result, double *abserr,
+ double *resabs, double *resasc);
+
+void gsl_integration_qk61 (const gsl_function * f, double a, double b,
+ double *result, double *abserr,
+ double *resabs, double *resasc);
+
+void gsl_integration_qcheb (gsl_function * f, double a, double b,
+ double *cheb12, double *cheb24);
+
+/* The low-level integration rules in QUADPACK are identified by small
+ integers (1-6). We'll use symbolic constants to refer to them. */
+
+enum
+ {
+ GSL_INTEG_GAUSS15 = 1, /* 15 point Gauss-Kronrod rule */
+ GSL_INTEG_GAUSS21 = 2, /* 21 point Gauss-Kronrod rule */
+ GSL_INTEG_GAUSS31 = 3, /* 31 point Gauss-Kronrod rule */
+ GSL_INTEG_GAUSS41 = 4, /* 41 point Gauss-Kronrod rule */
+ GSL_INTEG_GAUSS51 = 5, /* 51 point Gauss-Kronrod rule */
+ GSL_INTEG_GAUSS61 = 6 /* 61 point Gauss-Kronrod rule */
+ };
+
+void
+gsl_integration_qk (const int n, const double xgk[],
+ const double wg[], const double wgk[],
+ double fv1[], double fv2[],
+ const gsl_function *f, double a, double b,
+ double * result, double * abserr,
+ double * resabs, double * resasc);
+
+
+int gsl_integration_qng (const gsl_function * f,
+ double a, double b,
+ double epsabs, double epsrel,
+ double *result, double *abserr,
+ size_t * neval);
+
+int gsl_integration_qag (const gsl_function * f,
+ double a, double b,
+ double epsabs, double epsrel, size_t limit,
+ int key,
+ gsl_integration_workspace * workspace,
+ double *result, double *abserr);
+
+int gsl_integration_qagi (gsl_function * f,
+ double epsabs, double epsrel, size_t limit,
+ gsl_integration_workspace * workspace,
+ double *result, double *abserr);
+
+int gsl_integration_qagiu (gsl_function * f,
+ double a,
+ double epsabs, double epsrel, size_t limit,
+ gsl_integration_workspace * workspace,
+ double *result, double *abserr);
+
+int gsl_integration_qagil (gsl_function * f,
+ double b,
+ double epsabs, double epsrel, size_t limit,
+ gsl_integration_workspace * workspace,
+ double *result, double *abserr);
+
+
+int gsl_integration_qags (const gsl_function * f,
+ double a, double b,
+ double epsabs, double epsrel, size_t limit,
+ gsl_integration_workspace * workspace,
+ double *result, double *abserr);
+
+int gsl_integration_qagp (const gsl_function * f,
+ double *pts, size_t npts,
+ double epsabs, double epsrel, size_t limit,
+ gsl_integration_workspace * workspace,
+ double *result, double *abserr);
+
+int gsl_integration_qawc (gsl_function *f,
+ const double a, const double b, const double c,
+ const double epsabs, const double epsrel, const size_t limit,
+ gsl_integration_workspace * workspace,
+ double * result, double * abserr);
+
+int gsl_integration_qaws (gsl_function * f,
+ const double a, const double b,
+ gsl_integration_qaws_table * t,
+ const double epsabs, const double epsrel,
+ const size_t limit,
+ gsl_integration_workspace * workspace,
+ double *result, double *abserr);
+
+int gsl_integration_qawo (gsl_function * f,
+ const double a,
+ const double epsabs, const double epsrel,
+ const size_t limit,
+ gsl_integration_workspace * workspace,
+ gsl_integration_qawo_table * wf,
+ double *result, double *abserr);
+
+int gsl_integration_qawf (gsl_function * f,
+ const double a,
+ const double epsabs,
+ const size_t limit,
+ gsl_integration_workspace * workspace,
+ gsl_integration_workspace * cycle_workspace,
+ gsl_integration_qawo_table * wf,
+ double *result, double *abserr);
+
+/* Workspace for fixed-order Gauss-Legendre integration */
+
+typedef struct
+ {
+ size_t n; /* number of points */
+ double *x; /* Gauss abscissae/points */
+ double *w; /* Gauss weights for each abscissae */
+ int precomputed; /* high precision abscissae/weights precomputed? */
+ }
+gsl_integration_glfixed_table;
+
+
+gsl_integration_glfixed_table *
+ gsl_integration_glfixed_table_alloc (size_t n);
+
+void
+ gsl_integration_glfixed_table_free (gsl_integration_glfixed_table * t);
+
+/* Routine for fixed-order Gauss-Legendre integration */
+
+double
+ gsl_integration_glfixed (const gsl_function *f,
+ double a,
+ double b,
+ const gsl_integration_glfixed_table * t);
+
+/* Routine to retrieve the i-th Gauss-Legendre point and weight from t */
+
+int
+ gsl_integration_glfixed_point (double a,
+ double b,
+ size_t i,
+ double *xi,
+ double *wi,
+ const gsl_integration_glfixed_table * t);
+
+
+/* Cquad integration - Pedro Gonnet */
+
+/* Data of a single interval */
+typedef struct
+{
+ double a, b;
+ double c[64];
+ double fx[33];
+ double igral, err;
+ int depth, rdepth, ndiv;
+} gsl_integration_cquad_ival;
+
+
+/* The workspace is just a collection of intervals */
+typedef struct
+{
+ size_t size;
+ gsl_integration_cquad_ival *ivals;
+ size_t *heap;
+} gsl_integration_cquad_workspace;
+
+gsl_integration_cquad_workspace *
+gsl_integration_cquad_workspace_alloc (const size_t n);
+
+void
+gsl_integration_cquad_workspace_free (gsl_integration_cquad_workspace * w);
+
+int
+gsl_integration_cquad (const gsl_function * f, double a, double b,
+ double epsabs, double epsrel,
+ gsl_integration_cquad_workspace * ws,
+ double *result, double *abserr, size_t * nevals);
+
+
+__END_DECLS
+
+#endif /* __GSL_INTEGRATION_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_interp.h b/thirdparty/includes/GSL/gsl/gsl_interp.h
new file mode 100644
index 0000000..8321224
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_interp.h
@@ -0,0 +1,225 @@
+/* interpolation/gsl_interp.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 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_INTERP_H__
+#define __GSL_INTERP_H__
+#include <stdlib.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_types.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
+
+/* evaluation accelerator */
+typedef struct {
+ size_t cache; /* cache of index */
+ size_t miss_count; /* keep statistics */
+ size_t hit_count;
+}
+gsl_interp_accel;
+
+
+/* interpolation object type */
+typedef struct {
+ const char * name;
+ unsigned int min_size;
+ void * (*alloc) (size_t size);
+ int (*init) (void *, const double xa[], const double ya[], size_t size);
+ int (*eval) (const void *, const double xa[], const double ya[], size_t size, double x, gsl_interp_accel *, double * y);
+ int (*eval_deriv) (const void *, const double xa[], const double ya[], size_t size, double x, gsl_interp_accel *, double * y_p);
+ int (*eval_deriv2) (const void *, const double xa[], const double ya[], size_t size, double x, gsl_interp_accel *, double * y_pp);
+ int (*eval_integ) (const void *, const double xa[], const double ya[], size_t size, gsl_interp_accel *, double a, double b, double * result);
+ void (*free) (void *);
+
+} gsl_interp_type;
+
+
+/* general interpolation object */
+typedef struct {
+ const gsl_interp_type * type;
+ double xmin;
+ double xmax;
+ size_t size;
+ void * state;
+} gsl_interp;
+
+
+/* available types */
+GSL_VAR const gsl_interp_type * gsl_interp_linear;
+GSL_VAR const gsl_interp_type * gsl_interp_polynomial;
+GSL_VAR const gsl_interp_type * gsl_interp_cspline;
+GSL_VAR const gsl_interp_type * gsl_interp_cspline_periodic;
+GSL_VAR const gsl_interp_type * gsl_interp_akima;
+GSL_VAR const gsl_interp_type * gsl_interp_akima_periodic;
+GSL_VAR const gsl_interp_type * gsl_interp_steffen;
+
+gsl_interp_accel *
+gsl_interp_accel_alloc(void);
+
+int
+gsl_interp_accel_reset (gsl_interp_accel * a);
+
+void
+gsl_interp_accel_free(gsl_interp_accel * a);
+
+gsl_interp *
+gsl_interp_alloc(const gsl_interp_type * T, size_t n);
+
+int
+gsl_interp_init(gsl_interp * obj, const double xa[], const double ya[], size_t size);
+
+const char * gsl_interp_name(const gsl_interp * interp);
+unsigned int gsl_interp_min_size(const gsl_interp * interp);
+unsigned int gsl_interp_type_min_size(const gsl_interp_type * T);
+
+
+int
+gsl_interp_eval_e(const gsl_interp * obj,
+ const double xa[], const double ya[], double x,
+ gsl_interp_accel * a, double * y);
+
+double
+gsl_interp_eval(const gsl_interp * obj,
+ const double xa[], const double ya[], double x,
+ gsl_interp_accel * a);
+
+int
+gsl_interp_eval_deriv_e(const gsl_interp * obj,
+ const double xa[], const double ya[], double x,
+ gsl_interp_accel * a,
+ double * d);
+
+double
+gsl_interp_eval_deriv(const gsl_interp * obj,
+ const double xa[], const double ya[], double x,
+ gsl_interp_accel * a);
+
+int
+gsl_interp_eval_deriv2_e(const gsl_interp * obj,
+ const double xa[], const double ya[], double x,
+ gsl_interp_accel * a,
+ double * d2);
+
+double
+gsl_interp_eval_deriv2(const gsl_interp * obj,
+ const double xa[], const double ya[], double x,
+ gsl_interp_accel * a);
+
+int
+gsl_interp_eval_integ_e(const gsl_interp * obj,
+ const double xa[], const double ya[],
+ double a, double b,
+ gsl_interp_accel * acc,
+ double * result);
+
+double
+gsl_interp_eval_integ(const gsl_interp * obj,
+ const double xa[], const double ya[],
+ double a, double b,
+ gsl_interp_accel * acc);
+
+void
+gsl_interp_free(gsl_interp * interp);
+
+INLINE_DECL size_t
+gsl_interp_bsearch(const double x_array[], double x,
+ size_t index_lo, size_t index_hi);
+
+#ifdef HAVE_INLINE
+
+/* Perform a binary search of an array of values.
+ *
+ * The parameters index_lo and index_hi provide an initial bracket,
+ * and it is assumed that index_lo < index_hi. The resulting index
+ * is guaranteed to be strictly less than index_hi and greater than
+ * or equal to index_lo, so that the implicit bracket [index, index+1]
+ * always corresponds to a region within the implicit value range of
+ * the value array.
+ *
+ * Note that this means the relationship of 'x' to x_array[index]
+ * and x_array[index+1] depends on the result region, i.e. the
+ * behaviour at the boundaries may not correspond to what you
+ * expect. We have the following complete specification of the
+ * behaviour.
+ * Suppose the input is x_array[] = { x0, x1, ..., xN }
+ * if ( x == x0 ) then index == 0
+ * if ( x > x0 && x <= x1 ) then index == 0, and sim. for other interior pts
+ * if ( x == xN ) then index == N-1
+ * if ( x > xN ) then index == N-1
+ * if ( x < x0 ) then index == 0
+ */
+
+INLINE_FUN size_t
+gsl_interp_bsearch(const double x_array[], double x,
+ size_t index_lo, size_t index_hi)
+{
+ size_t ilo = index_lo;
+ size_t ihi = index_hi;
+ while(ihi > ilo + 1) {
+ size_t i = (ihi + ilo)/2;
+ if(x_array[i] > x)
+ ihi = i;
+ else
+ ilo = i;
+ }
+
+ return ilo;
+}
+#endif
+
+INLINE_DECL size_t
+gsl_interp_accel_find(gsl_interp_accel * a, const double x_array[], size_t size, double x);
+
+#ifdef HAVE_INLINE
+INLINE_FUN size_t
+gsl_interp_accel_find(gsl_interp_accel * a, const double xa[], size_t len, double x)
+{
+ size_t x_index = a->cache;
+
+ if(x < xa[x_index]) {
+ a->miss_count++;
+ a->cache = gsl_interp_bsearch(xa, x, 0, x_index);
+ }
+ else if(x >= xa[x_index + 1]) {
+ a->miss_count++;
+ a->cache = gsl_interp_bsearch(xa, x, x_index, len-1);
+ }
+ else {
+ a->hit_count++;
+ }
+
+ return a->cache;
+}
+#endif /* HAVE_INLINE */
+
+
+__END_DECLS
+
+#endif /* __GSL_INTERP_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_interp2d.h b/thirdparty/includes/GSL/gsl/gsl_interp2d.h
new file mode 100644
index 0000000..e105fa3
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_interp2d.h
@@ -0,0 +1,160 @@
+/* interpolation/gsl_interp2d.h
+ *
+ * Copyright 2012 David Zaslavsky
+ *
+ * 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_INTERP2D_H__
+#define __GSL_INTERP2D_H__
+
+#include <gsl/gsl_interp.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
+
+typedef struct {
+ const char* name;
+ unsigned int min_size;
+ void * (*alloc)(size_t xsize, size_t ysize);
+ int (*init)(void *, const double xa[], const double ya[], const double za[], size_t xsize, size_t ysize);
+ int (*eval)(const void *, const double xa[], const double ya[], const double za[], size_t xsize, size_t ysize, double x, double y, gsl_interp_accel*, gsl_interp_accel*, double* z);
+ int (*eval_deriv_x) (const void *, const double xa[], const double ya[], const double za[], size_t xsize, size_t ysize, double x, double y, gsl_interp_accel*, gsl_interp_accel*, double* z_p);
+ int (*eval_deriv_y) (const void *, const double xa[], const double ya[], const double za[], size_t xsize, size_t ysize, double x, double y, gsl_interp_accel*, gsl_interp_accel*, double* z_p);
+ int (*eval_deriv_xx) (const void *, const double xa[], const double ya[], const double za[], size_t xsize, size_t ysize, double x, double y, gsl_interp_accel*, gsl_interp_accel*, double* z_pp);
+ int (*eval_deriv_xy) (const void *, const double xa[], const double ya[], const double za[], size_t xsize, size_t ysize, double x, double y, gsl_interp_accel*, gsl_interp_accel*, double* z_pp);
+ int (*eval_deriv_yy) (const void *, const double xa[], const double ya[], const double za[], size_t xsize, size_t ysize, double x, double y, gsl_interp_accel*, gsl_interp_accel*, double* z_pp);
+ void (*free)(void *);
+} gsl_interp2d_type;
+
+typedef struct {
+ const gsl_interp2d_type * type; /* interpolation type */
+ double xmin; /* minimum value of x for which data have been provided */
+ double xmax; /* maximum value of x for which data have been provided */
+ double ymin; /* minimum value of y for which data have been provided */
+ double ymax; /* maximum value of y for which data have been provided */
+ size_t xsize; /* number of x values provided */
+ size_t ysize; /* number of y values provided */
+ void * state; /* internal state object specific to the interpolation type */
+} gsl_interp2d;
+
+/* available types */
+GSL_VAR const gsl_interp2d_type * gsl_interp2d_bilinear;
+GSL_VAR const gsl_interp2d_type * gsl_interp2d_bicubic;
+
+gsl_interp2d * gsl_interp2d_alloc(const gsl_interp2d_type * T, const size_t xsize,
+ const size_t ysize);
+
+const char * gsl_interp2d_name(const gsl_interp2d * interp);
+size_t gsl_interp2d_min_size(const gsl_interp2d * interp);
+size_t gsl_interp2d_type_min_size(const gsl_interp2d_type * T);
+int gsl_interp2d_set(const gsl_interp2d * interp, double zarr[],
+ const size_t i, const size_t j, const double z);
+double gsl_interp2d_get(const gsl_interp2d * interp, const double zarr[],
+ const size_t i, const size_t j);
+size_t gsl_interp2d_idx(const gsl_interp2d * interp,
+ const size_t i, const size_t j);
+int gsl_interp2d_init(gsl_interp2d * interp, const double xa[], const double ya[],
+ const double za[], const size_t xsize, const size_t ysize);
+void gsl_interp2d_free(gsl_interp2d * interp);
+
+double gsl_interp2d_eval(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[], const double x,
+ const double y, gsl_interp_accel * xa, gsl_interp_accel * ya);
+
+double gsl_interp2d_eval_extrap(const gsl_interp2d * interp,
+ const double xarr[], const double yarr[],
+ const double zarr[], const double x,
+ const double y, gsl_interp_accel * xa,
+ gsl_interp_accel * ya);
+
+int gsl_interp2d_eval_e(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[],
+ const double x, const double y, gsl_interp_accel* xa,
+ gsl_interp_accel* ya, double * z);
+
+int gsl_interp2d_eval_e_extrap(const gsl_interp2d * interp,
+ const double xarr[],
+ const double yarr[],
+ const double zarr[],
+ const double x,
+ const double y,
+ gsl_interp_accel * xa,
+ gsl_interp_accel * ya,
+ double * z);
+
+double gsl_interp2d_eval_deriv_x(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[],
+ const double x, const double y, gsl_interp_accel * xa,
+ gsl_interp_accel * ya);
+
+int gsl_interp2d_eval_deriv_x_e(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[],
+ const double x, const double y,
+ gsl_interp_accel * xa, gsl_interp_accel * ya, double * z);
+
+double gsl_interp2d_eval_deriv_y(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[],
+ const double x, const double y,
+ gsl_interp_accel* xa, gsl_interp_accel* ya);
+
+int gsl_interp2d_eval_deriv_y_e(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[],
+ const double x, const double y,
+ gsl_interp_accel * xa, gsl_interp_accel * ya, double * z);
+
+double gsl_interp2d_eval_deriv_xx(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[],
+ const double x, const double y,
+ gsl_interp_accel * xa, gsl_interp_accel * ya);
+
+int gsl_interp2d_eval_deriv_xx_e(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[],
+ const double x, const double y,
+ gsl_interp_accel * xa, gsl_interp_accel * ya, double * z);
+
+double gsl_interp2d_eval_deriv_yy(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[],
+ const double x, const double y,
+ gsl_interp_accel * xa, gsl_interp_accel * ya);
+
+int gsl_interp2d_eval_deriv_yy_e(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[],
+ const double x, const double y,
+ gsl_interp_accel * xa, gsl_interp_accel * ya, double * z);
+
+double gsl_interp2d_eval_deriv_xy(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[],
+ const double x, const double y,
+ gsl_interp_accel * xa, gsl_interp_accel * ya);
+
+int gsl_interp2d_eval_deriv_xy_e(const gsl_interp2d * interp, const double xarr[],
+ const double yarr[], const double zarr[],
+ const double x, const double y,
+ gsl_interp_accel * xa, gsl_interp_accel * ya, double * z);
+
+
+__END_DECLS
+
+#endif /* __GSL_INTERP2D_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_linalg.h b/thirdparty/includes/GSL/gsl/gsl_linalg.h
new file mode 100644
index 0000000..ac3e643
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_linalg.h
@@ -0,0 +1,650 @@
+/* linalg/gsl_linalg.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_LINALG_H__
+#define __GSL_LINALG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_mode.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.h>
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_inline.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
+
+typedef enum
+ {
+ GSL_LINALG_MOD_NONE = 0,
+ GSL_LINALG_MOD_TRANSPOSE = 1,
+ GSL_LINALG_MOD_CONJUGATE = 2
+ }
+gsl_linalg_matrix_mod_t;
+
+
+/* Note: You can now use the gsl_blas_dgemm function instead of matmult */
+
+/* Simple implementation of matrix multiply.
+ * Calculates C = A.B
+ *
+ * exceptions: GSL_EBADLEN
+ */
+int gsl_linalg_matmult (const gsl_matrix * A,
+ const gsl_matrix * B,
+ gsl_matrix * C);
+
+
+/* Simple implementation of matrix multiply.
+ * Allows transposition of either matrix, so it
+ * can compute A.B or Trans(A).B or A.Trans(B) or Trans(A).Trans(B)
+ *
+ * exceptions: GSL_EBADLEN
+ */
+int gsl_linalg_matmult_mod (const gsl_matrix * A,
+ gsl_linalg_matrix_mod_t modA,
+ const gsl_matrix * B,
+ gsl_linalg_matrix_mod_t modB,
+ gsl_matrix * C);
+
+/* Calculate the matrix exponential by the scaling and
+ * squaring method described in Moler + Van Loan,
+ * SIAM Rev 20, 801 (1978). The mode argument allows
+ * choosing an optimal strategy, from the table
+ * given in the paper, for a given precision.
+ *
+ * exceptions: GSL_ENOTSQR, GSL_EBADLEN
+ */
+int gsl_linalg_exponential_ss(
+ const gsl_matrix * A,
+ gsl_matrix * eA,
+ gsl_mode_t mode
+ );
+
+
+/* Householder Transformations */
+
+double gsl_linalg_householder_transform (gsl_vector * v);
+gsl_complex gsl_linalg_complex_householder_transform (gsl_vector_complex * v);
+
+int gsl_linalg_householder_hm (double tau,
+ const gsl_vector * v,
+ gsl_matrix * A);
+
+int gsl_linalg_householder_mh (double tau,
+ const gsl_vector * v,
+ gsl_matrix * A);
+
+int gsl_linalg_householder_hv (double tau,
+ const gsl_vector * v,
+ gsl_vector * w);
+
+int gsl_linalg_householder_hm1 (double tau,
+ gsl_matrix * A);
+
+int gsl_linalg_complex_householder_hm (gsl_complex tau,
+ const gsl_vector_complex * v,
+ gsl_matrix_complex * A);
+
+int gsl_linalg_complex_householder_mh (gsl_complex tau,
+ const gsl_vector_complex * v,
+ gsl_matrix_complex * A);
+
+int gsl_linalg_complex_householder_hv (gsl_complex tau,
+ const gsl_vector_complex * v,
+ gsl_vector_complex * w);
+
+/* Hessenberg reduction */
+
+int gsl_linalg_hessenberg_decomp(gsl_matrix *A, gsl_vector *tau);
+int gsl_linalg_hessenberg_unpack(gsl_matrix * H, gsl_vector * tau,
+ gsl_matrix * U);
+int gsl_linalg_hessenberg_unpack_accum(gsl_matrix * H, gsl_vector * tau,
+ gsl_matrix * U);
+int gsl_linalg_hessenberg_set_zero(gsl_matrix * H);
+int gsl_linalg_hessenberg_submatrix(gsl_matrix *M, gsl_matrix *A,
+ size_t top, gsl_vector *tau);
+
+/* To support gsl-1.9 interface: DEPRECATED */
+int gsl_linalg_hessenberg(gsl_matrix *A, gsl_vector *tau);
+
+
+/* Hessenberg-Triangular reduction */
+
+int gsl_linalg_hesstri_decomp(gsl_matrix * A, gsl_matrix * B,
+ gsl_matrix * U, gsl_matrix * V,
+ gsl_vector * work);
+
+/* Singular Value Decomposition
+
+ * exceptions:
+ */
+
+int
+gsl_linalg_SV_decomp (gsl_matrix * A,
+ gsl_matrix * V,
+ gsl_vector * S,
+ gsl_vector * work);
+
+int
+gsl_linalg_SV_decomp_mod (gsl_matrix * A,
+ gsl_matrix * X,
+ gsl_matrix * V,
+ gsl_vector * S,
+ gsl_vector * work);
+
+int gsl_linalg_SV_decomp_jacobi (gsl_matrix * A,
+ gsl_matrix * Q,
+ gsl_vector * S);
+
+int
+gsl_linalg_SV_solve (const gsl_matrix * U,
+ const gsl_matrix * Q,
+ const gsl_vector * S,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_SV_leverage(const gsl_matrix *U, gsl_vector *h);
+
+
+/* LU Decomposition, Gaussian elimination with partial pivoting
+ */
+
+int gsl_linalg_LU_decomp (gsl_matrix * A, gsl_permutation * p, int *signum);
+
+int gsl_linalg_LU_solve (const gsl_matrix * LU,
+ const gsl_permutation * p,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_LU_svx (const gsl_matrix * LU,
+ const gsl_permutation * p,
+ gsl_vector * x);
+
+int gsl_linalg_LU_refine (const gsl_matrix * A,
+ const gsl_matrix * LU,
+ const gsl_permutation * p,
+ const gsl_vector * b,
+ gsl_vector * x,
+ gsl_vector * residual);
+
+int gsl_linalg_LU_invert (const gsl_matrix * LU,
+ const gsl_permutation * p,
+ gsl_matrix * inverse);
+
+double gsl_linalg_LU_det (gsl_matrix * LU, int signum);
+double gsl_linalg_LU_lndet (gsl_matrix * LU);
+int gsl_linalg_LU_sgndet (gsl_matrix * lu, int signum);
+
+/* Complex LU Decomposition */
+
+int gsl_linalg_complex_LU_decomp (gsl_matrix_complex * A,
+ gsl_permutation * p,
+ int *signum);
+
+int gsl_linalg_complex_LU_solve (const gsl_matrix_complex * LU,
+ const gsl_permutation * p,
+ const gsl_vector_complex * b,
+ gsl_vector_complex * x);
+
+int gsl_linalg_complex_LU_svx (const gsl_matrix_complex * LU,
+ const gsl_permutation * p,
+ gsl_vector_complex * x);
+
+int gsl_linalg_complex_LU_refine (const gsl_matrix_complex * A,
+ const gsl_matrix_complex * LU,
+ const gsl_permutation * p,
+ const gsl_vector_complex * b,
+ gsl_vector_complex * x,
+ gsl_vector_complex * residual);
+
+int gsl_linalg_complex_LU_invert (const gsl_matrix_complex * LU,
+ const gsl_permutation * p,
+ gsl_matrix_complex * inverse);
+
+gsl_complex gsl_linalg_complex_LU_det (gsl_matrix_complex * LU,
+ int signum);
+
+double gsl_linalg_complex_LU_lndet (gsl_matrix_complex * LU);
+
+gsl_complex gsl_linalg_complex_LU_sgndet (gsl_matrix_complex * LU,
+ int signum);
+
+/* QR decomposition */
+
+int gsl_linalg_QR_decomp (gsl_matrix * A,
+ gsl_vector * tau);
+
+int gsl_linalg_QR_solve (const gsl_matrix * QR,
+ const gsl_vector * tau,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_QR_svx (const gsl_matrix * QR,
+ const gsl_vector * tau,
+ gsl_vector * x);
+
+int gsl_linalg_QR_lssolve (const gsl_matrix * QR,
+ const gsl_vector * tau,
+ const gsl_vector * b,
+ gsl_vector * x,
+ gsl_vector * residual);
+
+
+int gsl_linalg_QR_QRsolve (gsl_matrix * Q,
+ gsl_matrix * R,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_QR_Rsolve (const gsl_matrix * QR,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_QR_Rsvx (const gsl_matrix * QR,
+ gsl_vector * x);
+
+int gsl_linalg_QR_update (gsl_matrix * Q,
+ gsl_matrix * R,
+ gsl_vector * w,
+ const gsl_vector * v);
+
+int gsl_linalg_QR_QTvec (const gsl_matrix * QR,
+ const gsl_vector * tau,
+ gsl_vector * v);
+
+int gsl_linalg_QR_Qvec (const gsl_matrix * QR,
+ const gsl_vector * tau,
+ gsl_vector * v);
+
+int gsl_linalg_QR_QTmat (const gsl_matrix * QR,
+ const gsl_vector * tau,
+ gsl_matrix * A);
+
+int gsl_linalg_QR_matQ (const gsl_matrix * QR,
+ const gsl_vector * tau,
+ gsl_matrix * A);
+
+int gsl_linalg_QR_unpack (const gsl_matrix * QR,
+ const gsl_vector * tau,
+ gsl_matrix * Q,
+ gsl_matrix * R);
+
+int gsl_linalg_R_solve (const gsl_matrix * R,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_R_svx (const gsl_matrix * R,
+ gsl_vector * x);
+
+
+/* Q R P^T decomposition */
+
+int gsl_linalg_QRPT_decomp (gsl_matrix * A,
+ gsl_vector * tau,
+ gsl_permutation * p,
+ int *signum,
+ gsl_vector * norm);
+
+int gsl_linalg_QRPT_decomp2 (const gsl_matrix * A,
+ gsl_matrix * q, gsl_matrix * r,
+ gsl_vector * tau,
+ gsl_permutation * p,
+ int *signum,
+ gsl_vector * norm);
+
+int gsl_linalg_QRPT_solve (const gsl_matrix * QR,
+ const gsl_vector * tau,
+ const gsl_permutation * p,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+
+int gsl_linalg_QRPT_svx (const gsl_matrix * QR,
+ const gsl_vector * tau,
+ const gsl_permutation * p,
+ gsl_vector * x);
+
+int gsl_linalg_QRPT_QRsolve (const gsl_matrix * Q,
+ const gsl_matrix * R,
+ const gsl_permutation * p,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_QRPT_Rsolve (const gsl_matrix * QR,
+ const gsl_permutation * p,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_QRPT_Rsvx (const gsl_matrix * QR,
+ const gsl_permutation * p,
+ gsl_vector * x);
+
+int gsl_linalg_QRPT_update (gsl_matrix * Q,
+ gsl_matrix * R,
+ const gsl_permutation * p,
+ gsl_vector * u,
+ const gsl_vector * v);
+
+/* LQ decomposition */
+
+int gsl_linalg_LQ_decomp (gsl_matrix * A, gsl_vector * tau);
+
+int gsl_linalg_LQ_solve_T (const gsl_matrix * LQ, const gsl_vector * tau,
+ const gsl_vector * b, gsl_vector * x);
+
+int gsl_linalg_LQ_svx_T (const gsl_matrix * LQ, const gsl_vector * tau,
+ gsl_vector * x);
+
+int gsl_linalg_LQ_lssolve_T (const gsl_matrix * LQ, const gsl_vector * tau,
+ const gsl_vector * b, gsl_vector * x,
+ gsl_vector * residual);
+
+int gsl_linalg_LQ_Lsolve_T (const gsl_matrix * LQ, const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_LQ_Lsvx_T (const gsl_matrix * LQ, gsl_vector * x);
+
+int gsl_linalg_L_solve_T (const gsl_matrix * L, const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_LQ_vecQ (const gsl_matrix * LQ, const gsl_vector * tau,
+ gsl_vector * v);
+
+int gsl_linalg_LQ_vecQT (const gsl_matrix * LQ, const gsl_vector * tau,
+ gsl_vector * v);
+
+int gsl_linalg_LQ_unpack (const gsl_matrix * LQ, const gsl_vector * tau,
+ gsl_matrix * Q, gsl_matrix * L);
+
+int gsl_linalg_LQ_update (gsl_matrix * Q, gsl_matrix * R,
+ const gsl_vector * v, gsl_vector * w);
+int gsl_linalg_LQ_LQsolve (gsl_matrix * Q, gsl_matrix * L,
+ const gsl_vector * b, gsl_vector * x);
+
+/* P^T L Q decomposition */
+
+int gsl_linalg_PTLQ_decomp (gsl_matrix * A, gsl_vector * tau,
+ gsl_permutation * p, int *signum,
+ gsl_vector * norm);
+
+int gsl_linalg_PTLQ_decomp2 (const gsl_matrix * A, gsl_matrix * q,
+ gsl_matrix * r, gsl_vector * tau,
+ gsl_permutation * p, int *signum,
+ gsl_vector * norm);
+
+int gsl_linalg_PTLQ_solve_T (const gsl_matrix * QR,
+ const gsl_vector * tau,
+ const gsl_permutation * p,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_PTLQ_svx_T (const gsl_matrix * LQ,
+ const gsl_vector * tau,
+ const gsl_permutation * p,
+ gsl_vector * x);
+
+int gsl_linalg_PTLQ_LQsolve_T (const gsl_matrix * Q, const gsl_matrix * L,
+ const gsl_permutation * p,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_PTLQ_Lsolve_T (const gsl_matrix * LQ,
+ const gsl_permutation * p,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_PTLQ_Lsvx_T (const gsl_matrix * LQ,
+ const gsl_permutation * p,
+ gsl_vector * x);
+
+int gsl_linalg_PTLQ_update (gsl_matrix * Q, gsl_matrix * L,
+ const gsl_permutation * p,
+ const gsl_vector * v, gsl_vector * w);
+
+/* Cholesky Decomposition */
+
+int gsl_linalg_cholesky_decomp (gsl_matrix * A);
+
+int gsl_linalg_cholesky_solve (const gsl_matrix * cholesky,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+int gsl_linalg_cholesky_svx (const gsl_matrix * cholesky,
+ gsl_vector * x);
+
+int gsl_linalg_cholesky_invert(gsl_matrix * cholesky);
+
+/* Cholesky decomposition with unit-diagonal triangular parts.
+ * A = L D L^T, where diag(L) = (1,1,...,1).
+ * Upon exit, A contains L and L^T as for Cholesky, and
+ * the diagonal of A is (1,1,...,1). The vector Dis set
+ * to the diagonal elements of the diagonal matrix D.
+ */
+int gsl_linalg_cholesky_decomp_unit(gsl_matrix * A, gsl_vector * D);
+
+/* Complex Cholesky Decomposition */
+
+int gsl_linalg_complex_cholesky_decomp (gsl_matrix_complex * A);
+
+int gsl_linalg_complex_cholesky_solve (const gsl_matrix_complex * cholesky,
+ const gsl_vector_complex * b,
+ gsl_vector_complex * x);
+
+int gsl_linalg_complex_cholesky_svx (const gsl_matrix_complex * cholesky,
+ gsl_vector_complex * x);
+
+int gsl_linalg_complex_cholesky_invert(gsl_matrix_complex * cholesky);
+
+
+/* Symmetric to symmetric tridiagonal decomposition */
+
+int gsl_linalg_symmtd_decomp (gsl_matrix * A,
+ gsl_vector * tau);
+
+int gsl_linalg_symmtd_unpack (const gsl_matrix * A,
+ const gsl_vector * tau,
+ gsl_matrix * Q,
+ gsl_vector * diag,
+ gsl_vector * subdiag);
+
+int gsl_linalg_symmtd_unpack_T (const gsl_matrix * A,
+ gsl_vector * diag,
+ gsl_vector * subdiag);
+
+/* Hermitian to symmetric tridiagonal decomposition */
+
+int gsl_linalg_hermtd_decomp (gsl_matrix_complex * A,
+ gsl_vector_complex * tau);
+
+int gsl_linalg_hermtd_unpack (const gsl_matrix_complex * A,
+ const gsl_vector_complex * tau,
+ gsl_matrix_complex * U,
+ gsl_vector * diag,
+ gsl_vector * sudiag);
+
+int gsl_linalg_hermtd_unpack_T (const gsl_matrix_complex * A,
+ gsl_vector * diag,
+ gsl_vector * subdiag);
+
+/* Linear Solve Using Householder Transformations
+
+ * exceptions:
+ */
+
+int gsl_linalg_HH_solve (gsl_matrix * A, const gsl_vector * b, gsl_vector * x);
+int gsl_linalg_HH_svx (gsl_matrix * A, gsl_vector * x);
+
+/* Linear solve for a symmetric tridiagonal system.
+
+ * The input vectors represent the NxN matrix as follows:
+ *
+ * diag[0] offdiag[0] 0 ...
+ * offdiag[0] diag[1] offdiag[1] ...
+ * 0 offdiag[1] diag[2] ...
+ * 0 0 offdiag[2] ...
+ * ... ... ... ...
+ */
+int gsl_linalg_solve_symm_tridiag (const gsl_vector * diag,
+ const gsl_vector * offdiag,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+/* Linear solve for a nonsymmetric tridiagonal system.
+
+ * The input vectors represent the NxN matrix as follows:
+ *
+ * diag[0] abovediag[0] 0 ...
+ * belowdiag[0] diag[1] abovediag[1] ...
+ * 0 belowdiag[1] diag[2] ...
+ * 0 0 belowdiag[2] ...
+ * ... ... ... ...
+ */
+int gsl_linalg_solve_tridiag (const gsl_vector * diag,
+ const gsl_vector * abovediag,
+ const gsl_vector * belowdiag,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+
+/* Linear solve for a symmetric cyclic tridiagonal system.
+
+ * The input vectors represent the NxN matrix as follows:
+ *
+ * diag[0] offdiag[0] 0 ..... offdiag[N-1]
+ * offdiag[0] diag[1] offdiag[1] .....
+ * 0 offdiag[1] diag[2] .....
+ * 0 0 offdiag[2] .....
+ * ... ...
+ * offdiag[N-1] ...
+ */
+int gsl_linalg_solve_symm_cyc_tridiag (const gsl_vector * diag,
+ const gsl_vector * offdiag,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+/* Linear solve for a nonsymmetric cyclic tridiagonal system.
+
+ * The input vectors represent the NxN matrix as follows:
+ *
+ * diag[0] abovediag[0] 0 ..... belowdiag[N-1]
+ * belowdiag[0] diag[1] abovediag[1] .....
+ * 0 belowdiag[1] diag[2]
+ * 0 0 belowdiag[2] .....
+ * ... ...
+ * abovediag[N-1] ...
+ */
+int gsl_linalg_solve_cyc_tridiag (const gsl_vector * diag,
+ const gsl_vector * abovediag,
+ const gsl_vector * belowdiag,
+ const gsl_vector * b,
+ gsl_vector * x);
+
+
+/* Bidiagonal decomposition */
+
+int gsl_linalg_bidiag_decomp (gsl_matrix * A,
+ gsl_vector * tau_U,
+ gsl_vector * tau_V);
+
+int gsl_linalg_bidiag_unpack (const gsl_matrix * A,
+ const gsl_vector * tau_U,
+ gsl_matrix * U,
+ const gsl_vector * tau_V,
+ gsl_matrix * V,
+ gsl_vector * diag,
+ gsl_vector * superdiag);
+
+int gsl_linalg_bidiag_unpack2 (gsl_matrix * A,
+ gsl_vector * tau_U,
+ gsl_vector * tau_V,
+ gsl_matrix * V);
+
+int gsl_linalg_bidiag_unpack_B (const gsl_matrix * A,
+ gsl_vector * diag,
+ gsl_vector * superdiag);
+
+/* Balancing */
+
+int gsl_linalg_balance_matrix (gsl_matrix * A, gsl_vector * D);
+int gsl_linalg_balance_accum (gsl_matrix * A, gsl_vector * D);
+int gsl_linalg_balance_columns (gsl_matrix * A, gsl_vector * D);
+
+INLINE_DECL void gsl_linalg_givens (const double a, const double b,
+ double *c, double *s);
+INLINE_DECL void gsl_linalg_givens_gv (gsl_vector * v, const size_t i,
+ const size_t j, const double c,
+ const double s);
+
+#ifdef HAVE_INLINE
+
+/* Generate a Givens rotation (cos,sin) which takes v=(x,y) to (|v|,0)
+ From Golub and Van Loan, "Matrix Computations", Section 5.1.8 */
+INLINE_FUN
+void
+gsl_linalg_givens (const double a, const double b, double *c, double *s)
+{
+ if (b == 0)
+ {
+ *c = 1;
+ *s = 0;
+ }
+ else if (fabs (b) > fabs (a))
+ {
+ double t = -a / b;
+ double s1 = 1.0 / sqrt (1 + t * t);
+ *s = s1;
+ *c = s1 * t;
+ }
+ else
+ {
+ double t = -b / a;
+ double c1 = 1.0 / sqrt (1 + t * t);
+ *c = c1;
+ *s = c1 * t;
+ }
+} /* gsl_linalg_givens() */
+
+INLINE_FUN
+void
+gsl_linalg_givens_gv (gsl_vector * v, const size_t i, const size_t j,
+ const double c, const double s)
+{
+ /* Apply rotation to vector v' = G^T v */
+
+ double vi = gsl_vector_get (v, i);
+ double vj = gsl_vector_get (v, j);
+ gsl_vector_set (v, i, c * vi - s * vj);
+ gsl_vector_set (v, j, s * vi + c * vj);
+}
+
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_LINALG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_machine.h b/thirdparty/includes/GSL/gsl/gsl_machine.h
new file mode 100644
index 0000000..c44ffc2
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_machine.h
@@ -0,0 +1,104 @@
+/* Author: B. Gough and G. Jungman */
+#ifndef __GSL_MACHINE_H__
+#define __GSL_MACHINE_H__
+
+#include <limits.h>
+#include <float.h>
+
+/* magic constants; mostly for the benefit of the implementation */
+
+/* -*-MACHINE CONSTANTS-*-
+ *
+ * PLATFORM: Whiz-O-Matic 9000
+ * FP_PLATFORM: IEEE-Virtual
+ * HOSTNAME: nnn.lanl.gov
+ * DATE: Fri Nov 20 17:53:26 MST 1998
+ */
+#define GSL_DBL_EPSILON 2.2204460492503131e-16
+#define GSL_SQRT_DBL_EPSILON 1.4901161193847656e-08
+#define GSL_ROOT3_DBL_EPSILON 6.0554544523933429e-06
+#define GSL_ROOT4_DBL_EPSILON 1.2207031250000000e-04
+#define GSL_ROOT5_DBL_EPSILON 7.4009597974140505e-04
+#define GSL_ROOT6_DBL_EPSILON 2.4607833005759251e-03
+#define GSL_LOG_DBL_EPSILON (-3.6043653389117154e+01)
+
+#define GSL_DBL_MIN 2.2250738585072014e-308
+#define GSL_SQRT_DBL_MIN 1.4916681462400413e-154
+#define GSL_ROOT3_DBL_MIN 2.8126442852362996e-103
+#define GSL_ROOT4_DBL_MIN 1.2213386697554620e-77
+#define GSL_ROOT5_DBL_MIN 2.9476022969691763e-62
+#define GSL_ROOT6_DBL_MIN 5.3034368905798218e-52
+#define GSL_LOG_DBL_MIN (-7.0839641853226408e+02)
+
+#define GSL_DBL_MAX 1.7976931348623157e+308
+#define GSL_SQRT_DBL_MAX 1.3407807929942596e+154
+#define GSL_ROOT3_DBL_MAX 5.6438030941222897e+102
+#define GSL_ROOT4_DBL_MAX 1.1579208923731620e+77
+#define GSL_ROOT5_DBL_MAX 4.4765466227572707e+61
+#define GSL_ROOT6_DBL_MAX 2.3756689782295612e+51
+#define GSL_LOG_DBL_MAX 7.0978271289338397e+02
+
+#define GSL_FLT_EPSILON 1.1920928955078125e-07
+#define GSL_SQRT_FLT_EPSILON 3.4526698300124393e-04
+#define GSL_ROOT3_FLT_EPSILON 4.9215666011518501e-03
+#define GSL_ROOT4_FLT_EPSILON 1.8581361171917516e-02
+#define GSL_ROOT5_FLT_EPSILON 4.1234622211652937e-02
+#define GSL_ROOT6_FLT_EPSILON 7.0153878019335827e-02
+#define GSL_LOG_FLT_EPSILON (-1.5942385152878742e+01)
+
+#define GSL_FLT_MIN 1.1754943508222875e-38
+#define GSL_SQRT_FLT_MIN 1.0842021724855044e-19
+#define GSL_ROOT3_FLT_MIN 2.2737367544323241e-13
+#define GSL_ROOT4_FLT_MIN 3.2927225399135965e-10
+#define GSL_ROOT5_FLT_MIN 2.5944428542140822e-08
+#define GSL_ROOT6_FLT_MIN 4.7683715820312542e-07
+#define GSL_LOG_FLT_MIN (-8.7336544750553102e+01)
+
+#define GSL_FLT_MAX 3.4028234663852886e+38
+#define GSL_SQRT_FLT_MAX 1.8446743523953730e+19
+#define GSL_ROOT3_FLT_MAX 6.9814635196223242e+12
+#define GSL_ROOT4_FLT_MAX 4.2949672319999986e+09
+#define GSL_ROOT5_FLT_MAX 5.0859007855960041e+07
+#define GSL_ROOT6_FLT_MAX 2.6422459233807749e+06
+#define GSL_LOG_FLT_MAX 8.8722839052068352e+01
+
+#define GSL_SFLT_EPSILON 4.8828125000000000e-04
+#define GSL_SQRT_SFLT_EPSILON 2.2097086912079612e-02
+#define GSL_ROOT3_SFLT_EPSILON 7.8745065618429588e-02
+#define GSL_ROOT4_SFLT_EPSILON 1.4865088937534013e-01
+#define GSL_ROOT5_SFLT_EPSILON 2.1763764082403100e-01
+#define GSL_ROOT6_SFLT_EPSILON 2.8061551207734325e-01
+#define GSL_LOG_SFLT_EPSILON (-7.6246189861593985e+00)
+
+/* !MACHINE CONSTANTS! */
+
+
+/* a little internal backwards compatibility */
+#define GSL_MACH_EPS GSL_DBL_EPSILON
+
+
+
+/* Here are the constants related to or derived from
+ * machine constants. These are not to be confused with
+ * the constants that define various precision levels
+ * for the precision/error system.
+ *
+ * This information is determined at configure time
+ * and is platform dependent. Edit at your own risk.
+ *
+ * PLATFORM: WHIZ-O-MATIC
+ * CONFIG-DATE: Thu Nov 19 19:27:18 MST 1998
+ * CONFIG-HOST: nnn.lanl.gov
+ */
+
+/* machine precision constants */
+/* #define GSL_MACH_EPS 1.0e-15 */
+#define GSL_SQRT_MACH_EPS 3.2e-08
+#define GSL_ROOT3_MACH_EPS 1.0e-05
+#define GSL_ROOT4_MACH_EPS 0.000178
+#define GSL_ROOT5_MACH_EPS 0.00100
+#define GSL_ROOT6_MACH_EPS 0.00316
+#define GSL_LOG_MACH_EPS (-34.54)
+
+
+#endif /* __GSL_MACHINE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_math.h b/thirdparty/includes/GSL/gsl/gsl_math.h
new file mode 100644
index 0000000..2d09df1
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_math.h
@@ -0,0 +1,164 @@
+/* gsl_math.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004, 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_MATH_H__
+#define __GSL_MATH_H__
+#include <math.h>
+#include <gsl/gsl_sys.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_machine.h>
+#include <gsl/gsl_precision.h>
+#include <gsl/gsl_nan.h>
+#include <gsl/gsl_pow_int.h>
+#include <gsl/gsl_minmax.h>
+
+#ifndef M_E
+#define M_E 2.71828182845904523536028747135 /* e */
+#endif
+
+#ifndef M_LOG2E
+#define M_LOG2E 1.44269504088896340735992468100 /* log_2 (e) */
+#endif
+
+#ifndef M_LOG10E
+#define M_LOG10E 0.43429448190325182765112891892 /* log_10 (e) */
+#endif
+
+#ifndef M_SQRT2
+#define M_SQRT2 1.41421356237309504880168872421 /* sqrt(2) */
+#endif
+
+#ifndef M_SQRT1_2
+#define M_SQRT1_2 0.70710678118654752440084436210 /* sqrt(1/2) */
+#endif
+
+
+#ifndef M_SQRT3
+#define M_SQRT3 1.73205080756887729352744634151 /* sqrt(3) */
+#endif
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846264338328 /* pi */
+#endif
+
+#ifndef M_PI_2
+#define M_PI_2 1.57079632679489661923132169164 /* pi/2 */
+#endif
+
+#ifndef M_PI_4
+#define M_PI_4 0.78539816339744830961566084582 /* pi/4 */
+#endif
+
+#ifndef M_SQRTPI
+#define M_SQRTPI 1.77245385090551602729816748334 /* sqrt(pi) */
+#endif
+
+#ifndef M_2_SQRTPI
+#define M_2_SQRTPI 1.12837916709551257389615890312 /* 2/sqrt(pi) */
+#endif
+
+#ifndef M_1_PI
+#define M_1_PI 0.31830988618379067153776752675 /* 1/pi */
+#endif
+
+#ifndef M_2_PI
+#define M_2_PI 0.63661977236758134307553505349 /* 2/pi */
+#endif
+
+#ifndef M_LN10
+#define M_LN10 2.30258509299404568401799145468 /* ln(10) */
+#endif
+
+#ifndef M_LN2
+#define M_LN2 0.69314718055994530941723212146 /* ln(2) */
+#endif
+
+#ifndef M_LNPI
+#define M_LNPI 1.14472988584940017414342735135 /* ln(pi) */
+#endif
+
+#ifndef M_EULER
+#define M_EULER 0.57721566490153286060651209008 /* Euler constant */
+#endif
+
+#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
+
+/* other needlessly compulsive abstractions */
+
+#define GSL_IS_ODD(n) ((n) & 1)
+#define GSL_IS_EVEN(n) (!(GSL_IS_ODD(n)))
+#define GSL_SIGN(x) ((x) >= 0.0 ? 1 : -1)
+
+/* Return nonzero if x is a real number, i.e. non NaN or infinite. */
+#define GSL_IS_REAL(x) (gsl_finite(x))
+
+/* Definition of an arbitrary function with parameters */
+
+struct gsl_function_struct
+{
+ double (* function) (double x, void * params);
+ void * params;
+};
+
+typedef struct gsl_function_struct gsl_function ;
+
+#define GSL_FN_EVAL(F,x) (*((F)->function))(x,(F)->params)
+
+/* Definition of an arbitrary function returning two values, r1, r2 */
+
+struct gsl_function_fdf_struct
+{
+ double (* f) (double x, void * params);
+ double (* df) (double x, void * params);
+ void (* fdf) (double x, void * params, double * f, double * df);
+ void * params;
+};
+
+typedef struct gsl_function_fdf_struct gsl_function_fdf ;
+
+#define GSL_FN_FDF_EVAL_F(FDF,x) (*((FDF)->f))(x,(FDF)->params)
+#define GSL_FN_FDF_EVAL_DF(FDF,x) (*((FDF)->df))(x,(FDF)->params)
+#define GSL_FN_FDF_EVAL_F_DF(FDF,x,y,dy) (*((FDF)->fdf))(x,(FDF)->params,(y),(dy))
+
+
+/* Definition of an arbitrary vector-valued function with parameters */
+
+struct gsl_function_vec_struct
+{
+ int (* function) (double x, double y[], void * params);
+ void * params;
+};
+
+typedef struct gsl_function_vec_struct gsl_function_vec ;
+
+#define GSL_FN_VEC_EVAL(F,x,y) (*((F)->function))(x,y,(F)->params)
+
+__END_DECLS
+
+#endif /* __GSL_MATH_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix.h b/thirdparty/includes/GSL/gsl/gsl_matrix.h
new file mode 100644
index 0000000..9b7ed76
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix.h
@@ -0,0 +1,25 @@
+#ifndef __GSL_MATRIX_H__
+#define __GSL_MATRIX_H__
+
+#include <gsl/gsl_matrix_complex_long_double.h>
+#include <gsl/gsl_matrix_complex_double.h>
+#include <gsl/gsl_matrix_complex_float.h>
+
+#include <gsl/gsl_matrix_long_double.h>
+#include <gsl/gsl_matrix_double.h>
+#include <gsl/gsl_matrix_float.h>
+
+#include <gsl/gsl_matrix_ulong.h>
+#include <gsl/gsl_matrix_long.h>
+
+#include <gsl/gsl_matrix_uint.h>
+#include <gsl/gsl_matrix_int.h>
+
+#include <gsl/gsl_matrix_ushort.h>
+#include <gsl/gsl_matrix_short.h>
+
+#include <gsl/gsl_matrix_uchar.h>
+#include <gsl/gsl_matrix_char.h>
+
+
+#endif /* __GSL_MATRIX_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_char.h b/thirdparty/includes/GSL/gsl/gsl_matrix_char.h
new file mode 100644
index 0000000..1e6234a
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_char.h
@@ -0,0 +1,350 @@
+/* matrix/gsl_matrix_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_MATRIX_CHAR_H__
+#define __GSL_MATRIX_CHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_char.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ char * data;
+ gsl_block_char * block;
+ int owner;
+} gsl_matrix_char;
+
+typedef struct
+{
+ gsl_matrix_char matrix;
+} _gsl_matrix_char_view;
+
+typedef _gsl_matrix_char_view gsl_matrix_char_view;
+
+typedef struct
+{
+ gsl_matrix_char matrix;
+} _gsl_matrix_char_const_view;
+
+typedef const _gsl_matrix_char_const_view gsl_matrix_char_const_view;
+
+/* Allocation */
+
+gsl_matrix_char *
+gsl_matrix_char_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_char *
+gsl_matrix_char_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_char *
+gsl_matrix_char_alloc_from_block (gsl_block_char * b,
+ const size_t offset,
+ const size_t n1,
+ const size_t n2,
+ const size_t d2);
+
+gsl_matrix_char *
+gsl_matrix_char_alloc_from_matrix (gsl_matrix_char * m,
+ const size_t k1,
+ const size_t k2,
+ const size_t n1,
+ const size_t n2);
+
+gsl_vector_char *
+gsl_vector_char_alloc_row_from_matrix (gsl_matrix_char * m,
+ const size_t i);
+
+gsl_vector_char *
+gsl_vector_char_alloc_col_from_matrix (gsl_matrix_char * m,
+ const size_t j);
+
+void gsl_matrix_char_free (gsl_matrix_char * m);
+
+/* Views */
+
+_gsl_matrix_char_view
+gsl_matrix_char_submatrix (gsl_matrix_char * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_char_view
+gsl_matrix_char_row (gsl_matrix_char * m, const size_t i);
+
+_gsl_vector_char_view
+gsl_matrix_char_column (gsl_matrix_char * m, const size_t j);
+
+_gsl_vector_char_view
+gsl_matrix_char_diagonal (gsl_matrix_char * m);
+
+_gsl_vector_char_view
+gsl_matrix_char_subdiagonal (gsl_matrix_char * m, const size_t k);
+
+_gsl_vector_char_view
+gsl_matrix_char_superdiagonal (gsl_matrix_char * m, const size_t k);
+
+_gsl_vector_char_view
+gsl_matrix_char_subrow (gsl_matrix_char * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_char_view
+gsl_matrix_char_subcolumn (gsl_matrix_char * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_char_view
+gsl_matrix_char_view_array (char * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_char_view
+gsl_matrix_char_view_array_with_tda (char * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_char_view
+gsl_matrix_char_view_vector (gsl_vector_char * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_char_view
+gsl_matrix_char_view_vector_with_tda (gsl_vector_char * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_char_const_view
+gsl_matrix_char_const_submatrix (const gsl_matrix_char * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_char_const_view
+gsl_matrix_char_const_row (const gsl_matrix_char * m,
+ const size_t i);
+
+_gsl_vector_char_const_view
+gsl_matrix_char_const_column (const gsl_matrix_char * m,
+ const size_t j);
+
+_gsl_vector_char_const_view
+gsl_matrix_char_const_diagonal (const gsl_matrix_char * m);
+
+_gsl_vector_char_const_view
+gsl_matrix_char_const_subdiagonal (const gsl_matrix_char * m,
+ const size_t k);
+
+_gsl_vector_char_const_view
+gsl_matrix_char_const_superdiagonal (const gsl_matrix_char * m,
+ const size_t k);
+
+_gsl_vector_char_const_view
+gsl_matrix_char_const_subrow (const gsl_matrix_char * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_char_const_view
+gsl_matrix_char_const_subcolumn (const gsl_matrix_char * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_char_const_view
+gsl_matrix_char_const_view_array (const char * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_char_const_view
+gsl_matrix_char_const_view_array_with_tda (const char * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_char_const_view
+gsl_matrix_char_const_view_vector (const gsl_vector_char * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_char_const_view
+gsl_matrix_char_const_view_vector_with_tda (const gsl_vector_char * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_char_set_zero (gsl_matrix_char * m);
+void gsl_matrix_char_set_identity (gsl_matrix_char * m);
+void gsl_matrix_char_set_all (gsl_matrix_char * m, char x);
+
+int gsl_matrix_char_fread (FILE * stream, gsl_matrix_char * m) ;
+int gsl_matrix_char_fwrite (FILE * stream, const gsl_matrix_char * m) ;
+int gsl_matrix_char_fscanf (FILE * stream, gsl_matrix_char * m);
+int gsl_matrix_char_fprintf (FILE * stream, const gsl_matrix_char * m, const char * format);
+
+int gsl_matrix_char_memcpy(gsl_matrix_char * dest, const gsl_matrix_char * src);
+int gsl_matrix_char_swap(gsl_matrix_char * m1, gsl_matrix_char * m2);
+
+int gsl_matrix_char_swap_rows(gsl_matrix_char * m, const size_t i, const size_t j);
+int gsl_matrix_char_swap_columns(gsl_matrix_char * m, const size_t i, const size_t j);
+int gsl_matrix_char_swap_rowcol(gsl_matrix_char * m, const size_t i, const size_t j);
+int gsl_matrix_char_transpose (gsl_matrix_char * m);
+int gsl_matrix_char_transpose_memcpy (gsl_matrix_char * dest, const gsl_matrix_char * src);
+
+char gsl_matrix_char_max (const gsl_matrix_char * m);
+char gsl_matrix_char_min (const gsl_matrix_char * m);
+void gsl_matrix_char_minmax (const gsl_matrix_char * m, char * min_out, char * max_out);
+
+void gsl_matrix_char_max_index (const gsl_matrix_char * m, size_t * imax, size_t *jmax);
+void gsl_matrix_char_min_index (const gsl_matrix_char * m, size_t * imin, size_t *jmin);
+void gsl_matrix_char_minmax_index (const gsl_matrix_char * m, size_t * imin, size_t * jmin, size_t * imax, size_t * jmax);
+
+int gsl_matrix_char_equal (const gsl_matrix_char * a, const gsl_matrix_char * b);
+
+int gsl_matrix_char_isnull (const gsl_matrix_char * m);
+int gsl_matrix_char_ispos (const gsl_matrix_char * m);
+int gsl_matrix_char_isneg (const gsl_matrix_char * m);
+int gsl_matrix_char_isnonneg (const gsl_matrix_char * m);
+
+int gsl_matrix_char_add (gsl_matrix_char * a, const gsl_matrix_char * b);
+int gsl_matrix_char_sub (gsl_matrix_char * a, const gsl_matrix_char * b);
+int gsl_matrix_char_mul_elements (gsl_matrix_char * a, const gsl_matrix_char * b);
+int gsl_matrix_char_div_elements (gsl_matrix_char * a, const gsl_matrix_char * b);
+int gsl_matrix_char_scale (gsl_matrix_char * a, const double x);
+int gsl_matrix_char_add_constant (gsl_matrix_char * a, const double x);
+int gsl_matrix_char_add_diagonal (gsl_matrix_char * a, const double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_char_get_row(gsl_vector_char * v, const gsl_matrix_char * m, const size_t i);
+int gsl_matrix_char_get_col(gsl_vector_char * v, const gsl_matrix_char * m, const size_t j);
+int gsl_matrix_char_set_row(gsl_matrix_char * m, const size_t i, const gsl_vector_char * v);
+int gsl_matrix_char_set_col(gsl_matrix_char * m, const size_t j, const gsl_vector_char * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL char gsl_matrix_char_get(const gsl_matrix_char * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_char_set(gsl_matrix_char * m, const size_t i, const size_t j, const char x);
+INLINE_DECL char * gsl_matrix_char_ptr(gsl_matrix_char * m, const size_t i, const size_t j);
+INLINE_DECL const char * gsl_matrix_char_const_ptr(const gsl_matrix_char * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+char
+gsl_matrix_char_get(const gsl_matrix_char * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, 0) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, 0) ;
+ }
+ }
+#endif
+ return m->data[i * m->tda + j] ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_char_set(gsl_matrix_char * m, const size_t i, const size_t j, const char x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ m->data[i * m->tda + j] = x ;
+}
+
+INLINE_FUN
+char *
+gsl_matrix_char_ptr(gsl_matrix_char * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (char *) (m->data + (i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const char *
+gsl_matrix_char_const_ptr(const gsl_matrix_char * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const char *) (m->data + (i * m->tda + j)) ;
+}
+
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_CHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_complex_double.h b/thirdparty/includes/GSL/gsl/gsl_matrix_complex_double.h
new file mode 100644
index 0000000..1564f7c
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_complex_double.h
@@ -0,0 +1,351 @@
+/* matrix/gsl_matrix_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_MATRIX_COMPLEX_DOUBLE_H__
+#define __GSL_MATRIX_COMPLEX_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_complex_double.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ double * data;
+ gsl_block_complex * block;
+ int owner;
+} gsl_matrix_complex ;
+
+typedef struct
+{
+ gsl_matrix_complex matrix;
+} _gsl_matrix_complex_view;
+
+typedef _gsl_matrix_complex_view gsl_matrix_complex_view;
+
+typedef struct
+{
+ gsl_matrix_complex matrix;
+} _gsl_matrix_complex_const_view;
+
+typedef const _gsl_matrix_complex_const_view gsl_matrix_complex_const_view;
+
+
+/* Allocation */
+
+gsl_matrix_complex *
+gsl_matrix_complex_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_complex *
+gsl_matrix_complex_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_complex *
+gsl_matrix_complex_alloc_from_block (gsl_block_complex * b,
+ const size_t offset,
+ const size_t n1, const size_t n2, const size_t d2);
+
+gsl_matrix_complex *
+gsl_matrix_complex_alloc_from_matrix (gsl_matrix_complex * b,
+ const size_t k1, const size_t k2,
+ const size_t n1, const size_t n2);
+
+gsl_vector_complex *
+gsl_vector_complex_alloc_row_from_matrix (gsl_matrix_complex * m,
+ const size_t i);
+
+gsl_vector_complex *
+gsl_vector_complex_alloc_col_from_matrix (gsl_matrix_complex * m,
+ const size_t j);
+
+void gsl_matrix_complex_free (gsl_matrix_complex * m);
+
+/* Views */
+
+_gsl_matrix_complex_view
+gsl_matrix_complex_submatrix (gsl_matrix_complex * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_complex_view
+gsl_matrix_complex_row (gsl_matrix_complex * m, const size_t i);
+
+_gsl_vector_complex_view
+gsl_matrix_complex_column (gsl_matrix_complex * m, const size_t j);
+
+_gsl_vector_complex_view
+gsl_matrix_complex_diagonal (gsl_matrix_complex * m);
+
+_gsl_vector_complex_view
+gsl_matrix_complex_subdiagonal (gsl_matrix_complex * m, const size_t k);
+
+_gsl_vector_complex_view
+gsl_matrix_complex_superdiagonal (gsl_matrix_complex * m, const size_t k);
+
+_gsl_vector_complex_view
+gsl_matrix_complex_subrow (gsl_matrix_complex * m,
+ const size_t i, const size_t offset,
+ const size_t n);
+
+_gsl_vector_complex_view
+gsl_matrix_complex_subcolumn (gsl_matrix_complex * m,
+ const size_t j, const size_t offset,
+ const size_t n);
+
+_gsl_matrix_complex_view
+gsl_matrix_complex_view_array (double * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_view
+gsl_matrix_complex_view_array_with_tda (double * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_complex_view
+gsl_matrix_complex_view_vector (gsl_vector_complex * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_view
+gsl_matrix_complex_view_vector_with_tda (gsl_vector_complex * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_complex_const_view
+gsl_matrix_complex_const_submatrix (const gsl_matrix_complex * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_complex_const_view
+gsl_matrix_complex_const_row (const gsl_matrix_complex * m,
+ const size_t i);
+
+_gsl_vector_complex_const_view
+gsl_matrix_complex_const_column (const gsl_matrix_complex * m,
+ const size_t j);
+
+_gsl_vector_complex_const_view
+gsl_matrix_complex_const_diagonal (const gsl_matrix_complex * m);
+
+_gsl_vector_complex_const_view
+gsl_matrix_complex_const_subdiagonal (const gsl_matrix_complex * m,
+ const size_t k);
+
+_gsl_vector_complex_const_view
+gsl_matrix_complex_const_superdiagonal (const gsl_matrix_complex * m,
+ const size_t k);
+
+_gsl_vector_complex_const_view
+gsl_matrix_complex_const_subrow (const gsl_matrix_complex * m,
+ const size_t i, const size_t offset,
+ const size_t n);
+
+_gsl_vector_complex_const_view
+gsl_matrix_complex_const_subcolumn (const gsl_matrix_complex * m,
+ const size_t j, const size_t offset,
+ const size_t n);
+
+_gsl_matrix_complex_const_view
+gsl_matrix_complex_const_view_array (const double * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_const_view
+gsl_matrix_complex_const_view_array_with_tda (const double * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_complex_const_view
+gsl_matrix_complex_const_view_vector (const gsl_vector_complex * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_const_view
+gsl_matrix_complex_const_view_vector_with_tda (const gsl_vector_complex * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_complex_set_zero (gsl_matrix_complex * m);
+void gsl_matrix_complex_set_identity (gsl_matrix_complex * m);
+void gsl_matrix_complex_set_all (gsl_matrix_complex * m, gsl_complex x);
+
+int gsl_matrix_complex_fread (FILE * stream, gsl_matrix_complex * m) ;
+int gsl_matrix_complex_fwrite (FILE * stream, const gsl_matrix_complex * m) ;
+int gsl_matrix_complex_fscanf (FILE * stream, gsl_matrix_complex * m);
+int gsl_matrix_complex_fprintf (FILE * stream, const gsl_matrix_complex * m, const char * format);
+
+int gsl_matrix_complex_memcpy(gsl_matrix_complex * dest, const gsl_matrix_complex * src);
+int gsl_matrix_complex_swap(gsl_matrix_complex * m1, gsl_matrix_complex * m2);
+
+int gsl_matrix_complex_swap_rows(gsl_matrix_complex * m, const size_t i, const size_t j);
+int gsl_matrix_complex_swap_columns(gsl_matrix_complex * m, const size_t i, const size_t j);
+int gsl_matrix_complex_swap_rowcol(gsl_matrix_complex * m, const size_t i, const size_t j);
+
+int gsl_matrix_complex_transpose (gsl_matrix_complex * m);
+int gsl_matrix_complex_transpose_memcpy (gsl_matrix_complex * dest, const gsl_matrix_complex * src);
+
+int gsl_matrix_complex_equal (const gsl_matrix_complex * a, const gsl_matrix_complex * b);
+
+int gsl_matrix_complex_isnull (const gsl_matrix_complex * m);
+int gsl_matrix_complex_ispos (const gsl_matrix_complex * m);
+int gsl_matrix_complex_isneg (const gsl_matrix_complex * m);
+int gsl_matrix_complex_isnonneg (const gsl_matrix_complex * m);
+
+int gsl_matrix_complex_add (gsl_matrix_complex * a, const gsl_matrix_complex * b);
+int gsl_matrix_complex_sub (gsl_matrix_complex * a, const gsl_matrix_complex * b);
+int gsl_matrix_complex_mul_elements (gsl_matrix_complex * a, const gsl_matrix_complex * b);
+int gsl_matrix_complex_div_elements (gsl_matrix_complex * a, const gsl_matrix_complex * b);
+int gsl_matrix_complex_scale (gsl_matrix_complex * a, const gsl_complex x);
+int gsl_matrix_complex_add_constant (gsl_matrix_complex * a, const gsl_complex x);
+int gsl_matrix_complex_add_diagonal (gsl_matrix_complex * a, const gsl_complex x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_complex_get_row(gsl_vector_complex * v, const gsl_matrix_complex * m, const size_t i);
+int gsl_matrix_complex_get_col(gsl_vector_complex * v, const gsl_matrix_complex * m, const size_t j);
+int gsl_matrix_complex_set_row(gsl_matrix_complex * m, const size_t i, const gsl_vector_complex * v);
+int gsl_matrix_complex_set_col(gsl_matrix_complex * m, const size_t j, const gsl_vector_complex * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL gsl_complex gsl_matrix_complex_get(const gsl_matrix_complex * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_complex_set(gsl_matrix_complex * m, const size_t i, const size_t j, const gsl_complex x);
+
+INLINE_DECL gsl_complex * gsl_matrix_complex_ptr(gsl_matrix_complex * m, const size_t i, const size_t j);
+INLINE_DECL const gsl_complex * gsl_matrix_complex_const_ptr(const gsl_matrix_complex * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+gsl_complex
+gsl_matrix_complex_get(const gsl_matrix_complex * m,
+ const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ gsl_complex zero = {{0,0}};
+
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, zero) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, zero) ;
+ }
+ }
+#endif
+ return *(gsl_complex *)(m->data + 2*(i * m->tda + j)) ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_complex_set(gsl_matrix_complex * m,
+ const size_t i, const size_t j, const gsl_complex x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ *(gsl_complex *)(m->data + 2*(i * m->tda + j)) = x ;
+}
+
+INLINE_FUN
+gsl_complex *
+gsl_matrix_complex_ptr(gsl_matrix_complex * m,
+ const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (gsl_complex *)(m->data + 2*(i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const gsl_complex *
+gsl_matrix_complex_const_ptr(const gsl_matrix_complex * m,
+ const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const gsl_complex *)(m->data + 2*(i * m->tda + j)) ;
+}
+
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_COMPLEX_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_complex_float.h b/thirdparty/includes/GSL/gsl/gsl_matrix_complex_float.h
new file mode 100644
index 0000000..807ace4
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_complex_float.h
@@ -0,0 +1,351 @@
+/* matrix/gsl_matrix_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_MATRIX_COMPLEX_FLOAT_H__
+#define __GSL_MATRIX_COMPLEX_FLOAT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_complex_float.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ float * data;
+ gsl_block_complex_float * block;
+ int owner;
+} gsl_matrix_complex_float ;
+
+typedef struct
+{
+ gsl_matrix_complex_float matrix;
+} _gsl_matrix_complex_float_view;
+
+typedef _gsl_matrix_complex_float_view gsl_matrix_complex_float_view;
+
+typedef struct
+{
+ gsl_matrix_complex_float matrix;
+} _gsl_matrix_complex_float_const_view;
+
+typedef const _gsl_matrix_complex_float_const_view gsl_matrix_complex_float_const_view;
+
+
+/* Allocation */
+
+gsl_matrix_complex_float *
+gsl_matrix_complex_float_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_complex_float *
+gsl_matrix_complex_float_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_complex_float *
+gsl_matrix_complex_float_alloc_from_block (gsl_block_complex_float * b,
+ const size_t offset,
+ const size_t n1, const size_t n2, const size_t d2);
+
+gsl_matrix_complex_float *
+gsl_matrix_complex_float_alloc_from_matrix (gsl_matrix_complex_float * b,
+ const size_t k1, const size_t k2,
+ const size_t n1, const size_t n2);
+
+gsl_vector_complex_float *
+gsl_vector_complex_float_alloc_row_from_matrix (gsl_matrix_complex_float * m,
+ const size_t i);
+
+gsl_vector_complex_float *
+gsl_vector_complex_float_alloc_col_from_matrix (gsl_matrix_complex_float * m,
+ const size_t j);
+
+void gsl_matrix_complex_float_free (gsl_matrix_complex_float * m);
+
+/* Views */
+
+_gsl_matrix_complex_float_view
+gsl_matrix_complex_float_submatrix (gsl_matrix_complex_float * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_complex_float_view
+gsl_matrix_complex_float_row (gsl_matrix_complex_float * m, const size_t i);
+
+_gsl_vector_complex_float_view
+gsl_matrix_complex_float_column (gsl_matrix_complex_float * m, const size_t j);
+
+_gsl_vector_complex_float_view
+gsl_matrix_complex_float_diagonal (gsl_matrix_complex_float * m);
+
+_gsl_vector_complex_float_view
+gsl_matrix_complex_float_subdiagonal (gsl_matrix_complex_float * m, const size_t k);
+
+_gsl_vector_complex_float_view
+gsl_matrix_complex_float_superdiagonal (gsl_matrix_complex_float * m, const size_t k);
+
+_gsl_vector_complex_float_view
+gsl_matrix_complex_float_subrow (gsl_matrix_complex_float * m,
+ const size_t i, const size_t offset,
+ const size_t n);
+
+_gsl_vector_complex_float_view
+gsl_matrix_complex_float_subcolumn (gsl_matrix_complex_float * m,
+ const size_t j, const size_t offset,
+ const size_t n);
+
+_gsl_matrix_complex_float_view
+gsl_matrix_complex_float_view_array (float * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_float_view
+gsl_matrix_complex_float_view_array_with_tda (float * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_complex_float_view
+gsl_matrix_complex_float_view_vector (gsl_vector_complex_float * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_float_view
+gsl_matrix_complex_float_view_vector_with_tda (gsl_vector_complex_float * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_complex_float_const_view
+gsl_matrix_complex_float_const_submatrix (const gsl_matrix_complex_float * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_complex_float_const_view
+gsl_matrix_complex_float_const_row (const gsl_matrix_complex_float * m,
+ const size_t i);
+
+_gsl_vector_complex_float_const_view
+gsl_matrix_complex_float_const_column (const gsl_matrix_complex_float * m,
+ const size_t j);
+
+_gsl_vector_complex_float_const_view
+gsl_matrix_complex_float_const_diagonal (const gsl_matrix_complex_float * m);
+
+_gsl_vector_complex_float_const_view
+gsl_matrix_complex_float_const_subdiagonal (const gsl_matrix_complex_float * m,
+ const size_t k);
+
+_gsl_vector_complex_float_const_view
+gsl_matrix_complex_float_const_superdiagonal (const gsl_matrix_complex_float * m,
+ const size_t k);
+
+_gsl_vector_complex_float_const_view
+gsl_matrix_complex_float_const_subrow (const gsl_matrix_complex_float * m,
+ const size_t i, const size_t offset,
+ const size_t n);
+
+_gsl_vector_complex_float_const_view
+gsl_matrix_complex_float_const_subcolumn (const gsl_matrix_complex_float * m,
+ const size_t j, const size_t offset,
+ const size_t n);
+
+_gsl_matrix_complex_float_const_view
+gsl_matrix_complex_float_const_view_array (const float * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_float_const_view
+gsl_matrix_complex_float_const_view_array_with_tda (const float * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_complex_float_const_view
+gsl_matrix_complex_float_const_view_vector (const gsl_vector_complex_float * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_float_const_view
+gsl_matrix_complex_float_const_view_vector_with_tda (const gsl_vector_complex_float * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_complex_float_set_zero (gsl_matrix_complex_float * m);
+void gsl_matrix_complex_float_set_identity (gsl_matrix_complex_float * m);
+void gsl_matrix_complex_float_set_all (gsl_matrix_complex_float * m, gsl_complex_float x);
+
+int gsl_matrix_complex_float_fread (FILE * stream, gsl_matrix_complex_float * m) ;
+int gsl_matrix_complex_float_fwrite (FILE * stream, const gsl_matrix_complex_float * m) ;
+int gsl_matrix_complex_float_fscanf (FILE * stream, gsl_matrix_complex_float * m);
+int gsl_matrix_complex_float_fprintf (FILE * stream, const gsl_matrix_complex_float * m, const char * format);
+
+int gsl_matrix_complex_float_memcpy(gsl_matrix_complex_float * dest, const gsl_matrix_complex_float * src);
+int gsl_matrix_complex_float_swap(gsl_matrix_complex_float * m1, gsl_matrix_complex_float * m2);
+
+int gsl_matrix_complex_float_swap_rows(gsl_matrix_complex_float * m, const size_t i, const size_t j);
+int gsl_matrix_complex_float_swap_columns(gsl_matrix_complex_float * m, const size_t i, const size_t j);
+int gsl_matrix_complex_float_swap_rowcol(gsl_matrix_complex_float * m, const size_t i, const size_t j);
+
+int gsl_matrix_complex_float_transpose (gsl_matrix_complex_float * m);
+int gsl_matrix_complex_float_transpose_memcpy (gsl_matrix_complex_float * dest, const gsl_matrix_complex_float * src);
+
+int gsl_matrix_complex_float_equal (const gsl_matrix_complex_float * a, const gsl_matrix_complex_float * b);
+
+int gsl_matrix_complex_float_isnull (const gsl_matrix_complex_float * m);
+int gsl_matrix_complex_float_ispos (const gsl_matrix_complex_float * m);
+int gsl_matrix_complex_float_isneg (const gsl_matrix_complex_float * m);
+int gsl_matrix_complex_float_isnonneg (const gsl_matrix_complex_float * m);
+
+int gsl_matrix_complex_float_add (gsl_matrix_complex_float * a, const gsl_matrix_complex_float * b);
+int gsl_matrix_complex_float_sub (gsl_matrix_complex_float * a, const gsl_matrix_complex_float * b);
+int gsl_matrix_complex_float_mul_elements (gsl_matrix_complex_float * a, const gsl_matrix_complex_float * b);
+int gsl_matrix_complex_float_div_elements (gsl_matrix_complex_float * a, const gsl_matrix_complex_float * b);
+int gsl_matrix_complex_float_scale (gsl_matrix_complex_float * a, const gsl_complex_float x);
+int gsl_matrix_complex_float_add_constant (gsl_matrix_complex_float * a, const gsl_complex_float x);
+int gsl_matrix_complex_float_add_diagonal (gsl_matrix_complex_float * a, const gsl_complex_float x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_complex_float_get_row(gsl_vector_complex_float * v, const gsl_matrix_complex_float * m, const size_t i);
+int gsl_matrix_complex_float_get_col(gsl_vector_complex_float * v, const gsl_matrix_complex_float * m, const size_t j);
+int gsl_matrix_complex_float_set_row(gsl_matrix_complex_float * m, const size_t i, const gsl_vector_complex_float * v);
+int gsl_matrix_complex_float_set_col(gsl_matrix_complex_float * m, const size_t j, const gsl_vector_complex_float * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL gsl_complex_float gsl_matrix_complex_float_get(const gsl_matrix_complex_float * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_complex_float_set(gsl_matrix_complex_float * m, const size_t i, const size_t j, const gsl_complex_float x);
+
+INLINE_DECL gsl_complex_float * gsl_matrix_complex_float_ptr(gsl_matrix_complex_float * m, const size_t i, const size_t j);
+INLINE_DECL const gsl_complex_float * gsl_matrix_complex_float_const_ptr(const gsl_matrix_complex_float * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+gsl_complex_float
+gsl_matrix_complex_float_get(const gsl_matrix_complex_float * m,
+ const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ gsl_complex_float zero = {{0,0}};
+
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, zero) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, zero) ;
+ }
+ }
+#endif
+ return *(gsl_complex_float *)(m->data + 2*(i * m->tda + j)) ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_complex_float_set(gsl_matrix_complex_float * m,
+ const size_t i, const size_t j, const gsl_complex_float x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ *(gsl_complex_float *)(m->data + 2*(i * m->tda + j)) = x ;
+}
+
+INLINE_FUN
+gsl_complex_float *
+gsl_matrix_complex_float_ptr(gsl_matrix_complex_float * m,
+ const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (gsl_complex_float *)(m->data + 2*(i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const gsl_complex_float *
+gsl_matrix_complex_float_const_ptr(const gsl_matrix_complex_float * m,
+ const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const gsl_complex_float *)(m->data + 2*(i * m->tda + j)) ;
+}
+
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_COMPLEX_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_complex_long_double.h b/thirdparty/includes/GSL/gsl/gsl_matrix_complex_long_double.h
new file mode 100644
index 0000000..b68ccb6
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_complex_long_double.h
@@ -0,0 +1,351 @@
+/* matrix/gsl_matrix_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_MATRIX_COMPLEX_LONG_DOUBLE_H__
+#define __GSL_MATRIX_COMPLEX_LONG_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_complex_long_double.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ long double * data;
+ gsl_block_complex_long_double * block;
+ int owner;
+} gsl_matrix_complex_long_double ;
+
+typedef struct
+{
+ gsl_matrix_complex_long_double matrix;
+} _gsl_matrix_complex_long_double_view;
+
+typedef _gsl_matrix_complex_long_double_view gsl_matrix_complex_long_double_view;
+
+typedef struct
+{
+ gsl_matrix_complex_long_double matrix;
+} _gsl_matrix_complex_long_double_const_view;
+
+typedef const _gsl_matrix_complex_long_double_const_view gsl_matrix_complex_long_double_const_view;
+
+
+/* Allocation */
+
+gsl_matrix_complex_long_double *
+gsl_matrix_complex_long_double_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_complex_long_double *
+gsl_matrix_complex_long_double_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_complex_long_double *
+gsl_matrix_complex_long_double_alloc_from_block (gsl_block_complex_long_double * b,
+ const size_t offset,
+ const size_t n1, const size_t n2, const size_t d2);
+
+gsl_matrix_complex_long_double *
+gsl_matrix_complex_long_double_alloc_from_matrix (gsl_matrix_complex_long_double * b,
+ const size_t k1, const size_t k2,
+ const size_t n1, const size_t n2);
+
+gsl_vector_complex_long_double *
+gsl_vector_complex_long_double_alloc_row_from_matrix (gsl_matrix_complex_long_double * m,
+ const size_t i);
+
+gsl_vector_complex_long_double *
+gsl_vector_complex_long_double_alloc_col_from_matrix (gsl_matrix_complex_long_double * m,
+ const size_t j);
+
+void gsl_matrix_complex_long_double_free (gsl_matrix_complex_long_double * m);
+
+/* Views */
+
+_gsl_matrix_complex_long_double_view
+gsl_matrix_complex_long_double_submatrix (gsl_matrix_complex_long_double * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_complex_long_double_view
+gsl_matrix_complex_long_double_row (gsl_matrix_complex_long_double * m, const size_t i);
+
+_gsl_vector_complex_long_double_view
+gsl_matrix_complex_long_double_column (gsl_matrix_complex_long_double * m, const size_t j);
+
+_gsl_vector_complex_long_double_view
+gsl_matrix_complex_long_double_diagonal (gsl_matrix_complex_long_double * m);
+
+_gsl_vector_complex_long_double_view
+gsl_matrix_complex_long_double_subdiagonal (gsl_matrix_complex_long_double * m, const size_t k);
+
+_gsl_vector_complex_long_double_view
+gsl_matrix_complex_long_double_superdiagonal (gsl_matrix_complex_long_double * m, const size_t k);
+
+_gsl_vector_complex_long_double_view
+gsl_matrix_complex_long_double_subrow (gsl_matrix_complex_long_double * m,
+ const size_t i, const size_t offset,
+ const size_t n);
+
+_gsl_vector_complex_long_double_view
+gsl_matrix_complex_long_double_subcolumn (gsl_matrix_complex_long_double * m,
+ const size_t j, const size_t offset,
+ const size_t n);
+
+_gsl_matrix_complex_long_double_view
+gsl_matrix_complex_long_double_view_array (long double * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_long_double_view
+gsl_matrix_complex_long_double_view_array_with_tda (long double * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_complex_long_double_view
+gsl_matrix_complex_long_double_view_vector (gsl_vector_complex_long_double * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_long_double_view
+gsl_matrix_complex_long_double_view_vector_with_tda (gsl_vector_complex_long_double * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_submatrix (const gsl_matrix_complex_long_double * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_row (const gsl_matrix_complex_long_double * m,
+ const size_t i);
+
+_gsl_vector_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_column (const gsl_matrix_complex_long_double * m,
+ const size_t j);
+
+_gsl_vector_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_diagonal (const gsl_matrix_complex_long_double * m);
+
+_gsl_vector_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_subdiagonal (const gsl_matrix_complex_long_double * m,
+ const size_t k);
+
+_gsl_vector_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_superdiagonal (const gsl_matrix_complex_long_double * m,
+ const size_t k);
+
+_gsl_vector_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_subrow (const gsl_matrix_complex_long_double * m,
+ const size_t i, const size_t offset,
+ const size_t n);
+
+_gsl_vector_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_subcolumn (const gsl_matrix_complex_long_double * m,
+ const size_t j, const size_t offset,
+ const size_t n);
+
+_gsl_matrix_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_view_array (const long double * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_view_array_with_tda (const long double * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_view_vector (const gsl_vector_complex_long_double * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_complex_long_double_const_view
+gsl_matrix_complex_long_double_const_view_vector_with_tda (const gsl_vector_complex_long_double * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_complex_long_double_set_zero (gsl_matrix_complex_long_double * m);
+void gsl_matrix_complex_long_double_set_identity (gsl_matrix_complex_long_double * m);
+void gsl_matrix_complex_long_double_set_all (gsl_matrix_complex_long_double * m, gsl_complex_long_double x);
+
+int gsl_matrix_complex_long_double_fread (FILE * stream, gsl_matrix_complex_long_double * m) ;
+int gsl_matrix_complex_long_double_fwrite (FILE * stream, const gsl_matrix_complex_long_double * m) ;
+int gsl_matrix_complex_long_double_fscanf (FILE * stream, gsl_matrix_complex_long_double * m);
+int gsl_matrix_complex_long_double_fprintf (FILE * stream, const gsl_matrix_complex_long_double * m, const char * format);
+
+int gsl_matrix_complex_long_double_memcpy(gsl_matrix_complex_long_double * dest, const gsl_matrix_complex_long_double * src);
+int gsl_matrix_complex_long_double_swap(gsl_matrix_complex_long_double * m1, gsl_matrix_complex_long_double * m2);
+
+int gsl_matrix_complex_long_double_swap_rows(gsl_matrix_complex_long_double * m, const size_t i, const size_t j);
+int gsl_matrix_complex_long_double_swap_columns(gsl_matrix_complex_long_double * m, const size_t i, const size_t j);
+int gsl_matrix_complex_long_double_swap_rowcol(gsl_matrix_complex_long_double * m, const size_t i, const size_t j);
+
+int gsl_matrix_complex_long_double_transpose (gsl_matrix_complex_long_double * m);
+int gsl_matrix_complex_long_double_transpose_memcpy (gsl_matrix_complex_long_double * dest, const gsl_matrix_complex_long_double * src);
+
+int gsl_matrix_complex_long_double_equal (const gsl_matrix_complex_long_double * a, const gsl_matrix_complex_long_double * b);
+
+int gsl_matrix_complex_long_double_isnull (const gsl_matrix_complex_long_double * m);
+int gsl_matrix_complex_long_double_ispos (const gsl_matrix_complex_long_double * m);
+int gsl_matrix_complex_long_double_isneg (const gsl_matrix_complex_long_double * m);
+int gsl_matrix_complex_long_double_isnonneg (const gsl_matrix_complex_long_double * m);
+
+int gsl_matrix_complex_long_double_add (gsl_matrix_complex_long_double * a, const gsl_matrix_complex_long_double * b);
+int gsl_matrix_complex_long_double_sub (gsl_matrix_complex_long_double * a, const gsl_matrix_complex_long_double * b);
+int gsl_matrix_complex_long_double_mul_elements (gsl_matrix_complex_long_double * a, const gsl_matrix_complex_long_double * b);
+int gsl_matrix_complex_long_double_div_elements (gsl_matrix_complex_long_double * a, const gsl_matrix_complex_long_double * b);
+int gsl_matrix_complex_long_double_scale (gsl_matrix_complex_long_double * a, const gsl_complex_long_double x);
+int gsl_matrix_complex_long_double_add_constant (gsl_matrix_complex_long_double * a, const gsl_complex_long_double x);
+int gsl_matrix_complex_long_double_add_diagonal (gsl_matrix_complex_long_double * a, const gsl_complex_long_double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_complex_long_double_get_row(gsl_vector_complex_long_double * v, const gsl_matrix_complex_long_double * m, const size_t i);
+int gsl_matrix_complex_long_double_get_col(gsl_vector_complex_long_double * v, const gsl_matrix_complex_long_double * m, const size_t j);
+int gsl_matrix_complex_long_double_set_row(gsl_matrix_complex_long_double * m, const size_t i, const gsl_vector_complex_long_double * v);
+int gsl_matrix_complex_long_double_set_col(gsl_matrix_complex_long_double * m, const size_t j, const gsl_vector_complex_long_double * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL gsl_complex_long_double gsl_matrix_complex_long_double_get(const gsl_matrix_complex_long_double * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_complex_long_double_set(gsl_matrix_complex_long_double * m, const size_t i, const size_t j, const gsl_complex_long_double x);
+
+INLINE_DECL gsl_complex_long_double * gsl_matrix_complex_long_double_ptr(gsl_matrix_complex_long_double * m, const size_t i, const size_t j);
+INLINE_DECL const gsl_complex_long_double * gsl_matrix_complex_long_double_const_ptr(const gsl_matrix_complex_long_double * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+gsl_complex_long_double
+gsl_matrix_complex_long_double_get(const gsl_matrix_complex_long_double * m,
+ const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ gsl_complex_long_double zero = {{0,0}};
+
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, zero) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, zero) ;
+ }
+ }
+#endif
+ return *(gsl_complex_long_double *)(m->data + 2*(i * m->tda + j)) ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_complex_long_double_set(gsl_matrix_complex_long_double * m,
+ const size_t i, const size_t j, const gsl_complex_long_double x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ *(gsl_complex_long_double *)(m->data + 2*(i * m->tda + j)) = x ;
+}
+
+INLINE_FUN
+gsl_complex_long_double *
+gsl_matrix_complex_long_double_ptr(gsl_matrix_complex_long_double * m,
+ const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (gsl_complex_long_double *)(m->data + 2*(i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const gsl_complex_long_double *
+gsl_matrix_complex_long_double_const_ptr(const gsl_matrix_complex_long_double * m,
+ const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const gsl_complex_long_double *)(m->data + 2*(i * m->tda + j)) ;
+}
+
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_COMPLEX_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_double.h b/thirdparty/includes/GSL/gsl/gsl_matrix_double.h
new file mode 100644
index 0000000..6356695
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_double.h
@@ -0,0 +1,350 @@
+/* matrix/gsl_matrix_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_MATRIX_DOUBLE_H__
+#define __GSL_MATRIX_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_double.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ double * data;
+ gsl_block * block;
+ int owner;
+} gsl_matrix;
+
+typedef struct
+{
+ gsl_matrix matrix;
+} _gsl_matrix_view;
+
+typedef _gsl_matrix_view gsl_matrix_view;
+
+typedef struct
+{
+ gsl_matrix matrix;
+} _gsl_matrix_const_view;
+
+typedef const _gsl_matrix_const_view gsl_matrix_const_view;
+
+/* Allocation */
+
+gsl_matrix *
+gsl_matrix_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix *
+gsl_matrix_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix *
+gsl_matrix_alloc_from_block (gsl_block * b,
+ const size_t offset,
+ const size_t n1,
+ const size_t n2,
+ const size_t d2);
+
+gsl_matrix *
+gsl_matrix_alloc_from_matrix (gsl_matrix * m,
+ const size_t k1,
+ const size_t k2,
+ const size_t n1,
+ const size_t n2);
+
+gsl_vector *
+gsl_vector_alloc_row_from_matrix (gsl_matrix * m,
+ const size_t i);
+
+gsl_vector *
+gsl_vector_alloc_col_from_matrix (gsl_matrix * m,
+ const size_t j);
+
+void gsl_matrix_free (gsl_matrix * m);
+
+/* Views */
+
+_gsl_matrix_view
+gsl_matrix_submatrix (gsl_matrix * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_view
+gsl_matrix_row (gsl_matrix * m, const size_t i);
+
+_gsl_vector_view
+gsl_matrix_column (gsl_matrix * m, const size_t j);
+
+_gsl_vector_view
+gsl_matrix_diagonal (gsl_matrix * m);
+
+_gsl_vector_view
+gsl_matrix_subdiagonal (gsl_matrix * m, const size_t k);
+
+_gsl_vector_view
+gsl_matrix_superdiagonal (gsl_matrix * m, const size_t k);
+
+_gsl_vector_view
+gsl_matrix_subrow (gsl_matrix * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_view
+gsl_matrix_subcolumn (gsl_matrix * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_view
+gsl_matrix_view_array (double * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_view
+gsl_matrix_view_array_with_tda (double * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_view
+gsl_matrix_view_vector (gsl_vector * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_view
+gsl_matrix_view_vector_with_tda (gsl_vector * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_const_view
+gsl_matrix_const_submatrix (const gsl_matrix * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_const_view
+gsl_matrix_const_row (const gsl_matrix * m,
+ const size_t i);
+
+_gsl_vector_const_view
+gsl_matrix_const_column (const gsl_matrix * m,
+ const size_t j);
+
+_gsl_vector_const_view
+gsl_matrix_const_diagonal (const gsl_matrix * m);
+
+_gsl_vector_const_view
+gsl_matrix_const_subdiagonal (const gsl_matrix * m,
+ const size_t k);
+
+_gsl_vector_const_view
+gsl_matrix_const_superdiagonal (const gsl_matrix * m,
+ const size_t k);
+
+_gsl_vector_const_view
+gsl_matrix_const_subrow (const gsl_matrix * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_const_view
+gsl_matrix_const_subcolumn (const gsl_matrix * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_const_view
+gsl_matrix_const_view_array (const double * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_const_view
+gsl_matrix_const_view_array_with_tda (const double * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_const_view
+gsl_matrix_const_view_vector (const gsl_vector * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_const_view
+gsl_matrix_const_view_vector_with_tda (const gsl_vector * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_set_zero (gsl_matrix * m);
+void gsl_matrix_set_identity (gsl_matrix * m);
+void gsl_matrix_set_all (gsl_matrix * m, double x);
+
+int gsl_matrix_fread (FILE * stream, gsl_matrix * m) ;
+int gsl_matrix_fwrite (FILE * stream, const gsl_matrix * m) ;
+int gsl_matrix_fscanf (FILE * stream, gsl_matrix * m);
+int gsl_matrix_fprintf (FILE * stream, const gsl_matrix * m, const char * format);
+
+int gsl_matrix_memcpy(gsl_matrix * dest, const gsl_matrix * src);
+int gsl_matrix_swap(gsl_matrix * m1, gsl_matrix * m2);
+
+int gsl_matrix_swap_rows(gsl_matrix * m, const size_t i, const size_t j);
+int gsl_matrix_swap_columns(gsl_matrix * m, const size_t i, const size_t j);
+int gsl_matrix_swap_rowcol(gsl_matrix * m, const size_t i, const size_t j);
+int gsl_matrix_transpose (gsl_matrix * m);
+int gsl_matrix_transpose_memcpy (gsl_matrix * dest, const gsl_matrix * src);
+
+double gsl_matrix_max (const gsl_matrix * m);
+double gsl_matrix_min (const gsl_matrix * m);
+void gsl_matrix_minmax (const gsl_matrix * m, double * min_out, double * max_out);
+
+void gsl_matrix_max_index (const gsl_matrix * m, size_t * imax, size_t *jmax);
+void gsl_matrix_min_index (const gsl_matrix * m, size_t * imin, size_t *jmin);
+void gsl_matrix_minmax_index (const gsl_matrix * m, size_t * imin, size_t * jmin, size_t * imax, size_t * jmax);
+
+int gsl_matrix_equal (const gsl_matrix * a, const gsl_matrix * b);
+
+int gsl_matrix_isnull (const gsl_matrix * m);
+int gsl_matrix_ispos (const gsl_matrix * m);
+int gsl_matrix_isneg (const gsl_matrix * m);
+int gsl_matrix_isnonneg (const gsl_matrix * m);
+
+int gsl_matrix_add (gsl_matrix * a, const gsl_matrix * b);
+int gsl_matrix_sub (gsl_matrix * a, const gsl_matrix * b);
+int gsl_matrix_mul_elements (gsl_matrix * a, const gsl_matrix * b);
+int gsl_matrix_div_elements (gsl_matrix * a, const gsl_matrix * b);
+int gsl_matrix_scale (gsl_matrix * a, const double x);
+int gsl_matrix_add_constant (gsl_matrix * a, const double x);
+int gsl_matrix_add_diagonal (gsl_matrix * a, const double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_get_row(gsl_vector * v, const gsl_matrix * m, const size_t i);
+int gsl_matrix_get_col(gsl_vector * v, const gsl_matrix * m, const size_t j);
+int gsl_matrix_set_row(gsl_matrix * m, const size_t i, const gsl_vector * v);
+int gsl_matrix_set_col(gsl_matrix * m, const size_t j, const gsl_vector * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL double gsl_matrix_get(const gsl_matrix * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_set(gsl_matrix * m, const size_t i, const size_t j, const double x);
+INLINE_DECL double * gsl_matrix_ptr(gsl_matrix * m, const size_t i, const size_t j);
+INLINE_DECL const double * gsl_matrix_const_ptr(const gsl_matrix * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+double
+gsl_matrix_get(const gsl_matrix * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, 0) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, 0) ;
+ }
+ }
+#endif
+ return m->data[i * m->tda + j] ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_set(gsl_matrix * m, const size_t i, const size_t j, const double x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ m->data[i * m->tda + j] = x ;
+}
+
+INLINE_FUN
+double *
+gsl_matrix_ptr(gsl_matrix * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (double *) (m->data + (i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const double *
+gsl_matrix_const_ptr(const gsl_matrix * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const double *) (m->data + (i * m->tda + j)) ;
+}
+
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_float.h b/thirdparty/includes/GSL/gsl/gsl_matrix_float.h
new file mode 100644
index 0000000..a91114c
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_float.h
@@ -0,0 +1,350 @@
+/* matrix/gsl_matrix_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_MATRIX_FLOAT_H__
+#define __GSL_MATRIX_FLOAT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_float.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ float * data;
+ gsl_block_float * block;
+ int owner;
+} gsl_matrix_float;
+
+typedef struct
+{
+ gsl_matrix_float matrix;
+} _gsl_matrix_float_view;
+
+typedef _gsl_matrix_float_view gsl_matrix_float_view;
+
+typedef struct
+{
+ gsl_matrix_float matrix;
+} _gsl_matrix_float_const_view;
+
+typedef const _gsl_matrix_float_const_view gsl_matrix_float_const_view;
+
+/* Allocation */
+
+gsl_matrix_float *
+gsl_matrix_float_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_float *
+gsl_matrix_float_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_float *
+gsl_matrix_float_alloc_from_block (gsl_block_float * b,
+ const size_t offset,
+ const size_t n1,
+ const size_t n2,
+ const size_t d2);
+
+gsl_matrix_float *
+gsl_matrix_float_alloc_from_matrix (gsl_matrix_float * m,
+ const size_t k1,
+ const size_t k2,
+ const size_t n1,
+ const size_t n2);
+
+gsl_vector_float *
+gsl_vector_float_alloc_row_from_matrix (gsl_matrix_float * m,
+ const size_t i);
+
+gsl_vector_float *
+gsl_vector_float_alloc_col_from_matrix (gsl_matrix_float * m,
+ const size_t j);
+
+void gsl_matrix_float_free (gsl_matrix_float * m);
+
+/* Views */
+
+_gsl_matrix_float_view
+gsl_matrix_float_submatrix (gsl_matrix_float * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_float_view
+gsl_matrix_float_row (gsl_matrix_float * m, const size_t i);
+
+_gsl_vector_float_view
+gsl_matrix_float_column (gsl_matrix_float * m, const size_t j);
+
+_gsl_vector_float_view
+gsl_matrix_float_diagonal (gsl_matrix_float * m);
+
+_gsl_vector_float_view
+gsl_matrix_float_subdiagonal (gsl_matrix_float * m, const size_t k);
+
+_gsl_vector_float_view
+gsl_matrix_float_superdiagonal (gsl_matrix_float * m, const size_t k);
+
+_gsl_vector_float_view
+gsl_matrix_float_subrow (gsl_matrix_float * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_float_view
+gsl_matrix_float_subcolumn (gsl_matrix_float * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_float_view
+gsl_matrix_float_view_array (float * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_float_view
+gsl_matrix_float_view_array_with_tda (float * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_float_view
+gsl_matrix_float_view_vector (gsl_vector_float * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_float_view
+gsl_matrix_float_view_vector_with_tda (gsl_vector_float * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_float_const_view
+gsl_matrix_float_const_submatrix (const gsl_matrix_float * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_float_const_view
+gsl_matrix_float_const_row (const gsl_matrix_float * m,
+ const size_t i);
+
+_gsl_vector_float_const_view
+gsl_matrix_float_const_column (const gsl_matrix_float * m,
+ const size_t j);
+
+_gsl_vector_float_const_view
+gsl_matrix_float_const_diagonal (const gsl_matrix_float * m);
+
+_gsl_vector_float_const_view
+gsl_matrix_float_const_subdiagonal (const gsl_matrix_float * m,
+ const size_t k);
+
+_gsl_vector_float_const_view
+gsl_matrix_float_const_superdiagonal (const gsl_matrix_float * m,
+ const size_t k);
+
+_gsl_vector_float_const_view
+gsl_matrix_float_const_subrow (const gsl_matrix_float * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_float_const_view
+gsl_matrix_float_const_subcolumn (const gsl_matrix_float * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_float_const_view
+gsl_matrix_float_const_view_array (const float * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_float_const_view
+gsl_matrix_float_const_view_array_with_tda (const float * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_float_const_view
+gsl_matrix_float_const_view_vector (const gsl_vector_float * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_float_const_view
+gsl_matrix_float_const_view_vector_with_tda (const gsl_vector_float * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_float_set_zero (gsl_matrix_float * m);
+void gsl_matrix_float_set_identity (gsl_matrix_float * m);
+void gsl_matrix_float_set_all (gsl_matrix_float * m, float x);
+
+int gsl_matrix_float_fread (FILE * stream, gsl_matrix_float * m) ;
+int gsl_matrix_float_fwrite (FILE * stream, const gsl_matrix_float * m) ;
+int gsl_matrix_float_fscanf (FILE * stream, gsl_matrix_float * m);
+int gsl_matrix_float_fprintf (FILE * stream, const gsl_matrix_float * m, const char * format);
+
+int gsl_matrix_float_memcpy(gsl_matrix_float * dest, const gsl_matrix_float * src);
+int gsl_matrix_float_swap(gsl_matrix_float * m1, gsl_matrix_float * m2);
+
+int gsl_matrix_float_swap_rows(gsl_matrix_float * m, const size_t i, const size_t j);
+int gsl_matrix_float_swap_columns(gsl_matrix_float * m, const size_t i, const size_t j);
+int gsl_matrix_float_swap_rowcol(gsl_matrix_float * m, const size_t i, const size_t j);
+int gsl_matrix_float_transpose (gsl_matrix_float * m);
+int gsl_matrix_float_transpose_memcpy (gsl_matrix_float * dest, const gsl_matrix_float * src);
+
+float gsl_matrix_float_max (const gsl_matrix_float * m);
+float gsl_matrix_float_min (const gsl_matrix_float * m);
+void gsl_matrix_float_minmax (const gsl_matrix_float * m, float * min_out, float * max_out);
+
+void gsl_matrix_float_max_index (const gsl_matrix_float * m, size_t * imax, size_t *jmax);
+void gsl_matrix_float_min_index (const gsl_matrix_float * m, size_t * imin, size_t *jmin);
+void gsl_matrix_float_minmax_index (const gsl_matrix_float * m, size_t * imin, size_t * jmin, size_t * imax, size_t * jmax);
+
+int gsl_matrix_float_equal (const gsl_matrix_float * a, const gsl_matrix_float * b);
+
+int gsl_matrix_float_isnull (const gsl_matrix_float * m);
+int gsl_matrix_float_ispos (const gsl_matrix_float * m);
+int gsl_matrix_float_isneg (const gsl_matrix_float * m);
+int gsl_matrix_float_isnonneg (const gsl_matrix_float * m);
+
+int gsl_matrix_float_add (gsl_matrix_float * a, const gsl_matrix_float * b);
+int gsl_matrix_float_sub (gsl_matrix_float * a, const gsl_matrix_float * b);
+int gsl_matrix_float_mul_elements (gsl_matrix_float * a, const gsl_matrix_float * b);
+int gsl_matrix_float_div_elements (gsl_matrix_float * a, const gsl_matrix_float * b);
+int gsl_matrix_float_scale (gsl_matrix_float * a, const double x);
+int gsl_matrix_float_add_constant (gsl_matrix_float * a, const double x);
+int gsl_matrix_float_add_diagonal (gsl_matrix_float * a, const double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_float_get_row(gsl_vector_float * v, const gsl_matrix_float * m, const size_t i);
+int gsl_matrix_float_get_col(gsl_vector_float * v, const gsl_matrix_float * m, const size_t j);
+int gsl_matrix_float_set_row(gsl_matrix_float * m, const size_t i, const gsl_vector_float * v);
+int gsl_matrix_float_set_col(gsl_matrix_float * m, const size_t j, const gsl_vector_float * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL float gsl_matrix_float_get(const gsl_matrix_float * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_float_set(gsl_matrix_float * m, const size_t i, const size_t j, const float x);
+INLINE_DECL float * gsl_matrix_float_ptr(gsl_matrix_float * m, const size_t i, const size_t j);
+INLINE_DECL const float * gsl_matrix_float_const_ptr(const gsl_matrix_float * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+float
+gsl_matrix_float_get(const gsl_matrix_float * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, 0) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, 0) ;
+ }
+ }
+#endif
+ return m->data[i * m->tda + j] ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_float_set(gsl_matrix_float * m, const size_t i, const size_t j, const float x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ m->data[i * m->tda + j] = x ;
+}
+
+INLINE_FUN
+float *
+gsl_matrix_float_ptr(gsl_matrix_float * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (float *) (m->data + (i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const float *
+gsl_matrix_float_const_ptr(const gsl_matrix_float * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const float *) (m->data + (i * m->tda + j)) ;
+}
+
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_int.h b/thirdparty/includes/GSL/gsl/gsl_matrix_int.h
new file mode 100644
index 0000000..a9b04c1
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_int.h
@@ -0,0 +1,350 @@
+/* matrix/gsl_matrix_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_MATRIX_INT_H__
+#define __GSL_MATRIX_INT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_int.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ int * data;
+ gsl_block_int * block;
+ int owner;
+} gsl_matrix_int;
+
+typedef struct
+{
+ gsl_matrix_int matrix;
+} _gsl_matrix_int_view;
+
+typedef _gsl_matrix_int_view gsl_matrix_int_view;
+
+typedef struct
+{
+ gsl_matrix_int matrix;
+} _gsl_matrix_int_const_view;
+
+typedef const _gsl_matrix_int_const_view gsl_matrix_int_const_view;
+
+/* Allocation */
+
+gsl_matrix_int *
+gsl_matrix_int_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_int *
+gsl_matrix_int_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_int *
+gsl_matrix_int_alloc_from_block (gsl_block_int * b,
+ const size_t offset,
+ const size_t n1,
+ const size_t n2,
+ const size_t d2);
+
+gsl_matrix_int *
+gsl_matrix_int_alloc_from_matrix (gsl_matrix_int * m,
+ const size_t k1,
+ const size_t k2,
+ const size_t n1,
+ const size_t n2);
+
+gsl_vector_int *
+gsl_vector_int_alloc_row_from_matrix (gsl_matrix_int * m,
+ const size_t i);
+
+gsl_vector_int *
+gsl_vector_int_alloc_col_from_matrix (gsl_matrix_int * m,
+ const size_t j);
+
+void gsl_matrix_int_free (gsl_matrix_int * m);
+
+/* Views */
+
+_gsl_matrix_int_view
+gsl_matrix_int_submatrix (gsl_matrix_int * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_int_view
+gsl_matrix_int_row (gsl_matrix_int * m, const size_t i);
+
+_gsl_vector_int_view
+gsl_matrix_int_column (gsl_matrix_int * m, const size_t j);
+
+_gsl_vector_int_view
+gsl_matrix_int_diagonal (gsl_matrix_int * m);
+
+_gsl_vector_int_view
+gsl_matrix_int_subdiagonal (gsl_matrix_int * m, const size_t k);
+
+_gsl_vector_int_view
+gsl_matrix_int_superdiagonal (gsl_matrix_int * m, const size_t k);
+
+_gsl_vector_int_view
+gsl_matrix_int_subrow (gsl_matrix_int * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_int_view
+gsl_matrix_int_subcolumn (gsl_matrix_int * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_int_view
+gsl_matrix_int_view_array (int * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_int_view
+gsl_matrix_int_view_array_with_tda (int * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_int_view
+gsl_matrix_int_view_vector (gsl_vector_int * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_int_view
+gsl_matrix_int_view_vector_with_tda (gsl_vector_int * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_int_const_view
+gsl_matrix_int_const_submatrix (const gsl_matrix_int * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_int_const_view
+gsl_matrix_int_const_row (const gsl_matrix_int * m,
+ const size_t i);
+
+_gsl_vector_int_const_view
+gsl_matrix_int_const_column (const gsl_matrix_int * m,
+ const size_t j);
+
+_gsl_vector_int_const_view
+gsl_matrix_int_const_diagonal (const gsl_matrix_int * m);
+
+_gsl_vector_int_const_view
+gsl_matrix_int_const_subdiagonal (const gsl_matrix_int * m,
+ const size_t k);
+
+_gsl_vector_int_const_view
+gsl_matrix_int_const_superdiagonal (const gsl_matrix_int * m,
+ const size_t k);
+
+_gsl_vector_int_const_view
+gsl_matrix_int_const_subrow (const gsl_matrix_int * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_int_const_view
+gsl_matrix_int_const_subcolumn (const gsl_matrix_int * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_int_const_view
+gsl_matrix_int_const_view_array (const int * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_int_const_view
+gsl_matrix_int_const_view_array_with_tda (const int * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_int_const_view
+gsl_matrix_int_const_view_vector (const gsl_vector_int * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_int_const_view
+gsl_matrix_int_const_view_vector_with_tda (const gsl_vector_int * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_int_set_zero (gsl_matrix_int * m);
+void gsl_matrix_int_set_identity (gsl_matrix_int * m);
+void gsl_matrix_int_set_all (gsl_matrix_int * m, int x);
+
+int gsl_matrix_int_fread (FILE * stream, gsl_matrix_int * m) ;
+int gsl_matrix_int_fwrite (FILE * stream, const gsl_matrix_int * m) ;
+int gsl_matrix_int_fscanf (FILE * stream, gsl_matrix_int * m);
+int gsl_matrix_int_fprintf (FILE * stream, const gsl_matrix_int * m, const char * format);
+
+int gsl_matrix_int_memcpy(gsl_matrix_int * dest, const gsl_matrix_int * src);
+int gsl_matrix_int_swap(gsl_matrix_int * m1, gsl_matrix_int * m2);
+
+int gsl_matrix_int_swap_rows(gsl_matrix_int * m, const size_t i, const size_t j);
+int gsl_matrix_int_swap_columns(gsl_matrix_int * m, const size_t i, const size_t j);
+int gsl_matrix_int_swap_rowcol(gsl_matrix_int * m, const size_t i, const size_t j);
+int gsl_matrix_int_transpose (gsl_matrix_int * m);
+int gsl_matrix_int_transpose_memcpy (gsl_matrix_int * dest, const gsl_matrix_int * src);
+
+int gsl_matrix_int_max (const gsl_matrix_int * m);
+int gsl_matrix_int_min (const gsl_matrix_int * m);
+void gsl_matrix_int_minmax (const gsl_matrix_int * m, int * min_out, int * max_out);
+
+void gsl_matrix_int_max_index (const gsl_matrix_int * m, size_t * imax, size_t *jmax);
+void gsl_matrix_int_min_index (const gsl_matrix_int * m, size_t * imin, size_t *jmin);
+void gsl_matrix_int_minmax_index (const gsl_matrix_int * m, size_t * imin, size_t * jmin, size_t * imax, size_t * jmax);
+
+int gsl_matrix_int_equal (const gsl_matrix_int * a, const gsl_matrix_int * b);
+
+int gsl_matrix_int_isnull (const gsl_matrix_int * m);
+int gsl_matrix_int_ispos (const gsl_matrix_int * m);
+int gsl_matrix_int_isneg (const gsl_matrix_int * m);
+int gsl_matrix_int_isnonneg (const gsl_matrix_int * m);
+
+int gsl_matrix_int_add (gsl_matrix_int * a, const gsl_matrix_int * b);
+int gsl_matrix_int_sub (gsl_matrix_int * a, const gsl_matrix_int * b);
+int gsl_matrix_int_mul_elements (gsl_matrix_int * a, const gsl_matrix_int * b);
+int gsl_matrix_int_div_elements (gsl_matrix_int * a, const gsl_matrix_int * b);
+int gsl_matrix_int_scale (gsl_matrix_int * a, const double x);
+int gsl_matrix_int_add_constant (gsl_matrix_int * a, const double x);
+int gsl_matrix_int_add_diagonal (gsl_matrix_int * a, const double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_int_get_row(gsl_vector_int * v, const gsl_matrix_int * m, const size_t i);
+int gsl_matrix_int_get_col(gsl_vector_int * v, const gsl_matrix_int * m, const size_t j);
+int gsl_matrix_int_set_row(gsl_matrix_int * m, const size_t i, const gsl_vector_int * v);
+int gsl_matrix_int_set_col(gsl_matrix_int * m, const size_t j, const gsl_vector_int * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL int gsl_matrix_int_get(const gsl_matrix_int * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_int_set(gsl_matrix_int * m, const size_t i, const size_t j, const int x);
+INLINE_DECL int * gsl_matrix_int_ptr(gsl_matrix_int * m, const size_t i, const size_t j);
+INLINE_DECL const int * gsl_matrix_int_const_ptr(const gsl_matrix_int * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+int
+gsl_matrix_int_get(const gsl_matrix_int * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, 0) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, 0) ;
+ }
+ }
+#endif
+ return m->data[i * m->tda + j] ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_int_set(gsl_matrix_int * m, const size_t i, const size_t j, const int x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ m->data[i * m->tda + j] = x ;
+}
+
+INLINE_FUN
+int *
+gsl_matrix_int_ptr(gsl_matrix_int * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (int *) (m->data + (i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const int *
+gsl_matrix_int_const_ptr(const gsl_matrix_int * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const int *) (m->data + (i * m->tda + j)) ;
+}
+
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_INT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_long.h b/thirdparty/includes/GSL/gsl/gsl_matrix_long.h
new file mode 100644
index 0000000..ff85a18
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_long.h
@@ -0,0 +1,350 @@
+/* matrix/gsl_matrix_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_MATRIX_LONG_H__
+#define __GSL_MATRIX_LONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_long.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ long * data;
+ gsl_block_long * block;
+ int owner;
+} gsl_matrix_long;
+
+typedef struct
+{
+ gsl_matrix_long matrix;
+} _gsl_matrix_long_view;
+
+typedef _gsl_matrix_long_view gsl_matrix_long_view;
+
+typedef struct
+{
+ gsl_matrix_long matrix;
+} _gsl_matrix_long_const_view;
+
+typedef const _gsl_matrix_long_const_view gsl_matrix_long_const_view;
+
+/* Allocation */
+
+gsl_matrix_long *
+gsl_matrix_long_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_long *
+gsl_matrix_long_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_long *
+gsl_matrix_long_alloc_from_block (gsl_block_long * b,
+ const size_t offset,
+ const size_t n1,
+ const size_t n2,
+ const size_t d2);
+
+gsl_matrix_long *
+gsl_matrix_long_alloc_from_matrix (gsl_matrix_long * m,
+ const size_t k1,
+ const size_t k2,
+ const size_t n1,
+ const size_t n2);
+
+gsl_vector_long *
+gsl_vector_long_alloc_row_from_matrix (gsl_matrix_long * m,
+ const size_t i);
+
+gsl_vector_long *
+gsl_vector_long_alloc_col_from_matrix (gsl_matrix_long * m,
+ const size_t j);
+
+void gsl_matrix_long_free (gsl_matrix_long * m);
+
+/* Views */
+
+_gsl_matrix_long_view
+gsl_matrix_long_submatrix (gsl_matrix_long * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_long_view
+gsl_matrix_long_row (gsl_matrix_long * m, const size_t i);
+
+_gsl_vector_long_view
+gsl_matrix_long_column (gsl_matrix_long * m, const size_t j);
+
+_gsl_vector_long_view
+gsl_matrix_long_diagonal (gsl_matrix_long * m);
+
+_gsl_vector_long_view
+gsl_matrix_long_subdiagonal (gsl_matrix_long * m, const size_t k);
+
+_gsl_vector_long_view
+gsl_matrix_long_superdiagonal (gsl_matrix_long * m, const size_t k);
+
+_gsl_vector_long_view
+gsl_matrix_long_subrow (gsl_matrix_long * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_long_view
+gsl_matrix_long_subcolumn (gsl_matrix_long * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_long_view
+gsl_matrix_long_view_array (long * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_long_view
+gsl_matrix_long_view_array_with_tda (long * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_long_view
+gsl_matrix_long_view_vector (gsl_vector_long * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_long_view
+gsl_matrix_long_view_vector_with_tda (gsl_vector_long * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_long_const_view
+gsl_matrix_long_const_submatrix (const gsl_matrix_long * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_long_const_view
+gsl_matrix_long_const_row (const gsl_matrix_long * m,
+ const size_t i);
+
+_gsl_vector_long_const_view
+gsl_matrix_long_const_column (const gsl_matrix_long * m,
+ const size_t j);
+
+_gsl_vector_long_const_view
+gsl_matrix_long_const_diagonal (const gsl_matrix_long * m);
+
+_gsl_vector_long_const_view
+gsl_matrix_long_const_subdiagonal (const gsl_matrix_long * m,
+ const size_t k);
+
+_gsl_vector_long_const_view
+gsl_matrix_long_const_superdiagonal (const gsl_matrix_long * m,
+ const size_t k);
+
+_gsl_vector_long_const_view
+gsl_matrix_long_const_subrow (const gsl_matrix_long * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_long_const_view
+gsl_matrix_long_const_subcolumn (const gsl_matrix_long * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_long_const_view
+gsl_matrix_long_const_view_array (const long * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_long_const_view
+gsl_matrix_long_const_view_array_with_tda (const long * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_long_const_view
+gsl_matrix_long_const_view_vector (const gsl_vector_long * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_long_const_view
+gsl_matrix_long_const_view_vector_with_tda (const gsl_vector_long * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_long_set_zero (gsl_matrix_long * m);
+void gsl_matrix_long_set_identity (gsl_matrix_long * m);
+void gsl_matrix_long_set_all (gsl_matrix_long * m, long x);
+
+int gsl_matrix_long_fread (FILE * stream, gsl_matrix_long * m) ;
+int gsl_matrix_long_fwrite (FILE * stream, const gsl_matrix_long * m) ;
+int gsl_matrix_long_fscanf (FILE * stream, gsl_matrix_long * m);
+int gsl_matrix_long_fprintf (FILE * stream, const gsl_matrix_long * m, const char * format);
+
+int gsl_matrix_long_memcpy(gsl_matrix_long * dest, const gsl_matrix_long * src);
+int gsl_matrix_long_swap(gsl_matrix_long * m1, gsl_matrix_long * m2);
+
+int gsl_matrix_long_swap_rows(gsl_matrix_long * m, const size_t i, const size_t j);
+int gsl_matrix_long_swap_columns(gsl_matrix_long * m, const size_t i, const size_t j);
+int gsl_matrix_long_swap_rowcol(gsl_matrix_long * m, const size_t i, const size_t j);
+int gsl_matrix_long_transpose (gsl_matrix_long * m);
+int gsl_matrix_long_transpose_memcpy (gsl_matrix_long * dest, const gsl_matrix_long * src);
+
+long gsl_matrix_long_max (const gsl_matrix_long * m);
+long gsl_matrix_long_min (const gsl_matrix_long * m);
+void gsl_matrix_long_minmax (const gsl_matrix_long * m, long * min_out, long * max_out);
+
+void gsl_matrix_long_max_index (const gsl_matrix_long * m, size_t * imax, size_t *jmax);
+void gsl_matrix_long_min_index (const gsl_matrix_long * m, size_t * imin, size_t *jmin);
+void gsl_matrix_long_minmax_index (const gsl_matrix_long * m, size_t * imin, size_t * jmin, size_t * imax, size_t * jmax);
+
+int gsl_matrix_long_equal (const gsl_matrix_long * a, const gsl_matrix_long * b);
+
+int gsl_matrix_long_isnull (const gsl_matrix_long * m);
+int gsl_matrix_long_ispos (const gsl_matrix_long * m);
+int gsl_matrix_long_isneg (const gsl_matrix_long * m);
+int gsl_matrix_long_isnonneg (const gsl_matrix_long * m);
+
+int gsl_matrix_long_add (gsl_matrix_long * a, const gsl_matrix_long * b);
+int gsl_matrix_long_sub (gsl_matrix_long * a, const gsl_matrix_long * b);
+int gsl_matrix_long_mul_elements (gsl_matrix_long * a, const gsl_matrix_long * b);
+int gsl_matrix_long_div_elements (gsl_matrix_long * a, const gsl_matrix_long * b);
+int gsl_matrix_long_scale (gsl_matrix_long * a, const double x);
+int gsl_matrix_long_add_constant (gsl_matrix_long * a, const double x);
+int gsl_matrix_long_add_diagonal (gsl_matrix_long * a, const double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_long_get_row(gsl_vector_long * v, const gsl_matrix_long * m, const size_t i);
+int gsl_matrix_long_get_col(gsl_vector_long * v, const gsl_matrix_long * m, const size_t j);
+int gsl_matrix_long_set_row(gsl_matrix_long * m, const size_t i, const gsl_vector_long * v);
+int gsl_matrix_long_set_col(gsl_matrix_long * m, const size_t j, const gsl_vector_long * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL long gsl_matrix_long_get(const gsl_matrix_long * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_long_set(gsl_matrix_long * m, const size_t i, const size_t j, const long x);
+INLINE_DECL long * gsl_matrix_long_ptr(gsl_matrix_long * m, const size_t i, const size_t j);
+INLINE_DECL const long * gsl_matrix_long_const_ptr(const gsl_matrix_long * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+long
+gsl_matrix_long_get(const gsl_matrix_long * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, 0) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, 0) ;
+ }
+ }
+#endif
+ return m->data[i * m->tda + j] ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_long_set(gsl_matrix_long * m, const size_t i, const size_t j, const long x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ m->data[i * m->tda + j] = x ;
+}
+
+INLINE_FUN
+long *
+gsl_matrix_long_ptr(gsl_matrix_long * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (long *) (m->data + (i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const long *
+gsl_matrix_long_const_ptr(const gsl_matrix_long * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const long *) (m->data + (i * m->tda + j)) ;
+}
+
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_LONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_long_double.h b/thirdparty/includes/GSL/gsl/gsl_matrix_long_double.h
new file mode 100644
index 0000000..910091f
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_long_double.h
@@ -0,0 +1,350 @@
+/* matrix/gsl_matrix_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_MATRIX_LONG_DOUBLE_H__
+#define __GSL_MATRIX_LONG_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_long_double.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ long double * data;
+ gsl_block_long_double * block;
+ int owner;
+} gsl_matrix_long_double;
+
+typedef struct
+{
+ gsl_matrix_long_double matrix;
+} _gsl_matrix_long_double_view;
+
+typedef _gsl_matrix_long_double_view gsl_matrix_long_double_view;
+
+typedef struct
+{
+ gsl_matrix_long_double matrix;
+} _gsl_matrix_long_double_const_view;
+
+typedef const _gsl_matrix_long_double_const_view gsl_matrix_long_double_const_view;
+
+/* Allocation */
+
+gsl_matrix_long_double *
+gsl_matrix_long_double_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_long_double *
+gsl_matrix_long_double_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_long_double *
+gsl_matrix_long_double_alloc_from_block (gsl_block_long_double * b,
+ const size_t offset,
+ const size_t n1,
+ const size_t n2,
+ const size_t d2);
+
+gsl_matrix_long_double *
+gsl_matrix_long_double_alloc_from_matrix (gsl_matrix_long_double * m,
+ const size_t k1,
+ const size_t k2,
+ const size_t n1,
+ const size_t n2);
+
+gsl_vector_long_double *
+gsl_vector_long_double_alloc_row_from_matrix (gsl_matrix_long_double * m,
+ const size_t i);
+
+gsl_vector_long_double *
+gsl_vector_long_double_alloc_col_from_matrix (gsl_matrix_long_double * m,
+ const size_t j);
+
+void gsl_matrix_long_double_free (gsl_matrix_long_double * m);
+
+/* Views */
+
+_gsl_matrix_long_double_view
+gsl_matrix_long_double_submatrix (gsl_matrix_long_double * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_long_double_view
+gsl_matrix_long_double_row (gsl_matrix_long_double * m, const size_t i);
+
+_gsl_vector_long_double_view
+gsl_matrix_long_double_column (gsl_matrix_long_double * m, const size_t j);
+
+_gsl_vector_long_double_view
+gsl_matrix_long_double_diagonal (gsl_matrix_long_double * m);
+
+_gsl_vector_long_double_view
+gsl_matrix_long_double_subdiagonal (gsl_matrix_long_double * m, const size_t k);
+
+_gsl_vector_long_double_view
+gsl_matrix_long_double_superdiagonal (gsl_matrix_long_double * m, const size_t k);
+
+_gsl_vector_long_double_view
+gsl_matrix_long_double_subrow (gsl_matrix_long_double * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_long_double_view
+gsl_matrix_long_double_subcolumn (gsl_matrix_long_double * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_long_double_view
+gsl_matrix_long_double_view_array (long double * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_long_double_view
+gsl_matrix_long_double_view_array_with_tda (long double * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_long_double_view
+gsl_matrix_long_double_view_vector (gsl_vector_long_double * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_long_double_view
+gsl_matrix_long_double_view_vector_with_tda (gsl_vector_long_double * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_long_double_const_view
+gsl_matrix_long_double_const_submatrix (const gsl_matrix_long_double * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_long_double_const_view
+gsl_matrix_long_double_const_row (const gsl_matrix_long_double * m,
+ const size_t i);
+
+_gsl_vector_long_double_const_view
+gsl_matrix_long_double_const_column (const gsl_matrix_long_double * m,
+ const size_t j);
+
+_gsl_vector_long_double_const_view
+gsl_matrix_long_double_const_diagonal (const gsl_matrix_long_double * m);
+
+_gsl_vector_long_double_const_view
+gsl_matrix_long_double_const_subdiagonal (const gsl_matrix_long_double * m,
+ const size_t k);
+
+_gsl_vector_long_double_const_view
+gsl_matrix_long_double_const_superdiagonal (const gsl_matrix_long_double * m,
+ const size_t k);
+
+_gsl_vector_long_double_const_view
+gsl_matrix_long_double_const_subrow (const gsl_matrix_long_double * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_long_double_const_view
+gsl_matrix_long_double_const_subcolumn (const gsl_matrix_long_double * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_long_double_const_view
+gsl_matrix_long_double_const_view_array (const long double * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_long_double_const_view
+gsl_matrix_long_double_const_view_array_with_tda (const long double * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_long_double_const_view
+gsl_matrix_long_double_const_view_vector (const gsl_vector_long_double * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_long_double_const_view
+gsl_matrix_long_double_const_view_vector_with_tda (const gsl_vector_long_double * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_long_double_set_zero (gsl_matrix_long_double * m);
+void gsl_matrix_long_double_set_identity (gsl_matrix_long_double * m);
+void gsl_matrix_long_double_set_all (gsl_matrix_long_double * m, long double x);
+
+int gsl_matrix_long_double_fread (FILE * stream, gsl_matrix_long_double * m) ;
+int gsl_matrix_long_double_fwrite (FILE * stream, const gsl_matrix_long_double * m) ;
+int gsl_matrix_long_double_fscanf (FILE * stream, gsl_matrix_long_double * m);
+int gsl_matrix_long_double_fprintf (FILE * stream, const gsl_matrix_long_double * m, const char * format);
+
+int gsl_matrix_long_double_memcpy(gsl_matrix_long_double * dest, const gsl_matrix_long_double * src);
+int gsl_matrix_long_double_swap(gsl_matrix_long_double * m1, gsl_matrix_long_double * m2);
+
+int gsl_matrix_long_double_swap_rows(gsl_matrix_long_double * m, const size_t i, const size_t j);
+int gsl_matrix_long_double_swap_columns(gsl_matrix_long_double * m, const size_t i, const size_t j);
+int gsl_matrix_long_double_swap_rowcol(gsl_matrix_long_double * m, const size_t i, const size_t j);
+int gsl_matrix_long_double_transpose (gsl_matrix_long_double * m);
+int gsl_matrix_long_double_transpose_memcpy (gsl_matrix_long_double * dest, const gsl_matrix_long_double * src);
+
+long double gsl_matrix_long_double_max (const gsl_matrix_long_double * m);
+long double gsl_matrix_long_double_min (const gsl_matrix_long_double * m);
+void gsl_matrix_long_double_minmax (const gsl_matrix_long_double * m, long double * min_out, long double * max_out);
+
+void gsl_matrix_long_double_max_index (const gsl_matrix_long_double * m, size_t * imax, size_t *jmax);
+void gsl_matrix_long_double_min_index (const gsl_matrix_long_double * m, size_t * imin, size_t *jmin);
+void gsl_matrix_long_double_minmax_index (const gsl_matrix_long_double * m, size_t * imin, size_t * jmin, size_t * imax, size_t * jmax);
+
+int gsl_matrix_long_double_equal (const gsl_matrix_long_double * a, const gsl_matrix_long_double * b);
+
+int gsl_matrix_long_double_isnull (const gsl_matrix_long_double * m);
+int gsl_matrix_long_double_ispos (const gsl_matrix_long_double * m);
+int gsl_matrix_long_double_isneg (const gsl_matrix_long_double * m);
+int gsl_matrix_long_double_isnonneg (const gsl_matrix_long_double * m);
+
+int gsl_matrix_long_double_add (gsl_matrix_long_double * a, const gsl_matrix_long_double * b);
+int gsl_matrix_long_double_sub (gsl_matrix_long_double * a, const gsl_matrix_long_double * b);
+int gsl_matrix_long_double_mul_elements (gsl_matrix_long_double * a, const gsl_matrix_long_double * b);
+int gsl_matrix_long_double_div_elements (gsl_matrix_long_double * a, const gsl_matrix_long_double * b);
+int gsl_matrix_long_double_scale (gsl_matrix_long_double * a, const double x);
+int gsl_matrix_long_double_add_constant (gsl_matrix_long_double * a, const double x);
+int gsl_matrix_long_double_add_diagonal (gsl_matrix_long_double * a, const double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_long_double_get_row(gsl_vector_long_double * v, const gsl_matrix_long_double * m, const size_t i);
+int gsl_matrix_long_double_get_col(gsl_vector_long_double * v, const gsl_matrix_long_double * m, const size_t j);
+int gsl_matrix_long_double_set_row(gsl_matrix_long_double * m, const size_t i, const gsl_vector_long_double * v);
+int gsl_matrix_long_double_set_col(gsl_matrix_long_double * m, const size_t j, const gsl_vector_long_double * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL long double gsl_matrix_long_double_get(const gsl_matrix_long_double * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_long_double_set(gsl_matrix_long_double * m, const size_t i, const size_t j, const long double x);
+INLINE_DECL long double * gsl_matrix_long_double_ptr(gsl_matrix_long_double * m, const size_t i, const size_t j);
+INLINE_DECL const long double * gsl_matrix_long_double_const_ptr(const gsl_matrix_long_double * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+long double
+gsl_matrix_long_double_get(const gsl_matrix_long_double * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, 0) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, 0) ;
+ }
+ }
+#endif
+ return m->data[i * m->tda + j] ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_long_double_set(gsl_matrix_long_double * m, const size_t i, const size_t j, const long double x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ m->data[i * m->tda + j] = x ;
+}
+
+INLINE_FUN
+long double *
+gsl_matrix_long_double_ptr(gsl_matrix_long_double * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (long double *) (m->data + (i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const long double *
+gsl_matrix_long_double_const_ptr(const gsl_matrix_long_double * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const long double *) (m->data + (i * m->tda + j)) ;
+}
+
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_short.h b/thirdparty/includes/GSL/gsl/gsl_matrix_short.h
new file mode 100644
index 0000000..53e89e6
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_short.h
@@ -0,0 +1,350 @@
+/* matrix/gsl_matrix_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_MATRIX_SHORT_H__
+#define __GSL_MATRIX_SHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_short.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ short * data;
+ gsl_block_short * block;
+ int owner;
+} gsl_matrix_short;
+
+typedef struct
+{
+ gsl_matrix_short matrix;
+} _gsl_matrix_short_view;
+
+typedef _gsl_matrix_short_view gsl_matrix_short_view;
+
+typedef struct
+{
+ gsl_matrix_short matrix;
+} _gsl_matrix_short_const_view;
+
+typedef const _gsl_matrix_short_const_view gsl_matrix_short_const_view;
+
+/* Allocation */
+
+gsl_matrix_short *
+gsl_matrix_short_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_short *
+gsl_matrix_short_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_short *
+gsl_matrix_short_alloc_from_block (gsl_block_short * b,
+ const size_t offset,
+ const size_t n1,
+ const size_t n2,
+ const size_t d2);
+
+gsl_matrix_short *
+gsl_matrix_short_alloc_from_matrix (gsl_matrix_short * m,
+ const size_t k1,
+ const size_t k2,
+ const size_t n1,
+ const size_t n2);
+
+gsl_vector_short *
+gsl_vector_short_alloc_row_from_matrix (gsl_matrix_short * m,
+ const size_t i);
+
+gsl_vector_short *
+gsl_vector_short_alloc_col_from_matrix (gsl_matrix_short * m,
+ const size_t j);
+
+void gsl_matrix_short_free (gsl_matrix_short * m);
+
+/* Views */
+
+_gsl_matrix_short_view
+gsl_matrix_short_submatrix (gsl_matrix_short * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_short_view
+gsl_matrix_short_row (gsl_matrix_short * m, const size_t i);
+
+_gsl_vector_short_view
+gsl_matrix_short_column (gsl_matrix_short * m, const size_t j);
+
+_gsl_vector_short_view
+gsl_matrix_short_diagonal (gsl_matrix_short * m);
+
+_gsl_vector_short_view
+gsl_matrix_short_subdiagonal (gsl_matrix_short * m, const size_t k);
+
+_gsl_vector_short_view
+gsl_matrix_short_superdiagonal (gsl_matrix_short * m, const size_t k);
+
+_gsl_vector_short_view
+gsl_matrix_short_subrow (gsl_matrix_short * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_short_view
+gsl_matrix_short_subcolumn (gsl_matrix_short * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_short_view
+gsl_matrix_short_view_array (short * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_short_view
+gsl_matrix_short_view_array_with_tda (short * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_short_view
+gsl_matrix_short_view_vector (gsl_vector_short * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_short_view
+gsl_matrix_short_view_vector_with_tda (gsl_vector_short * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_short_const_view
+gsl_matrix_short_const_submatrix (const gsl_matrix_short * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_short_const_view
+gsl_matrix_short_const_row (const gsl_matrix_short * m,
+ const size_t i);
+
+_gsl_vector_short_const_view
+gsl_matrix_short_const_column (const gsl_matrix_short * m,
+ const size_t j);
+
+_gsl_vector_short_const_view
+gsl_matrix_short_const_diagonal (const gsl_matrix_short * m);
+
+_gsl_vector_short_const_view
+gsl_matrix_short_const_subdiagonal (const gsl_matrix_short * m,
+ const size_t k);
+
+_gsl_vector_short_const_view
+gsl_matrix_short_const_superdiagonal (const gsl_matrix_short * m,
+ const size_t k);
+
+_gsl_vector_short_const_view
+gsl_matrix_short_const_subrow (const gsl_matrix_short * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_short_const_view
+gsl_matrix_short_const_subcolumn (const gsl_matrix_short * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_short_const_view
+gsl_matrix_short_const_view_array (const short * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_short_const_view
+gsl_matrix_short_const_view_array_with_tda (const short * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_short_const_view
+gsl_matrix_short_const_view_vector (const gsl_vector_short * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_short_const_view
+gsl_matrix_short_const_view_vector_with_tda (const gsl_vector_short * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_short_set_zero (gsl_matrix_short * m);
+void gsl_matrix_short_set_identity (gsl_matrix_short * m);
+void gsl_matrix_short_set_all (gsl_matrix_short * m, short x);
+
+int gsl_matrix_short_fread (FILE * stream, gsl_matrix_short * m) ;
+int gsl_matrix_short_fwrite (FILE * stream, const gsl_matrix_short * m) ;
+int gsl_matrix_short_fscanf (FILE * stream, gsl_matrix_short * m);
+int gsl_matrix_short_fprintf (FILE * stream, const gsl_matrix_short * m, const char * format);
+
+int gsl_matrix_short_memcpy(gsl_matrix_short * dest, const gsl_matrix_short * src);
+int gsl_matrix_short_swap(gsl_matrix_short * m1, gsl_matrix_short * m2);
+
+int gsl_matrix_short_swap_rows(gsl_matrix_short * m, const size_t i, const size_t j);
+int gsl_matrix_short_swap_columns(gsl_matrix_short * m, const size_t i, const size_t j);
+int gsl_matrix_short_swap_rowcol(gsl_matrix_short * m, const size_t i, const size_t j);
+int gsl_matrix_short_transpose (gsl_matrix_short * m);
+int gsl_matrix_short_transpose_memcpy (gsl_matrix_short * dest, const gsl_matrix_short * src);
+
+short gsl_matrix_short_max (const gsl_matrix_short * m);
+short gsl_matrix_short_min (const gsl_matrix_short * m);
+void gsl_matrix_short_minmax (const gsl_matrix_short * m, short * min_out, short * max_out);
+
+void gsl_matrix_short_max_index (const gsl_matrix_short * m, size_t * imax, size_t *jmax);
+void gsl_matrix_short_min_index (const gsl_matrix_short * m, size_t * imin, size_t *jmin);
+void gsl_matrix_short_minmax_index (const gsl_matrix_short * m, size_t * imin, size_t * jmin, size_t * imax, size_t * jmax);
+
+int gsl_matrix_short_equal (const gsl_matrix_short * a, const gsl_matrix_short * b);
+
+int gsl_matrix_short_isnull (const gsl_matrix_short * m);
+int gsl_matrix_short_ispos (const gsl_matrix_short * m);
+int gsl_matrix_short_isneg (const gsl_matrix_short * m);
+int gsl_matrix_short_isnonneg (const gsl_matrix_short * m);
+
+int gsl_matrix_short_add (gsl_matrix_short * a, const gsl_matrix_short * b);
+int gsl_matrix_short_sub (gsl_matrix_short * a, const gsl_matrix_short * b);
+int gsl_matrix_short_mul_elements (gsl_matrix_short * a, const gsl_matrix_short * b);
+int gsl_matrix_short_div_elements (gsl_matrix_short * a, const gsl_matrix_short * b);
+int gsl_matrix_short_scale (gsl_matrix_short * a, const double x);
+int gsl_matrix_short_add_constant (gsl_matrix_short * a, const double x);
+int gsl_matrix_short_add_diagonal (gsl_matrix_short * a, const double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_short_get_row(gsl_vector_short * v, const gsl_matrix_short * m, const size_t i);
+int gsl_matrix_short_get_col(gsl_vector_short * v, const gsl_matrix_short * m, const size_t j);
+int gsl_matrix_short_set_row(gsl_matrix_short * m, const size_t i, const gsl_vector_short * v);
+int gsl_matrix_short_set_col(gsl_matrix_short * m, const size_t j, const gsl_vector_short * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL short gsl_matrix_short_get(const gsl_matrix_short * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_short_set(gsl_matrix_short * m, const size_t i, const size_t j, const short x);
+INLINE_DECL short * gsl_matrix_short_ptr(gsl_matrix_short * m, const size_t i, const size_t j);
+INLINE_DECL const short * gsl_matrix_short_const_ptr(const gsl_matrix_short * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+short
+gsl_matrix_short_get(const gsl_matrix_short * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, 0) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, 0) ;
+ }
+ }
+#endif
+ return m->data[i * m->tda + j] ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_short_set(gsl_matrix_short * m, const size_t i, const size_t j, const short x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ m->data[i * m->tda + j] = x ;
+}
+
+INLINE_FUN
+short *
+gsl_matrix_short_ptr(gsl_matrix_short * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (short *) (m->data + (i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const short *
+gsl_matrix_short_const_ptr(const gsl_matrix_short * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const short *) (m->data + (i * m->tda + j)) ;
+}
+
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_SHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_uchar.h b/thirdparty/includes/GSL/gsl/gsl_matrix_uchar.h
new file mode 100644
index 0000000..0ab540f
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_uchar.h
@@ -0,0 +1,350 @@
+/* matrix/gsl_matrix_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_MATRIX_UCHAR_H__
+#define __GSL_MATRIX_UCHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_uchar.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ unsigned char * data;
+ gsl_block_uchar * block;
+ int owner;
+} gsl_matrix_uchar;
+
+typedef struct
+{
+ gsl_matrix_uchar matrix;
+} _gsl_matrix_uchar_view;
+
+typedef _gsl_matrix_uchar_view gsl_matrix_uchar_view;
+
+typedef struct
+{
+ gsl_matrix_uchar matrix;
+} _gsl_matrix_uchar_const_view;
+
+typedef const _gsl_matrix_uchar_const_view gsl_matrix_uchar_const_view;
+
+/* Allocation */
+
+gsl_matrix_uchar *
+gsl_matrix_uchar_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_uchar *
+gsl_matrix_uchar_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_uchar *
+gsl_matrix_uchar_alloc_from_block (gsl_block_uchar * b,
+ const size_t offset,
+ const size_t n1,
+ const size_t n2,
+ const size_t d2);
+
+gsl_matrix_uchar *
+gsl_matrix_uchar_alloc_from_matrix (gsl_matrix_uchar * m,
+ const size_t k1,
+ const size_t k2,
+ const size_t n1,
+ const size_t n2);
+
+gsl_vector_uchar *
+gsl_vector_uchar_alloc_row_from_matrix (gsl_matrix_uchar * m,
+ const size_t i);
+
+gsl_vector_uchar *
+gsl_vector_uchar_alloc_col_from_matrix (gsl_matrix_uchar * m,
+ const size_t j);
+
+void gsl_matrix_uchar_free (gsl_matrix_uchar * m);
+
+/* Views */
+
+_gsl_matrix_uchar_view
+gsl_matrix_uchar_submatrix (gsl_matrix_uchar * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_uchar_view
+gsl_matrix_uchar_row (gsl_matrix_uchar * m, const size_t i);
+
+_gsl_vector_uchar_view
+gsl_matrix_uchar_column (gsl_matrix_uchar * m, const size_t j);
+
+_gsl_vector_uchar_view
+gsl_matrix_uchar_diagonal (gsl_matrix_uchar * m);
+
+_gsl_vector_uchar_view
+gsl_matrix_uchar_subdiagonal (gsl_matrix_uchar * m, const size_t k);
+
+_gsl_vector_uchar_view
+gsl_matrix_uchar_superdiagonal (gsl_matrix_uchar * m, const size_t k);
+
+_gsl_vector_uchar_view
+gsl_matrix_uchar_subrow (gsl_matrix_uchar * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_uchar_view
+gsl_matrix_uchar_subcolumn (gsl_matrix_uchar * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_uchar_view
+gsl_matrix_uchar_view_array (unsigned char * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_uchar_view
+gsl_matrix_uchar_view_array_with_tda (unsigned char * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_uchar_view
+gsl_matrix_uchar_view_vector (gsl_vector_uchar * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_uchar_view
+gsl_matrix_uchar_view_vector_with_tda (gsl_vector_uchar * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_uchar_const_view
+gsl_matrix_uchar_const_submatrix (const gsl_matrix_uchar * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_uchar_const_view
+gsl_matrix_uchar_const_row (const gsl_matrix_uchar * m,
+ const size_t i);
+
+_gsl_vector_uchar_const_view
+gsl_matrix_uchar_const_column (const gsl_matrix_uchar * m,
+ const size_t j);
+
+_gsl_vector_uchar_const_view
+gsl_matrix_uchar_const_diagonal (const gsl_matrix_uchar * m);
+
+_gsl_vector_uchar_const_view
+gsl_matrix_uchar_const_subdiagonal (const gsl_matrix_uchar * m,
+ const size_t k);
+
+_gsl_vector_uchar_const_view
+gsl_matrix_uchar_const_superdiagonal (const gsl_matrix_uchar * m,
+ const size_t k);
+
+_gsl_vector_uchar_const_view
+gsl_matrix_uchar_const_subrow (const gsl_matrix_uchar * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_uchar_const_view
+gsl_matrix_uchar_const_subcolumn (const gsl_matrix_uchar * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_uchar_const_view
+gsl_matrix_uchar_const_view_array (const unsigned char * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_uchar_const_view
+gsl_matrix_uchar_const_view_array_with_tda (const unsigned char * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_uchar_const_view
+gsl_matrix_uchar_const_view_vector (const gsl_vector_uchar * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_uchar_const_view
+gsl_matrix_uchar_const_view_vector_with_tda (const gsl_vector_uchar * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_uchar_set_zero (gsl_matrix_uchar * m);
+void gsl_matrix_uchar_set_identity (gsl_matrix_uchar * m);
+void gsl_matrix_uchar_set_all (gsl_matrix_uchar * m, unsigned char x);
+
+int gsl_matrix_uchar_fread (FILE * stream, gsl_matrix_uchar * m) ;
+int gsl_matrix_uchar_fwrite (FILE * stream, const gsl_matrix_uchar * m) ;
+int gsl_matrix_uchar_fscanf (FILE * stream, gsl_matrix_uchar * m);
+int gsl_matrix_uchar_fprintf (FILE * stream, const gsl_matrix_uchar * m, const char * format);
+
+int gsl_matrix_uchar_memcpy(gsl_matrix_uchar * dest, const gsl_matrix_uchar * src);
+int gsl_matrix_uchar_swap(gsl_matrix_uchar * m1, gsl_matrix_uchar * m2);
+
+int gsl_matrix_uchar_swap_rows(gsl_matrix_uchar * m, const size_t i, const size_t j);
+int gsl_matrix_uchar_swap_columns(gsl_matrix_uchar * m, const size_t i, const size_t j);
+int gsl_matrix_uchar_swap_rowcol(gsl_matrix_uchar * m, const size_t i, const size_t j);
+int gsl_matrix_uchar_transpose (gsl_matrix_uchar * m);
+int gsl_matrix_uchar_transpose_memcpy (gsl_matrix_uchar * dest, const gsl_matrix_uchar * src);
+
+unsigned char gsl_matrix_uchar_max (const gsl_matrix_uchar * m);
+unsigned char gsl_matrix_uchar_min (const gsl_matrix_uchar * m);
+void gsl_matrix_uchar_minmax (const gsl_matrix_uchar * m, unsigned char * min_out, unsigned char * max_out);
+
+void gsl_matrix_uchar_max_index (const gsl_matrix_uchar * m, size_t * imax, size_t *jmax);
+void gsl_matrix_uchar_min_index (const gsl_matrix_uchar * m, size_t * imin, size_t *jmin);
+void gsl_matrix_uchar_minmax_index (const gsl_matrix_uchar * m, size_t * imin, size_t * jmin, size_t * imax, size_t * jmax);
+
+int gsl_matrix_uchar_equal (const gsl_matrix_uchar * a, const gsl_matrix_uchar * b);
+
+int gsl_matrix_uchar_isnull (const gsl_matrix_uchar * m);
+int gsl_matrix_uchar_ispos (const gsl_matrix_uchar * m);
+int gsl_matrix_uchar_isneg (const gsl_matrix_uchar * m);
+int gsl_matrix_uchar_isnonneg (const gsl_matrix_uchar * m);
+
+int gsl_matrix_uchar_add (gsl_matrix_uchar * a, const gsl_matrix_uchar * b);
+int gsl_matrix_uchar_sub (gsl_matrix_uchar * a, const gsl_matrix_uchar * b);
+int gsl_matrix_uchar_mul_elements (gsl_matrix_uchar * a, const gsl_matrix_uchar * b);
+int gsl_matrix_uchar_div_elements (gsl_matrix_uchar * a, const gsl_matrix_uchar * b);
+int gsl_matrix_uchar_scale (gsl_matrix_uchar * a, const double x);
+int gsl_matrix_uchar_add_constant (gsl_matrix_uchar * a, const double x);
+int gsl_matrix_uchar_add_diagonal (gsl_matrix_uchar * a, const double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_uchar_get_row(gsl_vector_uchar * v, const gsl_matrix_uchar * m, const size_t i);
+int gsl_matrix_uchar_get_col(gsl_vector_uchar * v, const gsl_matrix_uchar * m, const size_t j);
+int gsl_matrix_uchar_set_row(gsl_matrix_uchar * m, const size_t i, const gsl_vector_uchar * v);
+int gsl_matrix_uchar_set_col(gsl_matrix_uchar * m, const size_t j, const gsl_vector_uchar * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL unsigned char gsl_matrix_uchar_get(const gsl_matrix_uchar * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_uchar_set(gsl_matrix_uchar * m, const size_t i, const size_t j, const unsigned char x);
+INLINE_DECL unsigned char * gsl_matrix_uchar_ptr(gsl_matrix_uchar * m, const size_t i, const size_t j);
+INLINE_DECL const unsigned char * gsl_matrix_uchar_const_ptr(const gsl_matrix_uchar * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+unsigned char
+gsl_matrix_uchar_get(const gsl_matrix_uchar * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, 0) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, 0) ;
+ }
+ }
+#endif
+ return m->data[i * m->tda + j] ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_uchar_set(gsl_matrix_uchar * m, const size_t i, const size_t j, const unsigned char x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ m->data[i * m->tda + j] = x ;
+}
+
+INLINE_FUN
+unsigned char *
+gsl_matrix_uchar_ptr(gsl_matrix_uchar * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (unsigned char *) (m->data + (i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const unsigned char *
+gsl_matrix_uchar_const_ptr(const gsl_matrix_uchar * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const unsigned char *) (m->data + (i * m->tda + j)) ;
+}
+
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_UCHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_uint.h b/thirdparty/includes/GSL/gsl/gsl_matrix_uint.h
new file mode 100644
index 0000000..abb2670
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_uint.h
@@ -0,0 +1,350 @@
+/* matrix/gsl_matrix_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_MATRIX_UINT_H__
+#define __GSL_MATRIX_UINT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_uint.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ unsigned int * data;
+ gsl_block_uint * block;
+ int owner;
+} gsl_matrix_uint;
+
+typedef struct
+{
+ gsl_matrix_uint matrix;
+} _gsl_matrix_uint_view;
+
+typedef _gsl_matrix_uint_view gsl_matrix_uint_view;
+
+typedef struct
+{
+ gsl_matrix_uint matrix;
+} _gsl_matrix_uint_const_view;
+
+typedef const _gsl_matrix_uint_const_view gsl_matrix_uint_const_view;
+
+/* Allocation */
+
+gsl_matrix_uint *
+gsl_matrix_uint_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_uint *
+gsl_matrix_uint_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_uint *
+gsl_matrix_uint_alloc_from_block (gsl_block_uint * b,
+ const size_t offset,
+ const size_t n1,
+ const size_t n2,
+ const size_t d2);
+
+gsl_matrix_uint *
+gsl_matrix_uint_alloc_from_matrix (gsl_matrix_uint * m,
+ const size_t k1,
+ const size_t k2,
+ const size_t n1,
+ const size_t n2);
+
+gsl_vector_uint *
+gsl_vector_uint_alloc_row_from_matrix (gsl_matrix_uint * m,
+ const size_t i);
+
+gsl_vector_uint *
+gsl_vector_uint_alloc_col_from_matrix (gsl_matrix_uint * m,
+ const size_t j);
+
+void gsl_matrix_uint_free (gsl_matrix_uint * m);
+
+/* Views */
+
+_gsl_matrix_uint_view
+gsl_matrix_uint_submatrix (gsl_matrix_uint * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_uint_view
+gsl_matrix_uint_row (gsl_matrix_uint * m, const size_t i);
+
+_gsl_vector_uint_view
+gsl_matrix_uint_column (gsl_matrix_uint * m, const size_t j);
+
+_gsl_vector_uint_view
+gsl_matrix_uint_diagonal (gsl_matrix_uint * m);
+
+_gsl_vector_uint_view
+gsl_matrix_uint_subdiagonal (gsl_matrix_uint * m, const size_t k);
+
+_gsl_vector_uint_view
+gsl_matrix_uint_superdiagonal (gsl_matrix_uint * m, const size_t k);
+
+_gsl_vector_uint_view
+gsl_matrix_uint_subrow (gsl_matrix_uint * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_uint_view
+gsl_matrix_uint_subcolumn (gsl_matrix_uint * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_uint_view
+gsl_matrix_uint_view_array (unsigned int * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_uint_view
+gsl_matrix_uint_view_array_with_tda (unsigned int * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_uint_view
+gsl_matrix_uint_view_vector (gsl_vector_uint * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_uint_view
+gsl_matrix_uint_view_vector_with_tda (gsl_vector_uint * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_uint_const_view
+gsl_matrix_uint_const_submatrix (const gsl_matrix_uint * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_uint_const_view
+gsl_matrix_uint_const_row (const gsl_matrix_uint * m,
+ const size_t i);
+
+_gsl_vector_uint_const_view
+gsl_matrix_uint_const_column (const gsl_matrix_uint * m,
+ const size_t j);
+
+_gsl_vector_uint_const_view
+gsl_matrix_uint_const_diagonal (const gsl_matrix_uint * m);
+
+_gsl_vector_uint_const_view
+gsl_matrix_uint_const_subdiagonal (const gsl_matrix_uint * m,
+ const size_t k);
+
+_gsl_vector_uint_const_view
+gsl_matrix_uint_const_superdiagonal (const gsl_matrix_uint * m,
+ const size_t k);
+
+_gsl_vector_uint_const_view
+gsl_matrix_uint_const_subrow (const gsl_matrix_uint * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_uint_const_view
+gsl_matrix_uint_const_subcolumn (const gsl_matrix_uint * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_uint_const_view
+gsl_matrix_uint_const_view_array (const unsigned int * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_uint_const_view
+gsl_matrix_uint_const_view_array_with_tda (const unsigned int * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_uint_const_view
+gsl_matrix_uint_const_view_vector (const gsl_vector_uint * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_uint_const_view
+gsl_matrix_uint_const_view_vector_with_tda (const gsl_vector_uint * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_uint_set_zero (gsl_matrix_uint * m);
+void gsl_matrix_uint_set_identity (gsl_matrix_uint * m);
+void gsl_matrix_uint_set_all (gsl_matrix_uint * m, unsigned int x);
+
+int gsl_matrix_uint_fread (FILE * stream, gsl_matrix_uint * m) ;
+int gsl_matrix_uint_fwrite (FILE * stream, const gsl_matrix_uint * m) ;
+int gsl_matrix_uint_fscanf (FILE * stream, gsl_matrix_uint * m);
+int gsl_matrix_uint_fprintf (FILE * stream, const gsl_matrix_uint * m, const char * format);
+
+int gsl_matrix_uint_memcpy(gsl_matrix_uint * dest, const gsl_matrix_uint * src);
+int gsl_matrix_uint_swap(gsl_matrix_uint * m1, gsl_matrix_uint * m2);
+
+int gsl_matrix_uint_swap_rows(gsl_matrix_uint * m, const size_t i, const size_t j);
+int gsl_matrix_uint_swap_columns(gsl_matrix_uint * m, const size_t i, const size_t j);
+int gsl_matrix_uint_swap_rowcol(gsl_matrix_uint * m, const size_t i, const size_t j);
+int gsl_matrix_uint_transpose (gsl_matrix_uint * m);
+int gsl_matrix_uint_transpose_memcpy (gsl_matrix_uint * dest, const gsl_matrix_uint * src);
+
+unsigned int gsl_matrix_uint_max (const gsl_matrix_uint * m);
+unsigned int gsl_matrix_uint_min (const gsl_matrix_uint * m);
+void gsl_matrix_uint_minmax (const gsl_matrix_uint * m, unsigned int * min_out, unsigned int * max_out);
+
+void gsl_matrix_uint_max_index (const gsl_matrix_uint * m, size_t * imax, size_t *jmax);
+void gsl_matrix_uint_min_index (const gsl_matrix_uint * m, size_t * imin, size_t *jmin);
+void gsl_matrix_uint_minmax_index (const gsl_matrix_uint * m, size_t * imin, size_t * jmin, size_t * imax, size_t * jmax);
+
+int gsl_matrix_uint_equal (const gsl_matrix_uint * a, const gsl_matrix_uint * b);
+
+int gsl_matrix_uint_isnull (const gsl_matrix_uint * m);
+int gsl_matrix_uint_ispos (const gsl_matrix_uint * m);
+int gsl_matrix_uint_isneg (const gsl_matrix_uint * m);
+int gsl_matrix_uint_isnonneg (const gsl_matrix_uint * m);
+
+int gsl_matrix_uint_add (gsl_matrix_uint * a, const gsl_matrix_uint * b);
+int gsl_matrix_uint_sub (gsl_matrix_uint * a, const gsl_matrix_uint * b);
+int gsl_matrix_uint_mul_elements (gsl_matrix_uint * a, const gsl_matrix_uint * b);
+int gsl_matrix_uint_div_elements (gsl_matrix_uint * a, const gsl_matrix_uint * b);
+int gsl_matrix_uint_scale (gsl_matrix_uint * a, const double x);
+int gsl_matrix_uint_add_constant (gsl_matrix_uint * a, const double x);
+int gsl_matrix_uint_add_diagonal (gsl_matrix_uint * a, const double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_uint_get_row(gsl_vector_uint * v, const gsl_matrix_uint * m, const size_t i);
+int gsl_matrix_uint_get_col(gsl_vector_uint * v, const gsl_matrix_uint * m, const size_t j);
+int gsl_matrix_uint_set_row(gsl_matrix_uint * m, const size_t i, const gsl_vector_uint * v);
+int gsl_matrix_uint_set_col(gsl_matrix_uint * m, const size_t j, const gsl_vector_uint * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL unsigned int gsl_matrix_uint_get(const gsl_matrix_uint * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_uint_set(gsl_matrix_uint * m, const size_t i, const size_t j, const unsigned int x);
+INLINE_DECL unsigned int * gsl_matrix_uint_ptr(gsl_matrix_uint * m, const size_t i, const size_t j);
+INLINE_DECL const unsigned int * gsl_matrix_uint_const_ptr(const gsl_matrix_uint * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+unsigned int
+gsl_matrix_uint_get(const gsl_matrix_uint * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, 0) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, 0) ;
+ }
+ }
+#endif
+ return m->data[i * m->tda + j] ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_uint_set(gsl_matrix_uint * m, const size_t i, const size_t j, const unsigned int x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ m->data[i * m->tda + j] = x ;
+}
+
+INLINE_FUN
+unsigned int *
+gsl_matrix_uint_ptr(gsl_matrix_uint * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (unsigned int *) (m->data + (i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const unsigned int *
+gsl_matrix_uint_const_ptr(const gsl_matrix_uint * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const unsigned int *) (m->data + (i * m->tda + j)) ;
+}
+
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_UINT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_ulong.h b/thirdparty/includes/GSL/gsl/gsl_matrix_ulong.h
new file mode 100644
index 0000000..2424068
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_ulong.h
@@ -0,0 +1,350 @@
+/* matrix/gsl_matrix_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_MATRIX_ULONG_H__
+#define __GSL_MATRIX_ULONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_ulong.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ unsigned long * data;
+ gsl_block_ulong * block;
+ int owner;
+} gsl_matrix_ulong;
+
+typedef struct
+{
+ gsl_matrix_ulong matrix;
+} _gsl_matrix_ulong_view;
+
+typedef _gsl_matrix_ulong_view gsl_matrix_ulong_view;
+
+typedef struct
+{
+ gsl_matrix_ulong matrix;
+} _gsl_matrix_ulong_const_view;
+
+typedef const _gsl_matrix_ulong_const_view gsl_matrix_ulong_const_view;
+
+/* Allocation */
+
+gsl_matrix_ulong *
+gsl_matrix_ulong_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_ulong *
+gsl_matrix_ulong_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_ulong *
+gsl_matrix_ulong_alloc_from_block (gsl_block_ulong * b,
+ const size_t offset,
+ const size_t n1,
+ const size_t n2,
+ const size_t d2);
+
+gsl_matrix_ulong *
+gsl_matrix_ulong_alloc_from_matrix (gsl_matrix_ulong * m,
+ const size_t k1,
+ const size_t k2,
+ const size_t n1,
+ const size_t n2);
+
+gsl_vector_ulong *
+gsl_vector_ulong_alloc_row_from_matrix (gsl_matrix_ulong * m,
+ const size_t i);
+
+gsl_vector_ulong *
+gsl_vector_ulong_alloc_col_from_matrix (gsl_matrix_ulong * m,
+ const size_t j);
+
+void gsl_matrix_ulong_free (gsl_matrix_ulong * m);
+
+/* Views */
+
+_gsl_matrix_ulong_view
+gsl_matrix_ulong_submatrix (gsl_matrix_ulong * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_ulong_view
+gsl_matrix_ulong_row (gsl_matrix_ulong * m, const size_t i);
+
+_gsl_vector_ulong_view
+gsl_matrix_ulong_column (gsl_matrix_ulong * m, const size_t j);
+
+_gsl_vector_ulong_view
+gsl_matrix_ulong_diagonal (gsl_matrix_ulong * m);
+
+_gsl_vector_ulong_view
+gsl_matrix_ulong_subdiagonal (gsl_matrix_ulong * m, const size_t k);
+
+_gsl_vector_ulong_view
+gsl_matrix_ulong_superdiagonal (gsl_matrix_ulong * m, const size_t k);
+
+_gsl_vector_ulong_view
+gsl_matrix_ulong_subrow (gsl_matrix_ulong * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_ulong_view
+gsl_matrix_ulong_subcolumn (gsl_matrix_ulong * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_ulong_view
+gsl_matrix_ulong_view_array (unsigned long * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_ulong_view
+gsl_matrix_ulong_view_array_with_tda (unsigned long * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_ulong_view
+gsl_matrix_ulong_view_vector (gsl_vector_ulong * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_ulong_view
+gsl_matrix_ulong_view_vector_with_tda (gsl_vector_ulong * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_ulong_const_view
+gsl_matrix_ulong_const_submatrix (const gsl_matrix_ulong * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_ulong_const_view
+gsl_matrix_ulong_const_row (const gsl_matrix_ulong * m,
+ const size_t i);
+
+_gsl_vector_ulong_const_view
+gsl_matrix_ulong_const_column (const gsl_matrix_ulong * m,
+ const size_t j);
+
+_gsl_vector_ulong_const_view
+gsl_matrix_ulong_const_diagonal (const gsl_matrix_ulong * m);
+
+_gsl_vector_ulong_const_view
+gsl_matrix_ulong_const_subdiagonal (const gsl_matrix_ulong * m,
+ const size_t k);
+
+_gsl_vector_ulong_const_view
+gsl_matrix_ulong_const_superdiagonal (const gsl_matrix_ulong * m,
+ const size_t k);
+
+_gsl_vector_ulong_const_view
+gsl_matrix_ulong_const_subrow (const gsl_matrix_ulong * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_ulong_const_view
+gsl_matrix_ulong_const_subcolumn (const gsl_matrix_ulong * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_ulong_const_view
+gsl_matrix_ulong_const_view_array (const unsigned long * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_ulong_const_view
+gsl_matrix_ulong_const_view_array_with_tda (const unsigned long * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_ulong_const_view
+gsl_matrix_ulong_const_view_vector (const gsl_vector_ulong * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_ulong_const_view
+gsl_matrix_ulong_const_view_vector_with_tda (const gsl_vector_ulong * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_ulong_set_zero (gsl_matrix_ulong * m);
+void gsl_matrix_ulong_set_identity (gsl_matrix_ulong * m);
+void gsl_matrix_ulong_set_all (gsl_matrix_ulong * m, unsigned long x);
+
+int gsl_matrix_ulong_fread (FILE * stream, gsl_matrix_ulong * m) ;
+int gsl_matrix_ulong_fwrite (FILE * stream, const gsl_matrix_ulong * m) ;
+int gsl_matrix_ulong_fscanf (FILE * stream, gsl_matrix_ulong * m);
+int gsl_matrix_ulong_fprintf (FILE * stream, const gsl_matrix_ulong * m, const char * format);
+
+int gsl_matrix_ulong_memcpy(gsl_matrix_ulong * dest, const gsl_matrix_ulong * src);
+int gsl_matrix_ulong_swap(gsl_matrix_ulong * m1, gsl_matrix_ulong * m2);
+
+int gsl_matrix_ulong_swap_rows(gsl_matrix_ulong * m, const size_t i, const size_t j);
+int gsl_matrix_ulong_swap_columns(gsl_matrix_ulong * m, const size_t i, const size_t j);
+int gsl_matrix_ulong_swap_rowcol(gsl_matrix_ulong * m, const size_t i, const size_t j);
+int gsl_matrix_ulong_transpose (gsl_matrix_ulong * m);
+int gsl_matrix_ulong_transpose_memcpy (gsl_matrix_ulong * dest, const gsl_matrix_ulong * src);
+
+unsigned long gsl_matrix_ulong_max (const gsl_matrix_ulong * m);
+unsigned long gsl_matrix_ulong_min (const gsl_matrix_ulong * m);
+void gsl_matrix_ulong_minmax (const gsl_matrix_ulong * m, unsigned long * min_out, unsigned long * max_out);
+
+void gsl_matrix_ulong_max_index (const gsl_matrix_ulong * m, size_t * imax, size_t *jmax);
+void gsl_matrix_ulong_min_index (const gsl_matrix_ulong * m, size_t * imin, size_t *jmin);
+void gsl_matrix_ulong_minmax_index (const gsl_matrix_ulong * m, size_t * imin, size_t * jmin, size_t * imax, size_t * jmax);
+
+int gsl_matrix_ulong_equal (const gsl_matrix_ulong * a, const gsl_matrix_ulong * b);
+
+int gsl_matrix_ulong_isnull (const gsl_matrix_ulong * m);
+int gsl_matrix_ulong_ispos (const gsl_matrix_ulong * m);
+int gsl_matrix_ulong_isneg (const gsl_matrix_ulong * m);
+int gsl_matrix_ulong_isnonneg (const gsl_matrix_ulong * m);
+
+int gsl_matrix_ulong_add (gsl_matrix_ulong * a, const gsl_matrix_ulong * b);
+int gsl_matrix_ulong_sub (gsl_matrix_ulong * a, const gsl_matrix_ulong * b);
+int gsl_matrix_ulong_mul_elements (gsl_matrix_ulong * a, const gsl_matrix_ulong * b);
+int gsl_matrix_ulong_div_elements (gsl_matrix_ulong * a, const gsl_matrix_ulong * b);
+int gsl_matrix_ulong_scale (gsl_matrix_ulong * a, const double x);
+int gsl_matrix_ulong_add_constant (gsl_matrix_ulong * a, const double x);
+int gsl_matrix_ulong_add_diagonal (gsl_matrix_ulong * a, const double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_ulong_get_row(gsl_vector_ulong * v, const gsl_matrix_ulong * m, const size_t i);
+int gsl_matrix_ulong_get_col(gsl_vector_ulong * v, const gsl_matrix_ulong * m, const size_t j);
+int gsl_matrix_ulong_set_row(gsl_matrix_ulong * m, const size_t i, const gsl_vector_ulong * v);
+int gsl_matrix_ulong_set_col(gsl_matrix_ulong * m, const size_t j, const gsl_vector_ulong * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL unsigned long gsl_matrix_ulong_get(const gsl_matrix_ulong * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_ulong_set(gsl_matrix_ulong * m, const size_t i, const size_t j, const unsigned long x);
+INLINE_DECL unsigned long * gsl_matrix_ulong_ptr(gsl_matrix_ulong * m, const size_t i, const size_t j);
+INLINE_DECL const unsigned long * gsl_matrix_ulong_const_ptr(const gsl_matrix_ulong * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+unsigned long
+gsl_matrix_ulong_get(const gsl_matrix_ulong * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, 0) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, 0) ;
+ }
+ }
+#endif
+ return m->data[i * m->tda + j] ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_ulong_set(gsl_matrix_ulong * m, const size_t i, const size_t j, const unsigned long x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ m->data[i * m->tda + j] = x ;
+}
+
+INLINE_FUN
+unsigned long *
+gsl_matrix_ulong_ptr(gsl_matrix_ulong * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (unsigned long *) (m->data + (i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const unsigned long *
+gsl_matrix_ulong_const_ptr(const gsl_matrix_ulong * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const unsigned long *) (m->data + (i * m->tda + j)) ;
+}
+
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_ULONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_matrix_ushort.h b/thirdparty/includes/GSL/gsl/gsl_matrix_ushort.h
new file mode 100644
index 0000000..422b394
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_matrix_ushort.h
@@ -0,0 +1,350 @@
+/* matrix/gsl_matrix_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_MATRIX_USHORT_H__
+#define __GSL_MATRIX_USHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_ushort.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
+
+typedef struct
+{
+ size_t size1;
+ size_t size2;
+ size_t tda;
+ unsigned short * data;
+ gsl_block_ushort * block;
+ int owner;
+} gsl_matrix_ushort;
+
+typedef struct
+{
+ gsl_matrix_ushort matrix;
+} _gsl_matrix_ushort_view;
+
+typedef _gsl_matrix_ushort_view gsl_matrix_ushort_view;
+
+typedef struct
+{
+ gsl_matrix_ushort matrix;
+} _gsl_matrix_ushort_const_view;
+
+typedef const _gsl_matrix_ushort_const_view gsl_matrix_ushort_const_view;
+
+/* Allocation */
+
+gsl_matrix_ushort *
+gsl_matrix_ushort_alloc (const size_t n1, const size_t n2);
+
+gsl_matrix_ushort *
+gsl_matrix_ushort_calloc (const size_t n1, const size_t n2);
+
+gsl_matrix_ushort *
+gsl_matrix_ushort_alloc_from_block (gsl_block_ushort * b,
+ const size_t offset,
+ const size_t n1,
+ const size_t n2,
+ const size_t d2);
+
+gsl_matrix_ushort *
+gsl_matrix_ushort_alloc_from_matrix (gsl_matrix_ushort * m,
+ const size_t k1,
+ const size_t k2,
+ const size_t n1,
+ const size_t n2);
+
+gsl_vector_ushort *
+gsl_vector_ushort_alloc_row_from_matrix (gsl_matrix_ushort * m,
+ const size_t i);
+
+gsl_vector_ushort *
+gsl_vector_ushort_alloc_col_from_matrix (gsl_matrix_ushort * m,
+ const size_t j);
+
+void gsl_matrix_ushort_free (gsl_matrix_ushort * m);
+
+/* Views */
+
+_gsl_matrix_ushort_view
+gsl_matrix_ushort_submatrix (gsl_matrix_ushort * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_ushort_view
+gsl_matrix_ushort_row (gsl_matrix_ushort * m, const size_t i);
+
+_gsl_vector_ushort_view
+gsl_matrix_ushort_column (gsl_matrix_ushort * m, const size_t j);
+
+_gsl_vector_ushort_view
+gsl_matrix_ushort_diagonal (gsl_matrix_ushort * m);
+
+_gsl_vector_ushort_view
+gsl_matrix_ushort_subdiagonal (gsl_matrix_ushort * m, const size_t k);
+
+_gsl_vector_ushort_view
+gsl_matrix_ushort_superdiagonal (gsl_matrix_ushort * m, const size_t k);
+
+_gsl_vector_ushort_view
+gsl_matrix_ushort_subrow (gsl_matrix_ushort * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_ushort_view
+gsl_matrix_ushort_subcolumn (gsl_matrix_ushort * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_ushort_view
+gsl_matrix_ushort_view_array (unsigned short * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_ushort_view
+gsl_matrix_ushort_view_array_with_tda (unsigned short * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_ushort_view
+gsl_matrix_ushort_view_vector (gsl_vector_ushort * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_ushort_view
+gsl_matrix_ushort_view_vector_with_tda (gsl_vector_ushort * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+
+_gsl_matrix_ushort_const_view
+gsl_matrix_ushort_const_submatrix (const gsl_matrix_ushort * m,
+ const size_t i, const size_t j,
+ const size_t n1, const size_t n2);
+
+_gsl_vector_ushort_const_view
+gsl_matrix_ushort_const_row (const gsl_matrix_ushort * m,
+ const size_t i);
+
+_gsl_vector_ushort_const_view
+gsl_matrix_ushort_const_column (const gsl_matrix_ushort * m,
+ const size_t j);
+
+_gsl_vector_ushort_const_view
+gsl_matrix_ushort_const_diagonal (const gsl_matrix_ushort * m);
+
+_gsl_vector_ushort_const_view
+gsl_matrix_ushort_const_subdiagonal (const gsl_matrix_ushort * m,
+ const size_t k);
+
+_gsl_vector_ushort_const_view
+gsl_matrix_ushort_const_superdiagonal (const gsl_matrix_ushort * m,
+ const size_t k);
+
+_gsl_vector_ushort_const_view
+gsl_matrix_ushort_const_subrow (const gsl_matrix_ushort * m, const size_t i,
+ const size_t offset, const size_t n);
+
+_gsl_vector_ushort_const_view
+gsl_matrix_ushort_const_subcolumn (const gsl_matrix_ushort * m, const size_t j,
+ const size_t offset, const size_t n);
+
+_gsl_matrix_ushort_const_view
+gsl_matrix_ushort_const_view_array (const unsigned short * base,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_ushort_const_view
+gsl_matrix_ushort_const_view_array_with_tda (const unsigned short * base,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+_gsl_matrix_ushort_const_view
+gsl_matrix_ushort_const_view_vector (const gsl_vector_ushort * v,
+ const size_t n1,
+ const size_t n2);
+
+_gsl_matrix_ushort_const_view
+gsl_matrix_ushort_const_view_vector_with_tda (const gsl_vector_ushort * v,
+ const size_t n1,
+ const size_t n2,
+ const size_t tda);
+
+/* Operations */
+
+void gsl_matrix_ushort_set_zero (gsl_matrix_ushort * m);
+void gsl_matrix_ushort_set_identity (gsl_matrix_ushort * m);
+void gsl_matrix_ushort_set_all (gsl_matrix_ushort * m, unsigned short x);
+
+int gsl_matrix_ushort_fread (FILE * stream, gsl_matrix_ushort * m) ;
+int gsl_matrix_ushort_fwrite (FILE * stream, const gsl_matrix_ushort * m) ;
+int gsl_matrix_ushort_fscanf (FILE * stream, gsl_matrix_ushort * m);
+int gsl_matrix_ushort_fprintf (FILE * stream, const gsl_matrix_ushort * m, const char * format);
+
+int gsl_matrix_ushort_memcpy(gsl_matrix_ushort * dest, const gsl_matrix_ushort * src);
+int gsl_matrix_ushort_swap(gsl_matrix_ushort * m1, gsl_matrix_ushort * m2);
+
+int gsl_matrix_ushort_swap_rows(gsl_matrix_ushort * m, const size_t i, const size_t j);
+int gsl_matrix_ushort_swap_columns(gsl_matrix_ushort * m, const size_t i, const size_t j);
+int gsl_matrix_ushort_swap_rowcol(gsl_matrix_ushort * m, const size_t i, const size_t j);
+int gsl_matrix_ushort_transpose (gsl_matrix_ushort * m);
+int gsl_matrix_ushort_transpose_memcpy (gsl_matrix_ushort * dest, const gsl_matrix_ushort * src);
+
+unsigned short gsl_matrix_ushort_max (const gsl_matrix_ushort * m);
+unsigned short gsl_matrix_ushort_min (const gsl_matrix_ushort * m);
+void gsl_matrix_ushort_minmax (const gsl_matrix_ushort * m, unsigned short * min_out, unsigned short * max_out);
+
+void gsl_matrix_ushort_max_index (const gsl_matrix_ushort * m, size_t * imax, size_t *jmax);
+void gsl_matrix_ushort_min_index (const gsl_matrix_ushort * m, size_t * imin, size_t *jmin);
+void gsl_matrix_ushort_minmax_index (const gsl_matrix_ushort * m, size_t * imin, size_t * jmin, size_t * imax, size_t * jmax);
+
+int gsl_matrix_ushort_equal (const gsl_matrix_ushort * a, const gsl_matrix_ushort * b);
+
+int gsl_matrix_ushort_isnull (const gsl_matrix_ushort * m);
+int gsl_matrix_ushort_ispos (const gsl_matrix_ushort * m);
+int gsl_matrix_ushort_isneg (const gsl_matrix_ushort * m);
+int gsl_matrix_ushort_isnonneg (const gsl_matrix_ushort * m);
+
+int gsl_matrix_ushort_add (gsl_matrix_ushort * a, const gsl_matrix_ushort * b);
+int gsl_matrix_ushort_sub (gsl_matrix_ushort * a, const gsl_matrix_ushort * b);
+int gsl_matrix_ushort_mul_elements (gsl_matrix_ushort * a, const gsl_matrix_ushort * b);
+int gsl_matrix_ushort_div_elements (gsl_matrix_ushort * a, const gsl_matrix_ushort * b);
+int gsl_matrix_ushort_scale (gsl_matrix_ushort * a, const double x);
+int gsl_matrix_ushort_add_constant (gsl_matrix_ushort * a, const double x);
+int gsl_matrix_ushort_add_diagonal (gsl_matrix_ushort * a, const double x);
+
+/***********************************************************************/
+/* The functions below are obsolete */
+/***********************************************************************/
+int gsl_matrix_ushort_get_row(gsl_vector_ushort * v, const gsl_matrix_ushort * m, const size_t i);
+int gsl_matrix_ushort_get_col(gsl_vector_ushort * v, const gsl_matrix_ushort * m, const size_t j);
+int gsl_matrix_ushort_set_row(gsl_matrix_ushort * m, const size_t i, const gsl_vector_ushort * v);
+int gsl_matrix_ushort_set_col(gsl_matrix_ushort * m, const size_t j, const gsl_vector_ushort * v);
+/***********************************************************************/
+
+/* inline functions if you are using GCC */
+
+INLINE_DECL unsigned short gsl_matrix_ushort_get(const gsl_matrix_ushort * m, const size_t i, const size_t j);
+INLINE_DECL void gsl_matrix_ushort_set(gsl_matrix_ushort * m, const size_t i, const size_t j, const unsigned short x);
+INLINE_DECL unsigned short * gsl_matrix_ushort_ptr(gsl_matrix_ushort * m, const size_t i, const size_t j);
+INLINE_DECL const unsigned short * gsl_matrix_ushort_const_ptr(const gsl_matrix_ushort * m, const size_t i, const size_t j);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+unsigned short
+gsl_matrix_ushort_get(const gsl_matrix_ushort * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VAL("first index out of range", GSL_EINVAL, 0) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VAL("second index out of range", GSL_EINVAL, 0) ;
+ }
+ }
+#endif
+ return m->data[i * m->tda + j] ;
+}
+
+INLINE_FUN
+void
+gsl_matrix_ushort_set(gsl_matrix_ushort * m, const size_t i, const size_t j, const unsigned short x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_VOID("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_VOID("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ m->data[i * m->tda + j] = x ;
+}
+
+INLINE_FUN
+unsigned short *
+gsl_matrix_ushort_ptr(gsl_matrix_ushort * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (unsigned short *) (m->data + (i * m->tda + j)) ;
+}
+
+INLINE_FUN
+const unsigned short *
+gsl_matrix_ushort_const_ptr(const gsl_matrix_ushort * m, const size_t i, const size_t j)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(1))
+ {
+ if (i >= m->size1)
+ {
+ GSL_ERROR_NULL("first index out of range", GSL_EINVAL) ;
+ }
+ else if (j >= m->size2)
+ {
+ GSL_ERROR_NULL("second index out of range", GSL_EINVAL) ;
+ }
+ }
+#endif
+ return (const unsigned short *) (m->data + (i * m->tda + j)) ;
+}
+
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MATRIX_USHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_message.h b/thirdparty/includes/GSL/gsl/gsl_message.h
new file mode 100644
index 0000000..166ff9d
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_message.h
@@ -0,0 +1,80 @@
+/* err/gsl_message.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_MESSAGE_H__
+#define __GSL_MESSAGE_H__
+#include <gsl/gsl_types.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
+
+/* Provide a general messaging service for client use. Messages can
+ * be selectively turned off at compile time by defining an
+ * appropriate message mask. Client code which uses the GSL_MESSAGE()
+ * macro must provide a mask which is or'ed with the GSL_MESSAGE_MASK.
+ *
+ * The messaging service can be completely turned off
+ * by defining GSL_MESSAGING_OFF. */
+
+void gsl_message(const char * message, const char * file, int line,
+ unsigned int mask);
+
+#ifndef GSL_MESSAGE_MASK
+#define GSL_MESSAGE_MASK 0xffffffffu /* default all messages allowed */
+#endif
+
+GSL_VAR unsigned int gsl_message_mask ;
+
+/* Provide some symolic masks for client ease of use. */
+
+enum {
+ GSL_MESSAGE_MASK_A = 1,
+ GSL_MESSAGE_MASK_B = 2,
+ GSL_MESSAGE_MASK_C = 4,
+ GSL_MESSAGE_MASK_D = 8,
+ GSL_MESSAGE_MASK_E = 16,
+ GSL_MESSAGE_MASK_F = 32,
+ GSL_MESSAGE_MASK_G = 64,
+ GSL_MESSAGE_MASK_H = 128
+} ;
+
+#ifdef GSL_MESSAGING_OFF /* throw away messages */
+#define GSL_MESSAGE(message, mask) do { } while(0)
+#else /* output all messages */
+#define GSL_MESSAGE(message, mask) \
+ do { \
+ if (mask & GSL_MESSAGE_MASK) \
+ gsl_message (message, __FILE__, __LINE__, mask) ; \
+ } while (0)
+#endif
+
+__END_DECLS
+
+#endif /* __GSL_MESSAGE_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_min.h b/thirdparty/includes/GSL/gsl/gsl_min.h
new file mode 100644
index 0000000..c179572
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_min.h
@@ -0,0 +1,111 @@
+/* min/gsl_min.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007, 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_MIN_H__
+#define __GSL_MIN_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_math.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
+
+typedef struct
+ {
+ const char *name;
+ size_t size;
+ int (*set) (void *state, gsl_function * f, double x_minimum, double f_minimum, double x_lower, double f_lower, double x_upper, double f_upper);
+ int (*iterate) (void *state, gsl_function * f, double * x_minimum, double * f_minimum, double * x_lower, double * f_lower, double * x_upper, double * f_upper);
+ }
+gsl_min_fminimizer_type;
+
+typedef struct
+ {
+ const gsl_min_fminimizer_type * type;
+ gsl_function * function ;
+ double x_minimum ;
+ double x_lower ;
+ double x_upper ;
+ double f_minimum, f_lower, f_upper;
+ void *state;
+ }
+gsl_min_fminimizer;
+
+gsl_min_fminimizer *
+gsl_min_fminimizer_alloc (const gsl_min_fminimizer_type * T) ;
+
+void gsl_min_fminimizer_free (gsl_min_fminimizer * s);
+
+int gsl_min_fminimizer_set (gsl_min_fminimizer * s,
+ gsl_function * f, double x_minimum,
+ double x_lower, double x_upper);
+
+int gsl_min_fminimizer_set_with_values (gsl_min_fminimizer * s,
+ gsl_function * f,
+ double x_minimum, double f_minimum,
+ double x_lower, double f_lower,
+ double x_upper, double f_upper);
+
+int gsl_min_fminimizer_iterate (gsl_min_fminimizer * s);
+
+const char * gsl_min_fminimizer_name (const gsl_min_fminimizer * s);
+
+double gsl_min_fminimizer_x_minimum (const gsl_min_fminimizer * s);
+double gsl_min_fminimizer_x_lower (const gsl_min_fminimizer * s);
+double gsl_min_fminimizer_x_upper (const gsl_min_fminimizer * s);
+double gsl_min_fminimizer_f_minimum (const gsl_min_fminimizer * s);
+double gsl_min_fminimizer_f_lower (const gsl_min_fminimizer * s);
+double gsl_min_fminimizer_f_upper (const gsl_min_fminimizer * s);
+
+/* Deprecated, use x_minimum instead */
+double gsl_min_fminimizer_minimum (const gsl_min_fminimizer * s);
+
+int
+gsl_min_test_interval (double x_lower, double x_upper, double epsabs, double epsrel);
+
+GSL_VAR const gsl_min_fminimizer_type * gsl_min_fminimizer_goldensection;
+GSL_VAR const gsl_min_fminimizer_type * gsl_min_fminimizer_brent;
+GSL_VAR const gsl_min_fminimizer_type * gsl_min_fminimizer_quad_golden;
+
+typedef
+int (*gsl_min_bracketing_function)(gsl_function *f,
+ double *x_minimum,double * f_minimum,
+ double *x_lower, double * f_lower,
+ double *x_upper, double * f_upper,
+ size_t eval_max);
+
+int
+gsl_min_find_bracket(gsl_function *f,double *x_minimum,double * f_minimum,
+ double *x_lower, double * f_lower,
+ double *x_upper, double * f_upper,
+ size_t eval_max);
+
+__END_DECLS
+
+#endif /* __GSL_MIN_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_minmax.h b/thirdparty/includes/GSL/gsl/gsl_minmax.h
new file mode 100644
index 0000000..0d9a836
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_minmax.h
@@ -0,0 +1,102 @@
+/* gsl_minmax.h
+ *
+ * Copyright (C) 2008 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_MINMAX_H__
+#define __GSL_MINMAX_H__
+#include <gsl/gsl_inline.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
+
+/* Define MAX and MIN macros/functions if they don't exist. */
+
+/* plain old macros for general use */
+#define GSL_MAX(a,b) ((a) > (b) ? (a) : (b))
+#define GSL_MIN(a,b) ((a) < (b) ? (a) : (b))
+
+/* function versions of the above, in case they are needed */
+double gsl_max (double a, double b);
+double gsl_min (double a, double b);
+
+/* inline-friendly strongly typed versions */
+#ifdef HAVE_INLINE
+
+INLINE_FUN int GSL_MAX_INT (int a, int b);
+INLINE_FUN int GSL_MIN_INT (int a, int b);
+INLINE_FUN double GSL_MAX_DBL (double a, double b);
+INLINE_FUN double GSL_MIN_DBL (double a, double b);
+INLINE_FUN long double GSL_MAX_LDBL (long double a, long double b);
+INLINE_FUN long double GSL_MIN_LDBL (long double a, long double b);
+
+INLINE_FUN int
+GSL_MAX_INT (int a, int b)
+{
+ return GSL_MAX (a, b);
+}
+
+INLINE_FUN int
+GSL_MIN_INT (int a, int b)
+{
+ return GSL_MIN (a, b);
+}
+
+INLINE_FUN double
+GSL_MAX_DBL (double a, double b)
+{
+ return GSL_MAX (a, b);
+}
+
+INLINE_FUN double
+GSL_MIN_DBL (double a, double b)
+{
+ return GSL_MIN (a, b);
+}
+
+INLINE_FUN long double
+GSL_MAX_LDBL (long double a, long double b)
+{
+ return GSL_MAX (a, b);
+}
+
+INLINE_FUN long double
+GSL_MIN_LDBL (long double a, long double b)
+{
+ return GSL_MIN (a, b);
+}
+#else
+#define GSL_MAX_INT(a,b) GSL_MAX(a,b)
+#define GSL_MIN_INT(a,b) GSL_MIN(a,b)
+#define GSL_MAX_DBL(a,b) GSL_MAX(a,b)
+#define GSL_MIN_DBL(a,b) GSL_MIN(a,b)
+#define GSL_MAX_LDBL(a,b) GSL_MAX(a,b)
+#define GSL_MIN_LDBL(a,b) GSL_MIN(a,b)
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_POW_INT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_mode.h b/thirdparty/includes/GSL/gsl/gsl_mode.h
new file mode 100644
index 0000000..c8e5d55
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_mode.h
@@ -0,0 +1,88 @@
+/* gsl_mode.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 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: B. Gough and G. Jungman */
+
+#ifndef __GSL_MODE_H__
+#define __GSL_MODE_H__
+#include <gsl/gsl_inline.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
+
+
+/* Some functions can take a mode argument. This
+ * is a rough method to do things like control
+ * the precision of the algorithm. This mainly
+ * occurs in special functions, but we figured
+ * it was ok to have a general facility.
+ *
+ * The mode type is 32-bit field. Most of
+ * the fields are currently unused. Users
+ * '|' various predefined constants to get
+ * a desired mode.
+ */
+typedef unsigned int gsl_mode_t;
+
+
+/* Here are the predefined constants.
+ * Note that the precision constants
+ * are special because they are used
+ * to index arrays, so do not change
+ * them. The precision information is
+ * in the low order 3 bits of gsl_mode_t
+ * (the third bit is currently unused).
+ */
+
+/* Note that "0" is double precision,
+ * so that you get that by default if
+ * you forget a flag.
+ */
+#define GSL_PREC_DOUBLE 0
+#define GSL_PREC_SINGLE 1
+#define GSL_PREC_APPROX 2
+
+#ifdef HAVE_INLINE
+INLINE_FUN unsigned int GSL_MODE_PREC(gsl_mode_t mt);
+
+INLINE_FUN unsigned int
+GSL_MODE_PREC(gsl_mode_t mt)
+{ return (mt & (unsigned int)7); }
+#else /* HAVE_INLINE */
+#define GSL_MODE_PREC(mt) ((mt) & (unsigned int)7)
+#endif /* HAVE_INLINE */
+
+
+/* Here are some predefined generic modes.
+ */
+#define GSL_MODE_DEFAULT 0
+
+
+__END_DECLS
+
+#endif /* __GSL_MODE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_monte.h b/thirdparty/includes/GSL/gsl/gsl_monte.h
new file mode 100644
index 0000000..4d1d88e
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_monte.h
@@ -0,0 +1,55 @@
+/* monte/gsl_monte.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000 Michael Booth
+ *
+ * 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.
+ */
+
+/* Some things common to all the Monte-Carlo implementations */
+/* Author: MJB */
+
+#ifndef __GSL_MONTE_H__
+#define __GSL_MONTE_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
+
+/* Hide the function type in a typedef so that we can use it in all our
+ integration functions, and make it easy to change things.
+*/
+
+struct gsl_monte_function_struct {
+ double (*f)(double * x_array, size_t dim, void * params);
+ size_t dim;
+ void * params;
+};
+
+typedef struct gsl_monte_function_struct gsl_monte_function;
+
+#define GSL_MONTE_FN_EVAL(F,x) (*((F)->f))(x,(F)->dim,(F)->params)
+
+
+__END_DECLS
+
+#endif /* __GSL_MONTE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_monte_miser.h b/thirdparty/includes/GSL/gsl/gsl_monte_miser.h
new file mode 100644
index 0000000..5940396
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_monte_miser.h
@@ -0,0 +1,97 @@
+/* monte/gsl_monte_miser.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000 Michael Booth
+ * Copyright (C) 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.
+ */
+
+/* Author: MJB */
+
+#ifndef __GSL_MONTE_MISER_H__
+#define __GSL_MONTE_MISER_H__
+
+#include <gsl/gsl_rng.h>
+#include <gsl/gsl_monte.h>
+#include <gsl/gsl_monte_plain.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
+
+typedef struct {
+ size_t min_calls;
+ size_t min_calls_per_bisection;
+ double dither;
+ double estimate_frac;
+ double alpha;
+ size_t dim;
+ int estimate_style;
+ int depth;
+ int verbose;
+ double * x;
+ double * xmid;
+ double * sigma_l;
+ double * sigma_r;
+ double * fmax_l;
+ double * fmax_r;
+ double * fmin_l;
+ double * fmin_r;
+ double * fsum_l;
+ double * fsum_r;
+ double * fsum2_l;
+ double * fsum2_r;
+ size_t * hits_l;
+ size_t * hits_r;
+} gsl_monte_miser_state;
+
+int gsl_monte_miser_integrate(gsl_monte_function * f,
+ const double xl[], const double xh[],
+ size_t dim, size_t calls,
+ gsl_rng *r,
+ gsl_monte_miser_state* state,
+ double *result, double *abserr);
+
+gsl_monte_miser_state* gsl_monte_miser_alloc(size_t dim);
+
+int gsl_monte_miser_init(gsl_monte_miser_state* state);
+
+void gsl_monte_miser_free(gsl_monte_miser_state* state);
+
+typedef struct {
+ double estimate_frac;
+ size_t min_calls;
+ size_t min_calls_per_bisection;
+ double alpha;
+ double dither;
+} gsl_monte_miser_params;
+
+void gsl_monte_miser_params_get (const gsl_monte_miser_state * state,
+ gsl_monte_miser_params * params);
+
+void gsl_monte_miser_params_set (gsl_monte_miser_state * state,
+ const gsl_monte_miser_params * params);
+
+__END_DECLS
+
+#endif /* __GSL_MONTE_MISER_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_monte_plain.h b/thirdparty/includes/GSL/gsl/gsl_monte_plain.h
new file mode 100644
index 0000000..c4745b9
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_monte_plain.h
@@ -0,0 +1,65 @@
+/* monte/gsl_monte_plain.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000 Michael Booth
+ *
+ * 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.
+ */
+
+/* Plain Monte-Carlo. */
+
+/* Author: MJB */
+
+#ifndef __GSL_MONTE_PLAIN_H__
+#define __GSL_MONTE_PLAIN_H__
+
+#include <stdio.h>
+#include <gsl/gsl_monte.h>
+#include <gsl/gsl_rng.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
+
+typedef struct {
+ size_t dim;
+ double *x;
+} gsl_monte_plain_state;
+
+int
+gsl_monte_plain_integrate (const gsl_monte_function * f,
+ const double xl[], const double xu[],
+ const size_t dim,
+ const size_t calls,
+ gsl_rng * r,
+ gsl_monte_plain_state * state,
+ double *result, double *abserr);
+
+gsl_monte_plain_state* gsl_monte_plain_alloc(size_t dim);
+
+int gsl_monte_plain_init(gsl_monte_plain_state* state);
+
+void gsl_monte_plain_free (gsl_monte_plain_state* state);
+
+__END_DECLS
+
+#endif /* __GSL_MONTE_PLAIN_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_monte_vegas.h b/thirdparty/includes/GSL/gsl/gsl_monte_vegas.h
new file mode 100644
index 0000000..0942c04
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_monte_vegas.h
@@ -0,0 +1,125 @@
+/* monte/gsl_monte_vegas.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000 Michael Booth
+ * Copyright (C) 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.
+ */
+
+/* header for the gsl "vegas" routines. Mike Booth, May 1998 */
+
+#ifndef __GSL_MONTE_VEGAS_H__
+#define __GSL_MONTE_VEGAS_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_rng.h>
+#include <gsl/gsl_monte.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
+
+enum {GSL_VEGAS_MODE_IMPORTANCE = 1,
+ GSL_VEGAS_MODE_IMPORTANCE_ONLY = 0,
+ GSL_VEGAS_MODE_STRATIFIED = -1};
+
+typedef struct {
+ /* grid */
+ size_t dim;
+ size_t bins_max;
+ unsigned int bins;
+ unsigned int boxes; /* these are both counted along the axes */
+ double * xi;
+ double * xin;
+ double * delx;
+ double * weight;
+ double vol;
+
+ double * x;
+ int * bin;
+ int * box;
+
+ /* distribution */
+ double * d;
+
+ /* control variables */
+ double alpha;
+ int mode;
+ int verbose;
+ unsigned int iterations;
+ int stage;
+
+ /* scratch variables preserved between calls to vegas1/2/3 */
+ double jac;
+ double wtd_int_sum;
+ double sum_wgts;
+ double chi_sum;
+ double chisq;
+
+ double result;
+ double sigma;
+
+ unsigned int it_start;
+ unsigned int it_num;
+ unsigned int samples;
+ unsigned int calls_per_box;
+
+ FILE * ostream;
+
+} gsl_monte_vegas_state;
+
+int gsl_monte_vegas_integrate(gsl_monte_function * f,
+ double xl[], double xu[],
+ size_t dim, size_t calls,
+ gsl_rng * r,
+ gsl_monte_vegas_state *state,
+ double* result, double* abserr);
+
+gsl_monte_vegas_state* gsl_monte_vegas_alloc(size_t dim);
+
+int gsl_monte_vegas_init(gsl_monte_vegas_state* state);
+
+void gsl_monte_vegas_free (gsl_monte_vegas_state* state);
+
+double gsl_monte_vegas_chisq (const gsl_monte_vegas_state* state);
+void gsl_monte_vegas_runval (const gsl_monte_vegas_state* state, double * result, double * sigma);
+
+typedef struct {
+ double alpha;
+ size_t iterations;
+ int stage;
+ int mode;
+ int verbose;
+ FILE * ostream;
+} gsl_monte_vegas_params;
+
+void gsl_monte_vegas_params_get (const gsl_monte_vegas_state * state,
+ gsl_monte_vegas_params * params);
+
+void gsl_monte_vegas_params_set (gsl_monte_vegas_state * state,
+ const gsl_monte_vegas_params * params);
+
+__END_DECLS
+
+#endif /* __GSL_MONTE_VEGAS_H__ */
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_multifit.h b/thirdparty/includes/GSL/gsl/gsl_multifit.h
new file mode 100644
index 0000000..403e995
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_multifit.h
@@ -0,0 +1,319 @@
+/* multifit/gsl_multifit.h
+ *
+ * Copyright (C) 2000, 2007, 2010 Brian Gough
+ * Copyright (C) 2013, 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_MULTIFIT_H__
+#define __GSL_MULTIFIT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.h>
+#include <gsl/gsl_types.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
+
+typedef struct
+{
+ size_t nmax; /* maximum number of observations */
+ size_t pmax; /* maximum number of parameters */
+ size_t n; /* number of observations in current SVD decomposition */
+ size_t p; /* number of parameters in current SVD decomposition */
+ gsl_matrix * A; /* least squares matrix for SVD, n-by-p */
+ gsl_matrix * Q;
+ gsl_matrix * QSI;
+ gsl_vector * S;
+ gsl_vector * t;
+ gsl_vector * xt;
+ gsl_vector * D;
+ double rcond; /* reciprocal condition number */
+}
+gsl_multifit_linear_workspace;
+
+gsl_multifit_linear_workspace *
+gsl_multifit_linear_alloc (const size_t n, const size_t p);
+
+void
+gsl_multifit_linear_free (gsl_multifit_linear_workspace * w);
+
+int
+gsl_multifit_linear (const gsl_matrix * X,
+ const gsl_vector * y,
+ gsl_vector * c,
+ gsl_matrix * cov,
+ double * chisq,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_svd (const gsl_matrix * X,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_bsvd (const gsl_matrix * X,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_solve (const double lambda,
+ const gsl_matrix * X,
+ const gsl_vector * y,
+ gsl_vector * c,
+ double *rnorm,
+ double *snorm,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_applyW(const gsl_matrix * X,
+ const gsl_vector * w,
+ const gsl_vector * y,
+ gsl_matrix * WX,
+ gsl_vector * Wy);
+
+int
+gsl_multifit_linear_stdform1 (const gsl_vector * L,
+ const gsl_matrix * X,
+ const gsl_vector * y,
+ gsl_matrix * Xs,
+ gsl_vector * ys,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_wstdform1 (const gsl_vector * L,
+ const gsl_matrix * X,
+ const gsl_vector * w,
+ const gsl_vector * y,
+ gsl_matrix * Xs,
+ gsl_vector * ys,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_L_decomp (gsl_matrix * L, gsl_vector * tau);
+
+int
+gsl_multifit_linear_stdform2 (const gsl_matrix * LQR,
+ const gsl_vector * Ltau,
+ const gsl_matrix * X,
+ const gsl_vector * y,
+ gsl_matrix * Xs,
+ gsl_vector * ys,
+ gsl_matrix * M,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_wstdform2 (const gsl_matrix * LQR,
+ const gsl_vector * Ltau,
+ const gsl_matrix * X,
+ const gsl_vector * w,
+ const gsl_vector * y,
+ gsl_matrix * Xs,
+ gsl_vector * ys,
+ gsl_matrix * M,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_genform1 (const gsl_vector * L,
+ const gsl_vector * cs,
+ gsl_vector * c,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_genform2 (const gsl_matrix * LQR,
+ const gsl_vector * Ltau,
+ const gsl_matrix * X,
+ const gsl_vector * y,
+ const gsl_vector * cs,
+ const gsl_matrix * M,
+ gsl_vector * c,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_wgenform2 (const gsl_matrix * LQR,
+ const gsl_vector * Ltau,
+ const gsl_matrix * X,
+ const gsl_vector * w,
+ const gsl_vector * y,
+ const gsl_vector * cs,
+ const gsl_matrix * M,
+ gsl_vector * c,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_lreg (const double smin, const double smax,
+ gsl_vector * reg_param);
+
+int
+gsl_multifit_linear_lcurve (const gsl_vector * y,
+ gsl_vector * reg_param,
+ gsl_vector * rho, gsl_vector * eta,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_lcorner(const gsl_vector *rho,
+ const gsl_vector *eta,
+ size_t *idx);
+
+int
+gsl_multifit_linear_lcorner2(const gsl_vector *reg_param,
+ const gsl_vector *eta,
+ size_t *idx);
+
+int
+gsl_multifit_linear_Lk(const size_t p, const size_t k, gsl_matrix *L);
+
+int
+gsl_multifit_linear_Lsobolev(const size_t p, const size_t kmax,
+ const gsl_vector *alpha, gsl_matrix *L,
+ gsl_multifit_linear_workspace *work);
+
+int
+gsl_multifit_wlinear (const gsl_matrix * X,
+ const gsl_vector * w,
+ const gsl_vector * y,
+ gsl_vector * c,
+ gsl_matrix * cov,
+ double * chisq,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_wlinear_svd (const gsl_matrix * X,
+ const gsl_vector * w,
+ const gsl_vector * y,
+ double tol,
+ size_t * rank,
+ gsl_vector * c,
+ gsl_matrix * cov,
+ double *chisq,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_wlinear_usvd (const gsl_matrix * X,
+ const gsl_vector * w,
+ const gsl_vector * y,
+ double tol,
+ size_t * rank,
+ gsl_vector * c,
+ gsl_matrix * cov,
+ double *chisq,
+ gsl_multifit_linear_workspace * work);
+
+int
+gsl_multifit_linear_est (const gsl_vector * x,
+ const gsl_vector * c,
+ const gsl_matrix * cov, double *y, double *y_err);
+
+double
+gsl_multifit_linear_rcond (const gsl_multifit_linear_workspace * w);
+
+int
+gsl_multifit_linear_residuals (const gsl_matrix *X, const gsl_vector *y,
+ const gsl_vector *c, gsl_vector *r);
+
+typedef struct
+{
+ const char * name; /* method name */
+ int (*wfun)(const gsl_vector *r, gsl_vector *w);
+ int (*psi_deriv)(const gsl_vector *r, gsl_vector *dpsi);
+ double tuning_default; /* default tuning constant */
+} gsl_multifit_robust_type;
+
+typedef struct
+{
+ double sigma_ols; /* OLS estimate of sigma */
+ double sigma_mad; /* MAD estimate of sigma */
+ double sigma_rob; /* robust estimate of sigma */
+ double sigma; /* final estimate of sigma */
+ double Rsq; /* R^2 coefficient of determination */
+ double adj_Rsq; /* degree of freedom adjusted R^2 */
+ double rmse; /* root mean squared error */
+ double sse; /* residual sum of squares */
+ size_t dof; /* degrees of freedom */
+ size_t numit; /* number of iterations */
+ gsl_vector *weights; /* final weights */
+ gsl_vector *r; /* final residuals y - X c */
+} gsl_multifit_robust_stats;
+
+typedef struct
+{
+ size_t n; /* number of observations */
+ size_t p; /* number of parameters */
+ size_t numit; /* number of iterations */
+ size_t maxiter; /* maximum iterations */
+ const gsl_multifit_robust_type *type;
+ double tune; /* tuning parameter */
+
+ gsl_vector *r; /* residuals at current iteration */
+ gsl_vector *weights; /* weights at current iteration */
+ gsl_vector *c_prev; /* coefficients from previous iteration */
+ gsl_vector *resfac; /* multiplicative factors for residuals */
+
+ gsl_vector *psi; /* psi(r) */
+ gsl_vector *dpsi; /* psi'(r) */
+
+ gsl_matrix *QSI; /* Q S^{-1} of original matrix X */
+ gsl_vector *D; /* balancing parameters of original matrix X */
+
+ gsl_vector *workn; /* workspace of length n */
+
+ gsl_multifit_robust_stats stats; /* various statistics */
+
+ gsl_multifit_linear_workspace *multifit_p;
+} gsl_multifit_robust_workspace;
+
+/* available types */
+GSL_VAR const gsl_multifit_robust_type * gsl_multifit_robust_default;
+GSL_VAR const gsl_multifit_robust_type * gsl_multifit_robust_bisquare;
+GSL_VAR const gsl_multifit_robust_type * gsl_multifit_robust_cauchy;
+GSL_VAR const gsl_multifit_robust_type * gsl_multifit_robust_fair;
+GSL_VAR const gsl_multifit_robust_type * gsl_multifit_robust_huber;
+GSL_VAR const gsl_multifit_robust_type * gsl_multifit_robust_ols;
+GSL_VAR const gsl_multifit_robust_type * gsl_multifit_robust_welsch;
+
+gsl_multifit_robust_workspace *gsl_multifit_robust_alloc(const gsl_multifit_robust_type *T,
+ const size_t n, const size_t p);
+void gsl_multifit_robust_free(gsl_multifit_robust_workspace *w);
+int gsl_multifit_robust_tune(const double tune,
+ gsl_multifit_robust_workspace *w);
+int gsl_multifit_robust_maxiter(const size_t maxiter,
+ gsl_multifit_robust_workspace *w);
+const char *gsl_multifit_robust_name(const gsl_multifit_robust_workspace *w);
+gsl_multifit_robust_stats gsl_multifit_robust_statistics(const gsl_multifit_robust_workspace *w);
+int gsl_multifit_robust_weights(const gsl_vector *r, gsl_vector *wts,
+ gsl_multifit_robust_workspace *w);
+int gsl_multifit_robust(const gsl_matrix * X, const gsl_vector * y,
+ gsl_vector * c, gsl_matrix *cov,
+ gsl_multifit_robust_workspace *w);
+int gsl_multifit_robust_est(const gsl_vector * x, const gsl_vector * c,
+ const gsl_matrix * cov, double *y, double *y_err);
+int gsl_multifit_robust_residuals(const gsl_matrix * X,
+ const gsl_vector * y,
+ const gsl_vector * c, gsl_vector * r,
+ gsl_multifit_robust_workspace * w);
+
+__END_DECLS
+
+#endif /* __GSL_MULTIFIT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_multifit_nlin.h b/thirdparty/includes/GSL/gsl/gsl_multifit_nlin.h
new file mode 100644
index 0000000..b0dd06e
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_multifit_nlin.h
@@ -0,0 +1,275 @@
+/* multifit_nlin/gsl_multifit_nlin.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_MULTIFIT_NLIN_H__
+#define __GSL_MULTIFIT_NLIN_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_multifit_gradient (const gsl_matrix * J, const gsl_vector * f,
+ gsl_vector * g);
+
+int gsl_multifit_covar (const gsl_matrix * J, const double epsrel, gsl_matrix * covar);
+int gsl_multifit_covar_QRPT (gsl_matrix * r, gsl_permutation * perm,
+ const double epsrel, gsl_matrix * covar);
+
+
+/* Definition of vector-valued functions with parameters based on gsl_vector */
+
+struct gsl_multifit_function_struct
+{
+ int (* f) (const gsl_vector * x, void * params, gsl_vector * f);
+ size_t n; /* number of functions */
+ size_t p; /* number of independent variables */
+ void * params;
+};
+
+typedef struct gsl_multifit_function_struct gsl_multifit_function ;
+
+#define GSL_MULTIFIT_FN_EVAL(F,x,y) (*((F)->f))(x,(F)->params,(y))
+
+typedef struct
+ {
+ const char *name;
+ size_t size;
+ int (*alloc) (void *state, size_t n, size_t p);
+ int (*set) (void *state, gsl_multifit_function * function, gsl_vector * x, gsl_vector * f, gsl_vector * dx);
+ int (*iterate) (void *state, gsl_multifit_function * function, gsl_vector * x, gsl_vector * f, gsl_vector * dx);
+ void (*free) (void *state);
+ }
+gsl_multifit_fsolver_type;
+
+typedef struct
+ {
+ const gsl_multifit_fsolver_type * type;
+ gsl_multifit_function * function ;
+ gsl_vector * x ;
+ gsl_vector * f ;
+ gsl_vector * dx ;
+ void *state;
+ }
+gsl_multifit_fsolver;
+
+gsl_multifit_fsolver *
+gsl_multifit_fsolver_alloc (const gsl_multifit_fsolver_type * T,
+ size_t n, size_t p);
+
+void gsl_multifit_fsolver_free (gsl_multifit_fsolver * s);
+
+int gsl_multifit_fsolver_set (gsl_multifit_fsolver * s,
+ gsl_multifit_function * f,
+ const gsl_vector * x);
+
+int gsl_multifit_fsolver_iterate (gsl_multifit_fsolver * s);
+
+int gsl_multifit_fsolver_driver (gsl_multifit_fsolver * s,
+ const size_t maxiter,
+ const double epsabs, const double epsrel);
+
+const char * gsl_multifit_fsolver_name (const gsl_multifit_fsolver * s);
+gsl_vector * gsl_multifit_fsolver_position (const gsl_multifit_fsolver * s);
+
+/* Definition of vector-valued functions and gradient with parameters
+ based on gsl_vector */
+
+struct gsl_multifit_function_fdf_struct
+{
+ int (* f) (const gsl_vector * x, void * params, gsl_vector * f);
+ int (* df) (const gsl_vector * x, void * params, gsl_matrix * df);
+ int (* fdf) (const gsl_vector * x, void * params, gsl_vector * f, gsl_matrix *df);
+ size_t n; /* number of functions */
+ size_t p; /* number of independent variables */
+ void * params; /* user parameters */
+ size_t nevalf; /* number of function evaluations */
+ size_t nevaldf; /* number of Jacobian evaluations */
+};
+
+typedef struct gsl_multifit_function_fdf_struct gsl_multifit_function_fdf ;
+
+typedef struct
+ {
+ const char *name;
+ size_t size;
+ int (*alloc) (void *state, size_t n, size_t p);
+ int (*set) (void *state, const gsl_vector * wts,
+ gsl_multifit_function_fdf * fdf, gsl_vector * x,
+ gsl_vector * f, gsl_vector * dx);
+ int (*iterate) (void *state, const gsl_vector * wts,
+ gsl_multifit_function_fdf * fdf, gsl_vector * x,
+ gsl_vector * f, gsl_vector * dx);
+ int (*gradient) (void *state, gsl_vector * g);
+ int (*jac) (void *state, gsl_matrix * J);
+ void (*free) (void *state);
+ }
+gsl_multifit_fdfsolver_type;
+
+typedef struct
+ {
+ const gsl_multifit_fdfsolver_type * type;
+ gsl_multifit_function_fdf * fdf ;
+ gsl_vector * x; /* parameter values x */
+ gsl_vector * f; /* residual vector f(x) */
+ gsl_vector * dx; /* step dx */
+ gsl_vector * g; /* gradient J^T f */
+ gsl_vector * sqrt_wts; /* sqrt(wts) */
+ size_t niter; /* number of iterations performed */
+ void *state;
+ }
+gsl_multifit_fdfsolver;
+
+
+gsl_multifit_fdfsolver *
+gsl_multifit_fdfsolver_alloc (const gsl_multifit_fdfsolver_type * T,
+ size_t n, size_t p);
+
+int
+gsl_multifit_fdfsolver_set (gsl_multifit_fdfsolver * s,
+ gsl_multifit_function_fdf * fdf,
+ const gsl_vector * x);
+int gsl_multifit_fdfsolver_wset (gsl_multifit_fdfsolver * s,
+ gsl_multifit_function_fdf * f,
+ const gsl_vector * x,
+ const gsl_vector * wts);
+
+int
+gsl_multifit_fdfsolver_iterate (gsl_multifit_fdfsolver * s);
+
+int gsl_multifit_fdfsolver_driver (gsl_multifit_fdfsolver * s,
+ const size_t maxiter,
+ const double xtol,
+ const double gtol,
+ const double ftol,
+ int *info);
+
+int gsl_multifit_fdfsolver_jac (gsl_multifit_fdfsolver * s,
+ gsl_matrix * J);
+
+void
+gsl_multifit_fdfsolver_free (gsl_multifit_fdfsolver * s);
+
+const char * gsl_multifit_fdfsolver_name (const gsl_multifit_fdfsolver * s);
+gsl_vector * gsl_multifit_fdfsolver_position (const gsl_multifit_fdfsolver * s);
+gsl_vector * gsl_multifit_fdfsolver_residual (const gsl_multifit_fdfsolver * s);
+size_t gsl_multifit_fdfsolver_niter (const gsl_multifit_fdfsolver * s);
+int gsl_multifit_eval_wf(gsl_multifit_function_fdf *fdf,
+ const gsl_vector *x, const gsl_vector *wts,
+ gsl_vector *y);
+int gsl_multifit_eval_wdf(gsl_multifit_function_fdf *fdf,
+ const gsl_vector *x, const gsl_vector *wts,
+ gsl_matrix *dy);
+
+int gsl_multifit_fdfsolver_test (const gsl_multifit_fdfsolver * s,
+ const double xtol,
+ const double gtol,
+ const double ftol, int *info);
+int gsl_multifit_test_delta (const gsl_vector * dx, const gsl_vector * x,
+ double epsabs, double epsrel);
+
+int gsl_multifit_test_gradient (const gsl_vector * g, double epsabs);
+
+int gsl_multifit_fdfsolver_dif_df(const gsl_vector *x,
+ const gsl_vector *wts,
+ gsl_multifit_function_fdf *fdf,
+ const gsl_vector *f, gsl_matrix *J);
+int gsl_multifit_fdfsolver_dif_fdf(const gsl_vector *x, gsl_multifit_function_fdf *fdf,
+ gsl_vector *f, gsl_matrix *J);
+
+typedef struct
+{
+ size_t n; /* number of (original) residuals */
+ size_t p; /* number of model parameters */
+ double lambda; /* damping parameter */
+ const gsl_vector *L_diag; /* diagonal damping matrix or NULL */
+ const gsl_matrix *L; /* general damping matrix or NULL */
+ gsl_vector *f; /* function values for finite diff J */
+ gsl_vector *wts; /* weight vector for augmented system */
+ gsl_multifit_fdfsolver * s;
+ gsl_multifit_function_fdf *fdf; /* user defined fdf */
+ gsl_multifit_function_fdf fdftik; /* Tikhonov modified fdf */
+} gsl_multifit_fdfridge;
+
+gsl_multifit_fdfridge *
+gsl_multifit_fdfridge_alloc (const gsl_multifit_fdfsolver_type * T,
+ const size_t n, const size_t p);
+void gsl_multifit_fdfridge_free(gsl_multifit_fdfridge *work);
+const char *gsl_multifit_fdfridge_name(const gsl_multifit_fdfridge * w);
+gsl_vector *gsl_multifit_fdfridge_position (const gsl_multifit_fdfridge * w);
+gsl_vector *gsl_multifit_fdfridge_residual (const gsl_multifit_fdfridge * w);
+size_t gsl_multifit_fdfridge_niter (const gsl_multifit_fdfridge * w);
+int gsl_multifit_fdfridge_set (gsl_multifit_fdfridge * w,
+ gsl_multifit_function_fdf * f,
+ const gsl_vector * x,
+ const double lambda);
+int gsl_multifit_fdfridge_wset (gsl_multifit_fdfridge * w,
+ gsl_multifit_function_fdf * f,
+ const gsl_vector * x,
+ const double lambda,
+ const gsl_vector * wts);
+int gsl_multifit_fdfridge_set2 (gsl_multifit_fdfridge * w,
+ gsl_multifit_function_fdf * f,
+ const gsl_vector * x,
+ const gsl_vector * lambda);
+int gsl_multifit_fdfridge_wset2 (gsl_multifit_fdfridge * w,
+ gsl_multifit_function_fdf * f,
+ const gsl_vector * x,
+ const gsl_vector * lambda,
+ const gsl_vector * wts);
+int gsl_multifit_fdfridge_set3 (gsl_multifit_fdfridge * w,
+ gsl_multifit_function_fdf * f,
+ const gsl_vector * x,
+ const gsl_matrix * L);
+int gsl_multifit_fdfridge_wset3 (gsl_multifit_fdfridge * w,
+ gsl_multifit_function_fdf * f,
+ const gsl_vector * x,
+ const gsl_matrix * L,
+ const gsl_vector * wts);
+int gsl_multifit_fdfridge_iterate (gsl_multifit_fdfridge * w);
+int gsl_multifit_fdfridge_driver (gsl_multifit_fdfridge * w,
+ const size_t maxiter,
+ const double xtol,
+ const double gtol,
+ const double ftol,
+ int *info);
+
+/* extern const gsl_multifit_fsolver_type * gsl_multifit_fsolver_gradient; */
+
+GSL_VAR const gsl_multifit_fdfsolver_type * gsl_multifit_fdfsolver_lmsder;
+GSL_VAR const gsl_multifit_fdfsolver_type * gsl_multifit_fdfsolver_lmder;
+GSL_VAR const gsl_multifit_fdfsolver_type * gsl_multifit_fdfsolver_lmniel;
+
+__END_DECLS
+
+#endif /* __GSL_MULTIFIT_NLIN_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_multilarge.h b/thirdparty/includes/GSL/gsl/gsl_multilarge.h
new file mode 100644
index 0000000..e99c1e1
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_multilarge.h
@@ -0,0 +1,141 @@
+/* gsl_multilarge.h
+ *
+ * Copyright (C) 2015 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_MULTILARGE_H__
+#define __GSL_MULTILARGE_H__
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.h>
+#include <gsl/gsl_types.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
+
+/* iteration solver type */
+typedef struct
+{
+ const char *name;
+ void * (*alloc) (const size_t p);
+ int (*reset) (void *);
+ int (*accumulate) (gsl_matrix * X, gsl_vector * y,
+ void *);
+ int (*solve) (const double lambda, gsl_vector * c,
+ double * rnorm, double * snorm, void *);
+ int (*rcond) (double * rcond, void *);
+ int (*lcurve) (gsl_vector * reg_param, gsl_vector * rho,
+ gsl_vector * eta, void *);
+ void (*free) (void *);
+} gsl_multilarge_linear_type;
+
+typedef struct
+{
+ const gsl_multilarge_linear_type * type;
+ void * state;
+ size_t p;
+} gsl_multilarge_linear_workspace;
+
+/* available types */
+GSL_VAR const gsl_multilarge_linear_type * gsl_multilarge_linear_normal;
+GSL_VAR const gsl_multilarge_linear_type * gsl_multilarge_linear_tsqr;
+
+/*
+ * Prototypes
+ */
+gsl_multilarge_linear_workspace *
+gsl_multilarge_linear_alloc(const gsl_multilarge_linear_type * T,
+ const size_t p);
+
+void gsl_multilarge_linear_free(gsl_multilarge_linear_workspace * w);
+
+const char *gsl_multilarge_linear_name(const gsl_multilarge_linear_workspace * w);
+
+int gsl_multilarge_linear_reset(gsl_multilarge_linear_workspace * w);
+
+int gsl_multilarge_linear_accumulate(gsl_matrix * X,
+ gsl_vector * y,
+ gsl_multilarge_linear_workspace * w);
+
+int gsl_multilarge_linear_solve(const double lambda, gsl_vector * c,
+ double * rnorm, double * snorm,
+ gsl_multilarge_linear_workspace * w);
+
+int gsl_multilarge_linear_rcond(double *rcond, gsl_multilarge_linear_workspace * w);
+
+int gsl_multilarge_linear_lcurve(gsl_vector * reg_param, gsl_vector * rho,
+ gsl_vector * eta,
+ gsl_multilarge_linear_workspace * w);
+
+int gsl_multilarge_linear_wstdform1 (const gsl_vector * L,
+ const gsl_matrix * X,
+ const gsl_vector * w,
+ const gsl_vector * y,
+ gsl_matrix * Xs,
+ gsl_vector * ys,
+ gsl_multilarge_linear_workspace * work);
+
+int gsl_multilarge_linear_stdform1 (const gsl_vector * L,
+ const gsl_matrix * X,
+ const gsl_vector * y,
+ gsl_matrix * Xs,
+ gsl_vector * ys,
+ gsl_multilarge_linear_workspace * work);
+
+int gsl_multilarge_linear_L_decomp (gsl_matrix * L, gsl_vector * tau);
+
+int gsl_multilarge_linear_wstdform2 (const gsl_matrix * LQR,
+ const gsl_vector * Ltau,
+ const gsl_matrix * X,
+ const gsl_vector * w,
+ const gsl_vector * y,
+ gsl_matrix * Xs,
+ gsl_vector * ys,
+ gsl_multilarge_linear_workspace * work);
+
+int gsl_multilarge_linear_stdform2 (const gsl_matrix * LQR,
+ const gsl_vector * Ltau,
+ const gsl_matrix * X,
+ const gsl_vector * y,
+ gsl_matrix * Xs,
+ gsl_vector * ys,
+ gsl_multilarge_linear_workspace * work);
+
+int gsl_multilarge_linear_genform1 (const gsl_vector * L,
+ const gsl_vector * cs,
+ gsl_vector * c,
+ gsl_multilarge_linear_workspace * work);
+
+int gsl_multilarge_linear_genform2 (const gsl_matrix * LQR,
+ const gsl_vector * Ltau,
+ const gsl_vector * cs,
+ gsl_vector * c,
+ gsl_multilarge_linear_workspace * work);
+
+__END_DECLS
+
+#endif /* __GSL_MULTILARGE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_multimin.h b/thirdparty/includes/GSL/gsl/gsl_multimin.h
new file mode 100644
index 0000000..2870227
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_multimin.h
@@ -0,0 +1,226 @@
+/* multimin/gsl_multimin.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000 Fabrice Rossi
+ *
+ * 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.
+ */
+
+/* Modified by Tuomo Keskitalo to include fminimizer and
+ Nelder Mead related lines */
+
+#ifndef __GSL_MULTIMIN_H__
+#define __GSL_MULTIMIN_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.h>
+#include <gsl/gsl_min.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
+
+/* Definition of an arbitrary real-valued function with gsl_vector input and */
+/* parameters */
+struct gsl_multimin_function_struct
+{
+ double (* f) (const gsl_vector * x, void * params);
+ size_t n;
+ void * params;
+};
+
+typedef struct gsl_multimin_function_struct gsl_multimin_function;
+
+#define GSL_MULTIMIN_FN_EVAL(F,x) (*((F)->f))(x,(F)->params)
+
+/* Definition of an arbitrary differentiable real-valued function */
+/* with gsl_vector input and parameters */
+struct gsl_multimin_function_fdf_struct
+{
+ double (* f) (const gsl_vector * x, void * params);
+ void (* df) (const gsl_vector * x, void * params,gsl_vector * df);
+ void (* fdf) (const gsl_vector * x, void * params,double *f,gsl_vector * df);
+ size_t n;
+ void * params;
+};
+
+typedef struct gsl_multimin_function_fdf_struct gsl_multimin_function_fdf;
+
+#define GSL_MULTIMIN_FN_EVAL_F(F,x) (*((F)->f))(x,(F)->params)
+#define GSL_MULTIMIN_FN_EVAL_DF(F,x,g) (*((F)->df))(x,(F)->params,(g))
+#define GSL_MULTIMIN_FN_EVAL_F_DF(F,x,y,g) (*((F)->fdf))(x,(F)->params,(y),(g))
+
+int gsl_multimin_diff (const gsl_multimin_function * f,
+ const gsl_vector * x, gsl_vector * g);
+
+/* minimization of non-differentiable functions */
+
+typedef struct
+{
+ const char *name;
+ size_t size;
+ int (*alloc) (void *state, size_t n);
+ int (*set) (void *state, gsl_multimin_function * f,
+ const gsl_vector * x,
+ double * size,
+ const gsl_vector * step_size);
+ int (*iterate) (void *state, gsl_multimin_function * f,
+ gsl_vector * x,
+ double * size,
+ double * fval);
+ void (*free) (void *state);
+}
+gsl_multimin_fminimizer_type;
+
+typedef struct
+{
+ /* multi dimensional part */
+ const gsl_multimin_fminimizer_type *type;
+ gsl_multimin_function *f;
+
+ double fval;
+ gsl_vector * x;
+
+ double size;
+
+ void *state;
+}
+gsl_multimin_fminimizer;
+
+gsl_multimin_fminimizer *
+gsl_multimin_fminimizer_alloc(const gsl_multimin_fminimizer_type *T,
+ size_t n);
+
+int
+gsl_multimin_fminimizer_set (gsl_multimin_fminimizer * s,
+ gsl_multimin_function * f,
+ const gsl_vector * x,
+ const gsl_vector * step_size);
+
+void
+gsl_multimin_fminimizer_free(gsl_multimin_fminimizer *s);
+
+const char *
+gsl_multimin_fminimizer_name (const gsl_multimin_fminimizer * s);
+
+int
+gsl_multimin_fminimizer_iterate(gsl_multimin_fminimizer *s);
+
+gsl_vector *
+gsl_multimin_fminimizer_x (const gsl_multimin_fminimizer * s);
+
+double
+gsl_multimin_fminimizer_minimum (const gsl_multimin_fminimizer * s);
+
+double
+gsl_multimin_fminimizer_size (const gsl_multimin_fminimizer * s);
+
+/* Convergence test functions */
+
+int
+gsl_multimin_test_gradient(const gsl_vector * g, double epsabs);
+
+int
+gsl_multimin_test_size(const double size, double epsabs);
+
+/* minimisation of differentiable functions */
+
+typedef struct
+{
+ const char *name;
+ size_t size;
+ int (*alloc) (void *state, size_t n);
+ int (*set) (void *state, gsl_multimin_function_fdf * fdf,
+ const gsl_vector * x, double * f,
+ gsl_vector * gradient, double step_size, double tol);
+ int (*iterate) (void *state,gsl_multimin_function_fdf * fdf,
+ gsl_vector * x, double * f,
+ gsl_vector * gradient, gsl_vector * dx);
+ int (*restart) (void *state);
+ void (*free) (void *state);
+}
+gsl_multimin_fdfminimizer_type;
+
+typedef struct
+{
+ /* multi dimensional part */
+ const gsl_multimin_fdfminimizer_type *type;
+ gsl_multimin_function_fdf *fdf;
+
+ double f;
+ gsl_vector * x;
+ gsl_vector * gradient;
+ gsl_vector * dx;
+
+ void *state;
+}
+gsl_multimin_fdfminimizer;
+
+gsl_multimin_fdfminimizer *
+gsl_multimin_fdfminimizer_alloc(const gsl_multimin_fdfminimizer_type *T,
+ size_t n);
+
+int
+gsl_multimin_fdfminimizer_set (gsl_multimin_fdfminimizer * s,
+ gsl_multimin_function_fdf *fdf,
+ const gsl_vector * x,
+ double step_size, double tol);
+
+void
+gsl_multimin_fdfminimizer_free(gsl_multimin_fdfminimizer *s);
+
+const char *
+gsl_multimin_fdfminimizer_name (const gsl_multimin_fdfminimizer * s);
+
+int
+gsl_multimin_fdfminimizer_iterate(gsl_multimin_fdfminimizer *s);
+
+int
+gsl_multimin_fdfminimizer_restart(gsl_multimin_fdfminimizer *s);
+
+gsl_vector *
+gsl_multimin_fdfminimizer_x (const gsl_multimin_fdfminimizer * s);
+
+gsl_vector *
+gsl_multimin_fdfminimizer_dx (const gsl_multimin_fdfminimizer * s);
+
+gsl_vector *
+gsl_multimin_fdfminimizer_gradient (const gsl_multimin_fdfminimizer * s);
+
+double
+gsl_multimin_fdfminimizer_minimum (const gsl_multimin_fdfminimizer * s);
+
+GSL_VAR const gsl_multimin_fdfminimizer_type *gsl_multimin_fdfminimizer_steepest_descent;
+GSL_VAR const gsl_multimin_fdfminimizer_type *gsl_multimin_fdfminimizer_conjugate_pr;
+GSL_VAR const gsl_multimin_fdfminimizer_type *gsl_multimin_fdfminimizer_conjugate_fr;
+GSL_VAR const gsl_multimin_fdfminimizer_type *gsl_multimin_fdfminimizer_vector_bfgs;
+GSL_VAR const gsl_multimin_fdfminimizer_type *gsl_multimin_fdfminimizer_vector_bfgs2;
+GSL_VAR const gsl_multimin_fminimizer_type *gsl_multimin_fminimizer_nmsimplex;
+GSL_VAR const gsl_multimin_fminimizer_type *gsl_multimin_fminimizer_nmsimplex2;
+GSL_VAR const gsl_multimin_fminimizer_type *gsl_multimin_fminimizer_nmsimplex2rand;
+
+__END_DECLS
+
+#endif /* __GSL_MULTIMIN_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_multiroots.h b/thirdparty/includes/GSL/gsl/gsl_multiroots.h
new file mode 100644
index 0000000..7f66154
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_multiroots.h
@@ -0,0 +1,177 @@
+/* multiroots/gsl_multiroots.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_MULTIROOTS_H__
+#define __GSL_MULTIROOTS_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.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
+
+/* Definition of vector-valued functions with parameters based on gsl_vector */
+
+struct gsl_multiroot_function_struct
+{
+ int (* f) (const gsl_vector * x, void * params, gsl_vector * f);
+ size_t n;
+ void * params;
+};
+
+typedef struct gsl_multiroot_function_struct gsl_multiroot_function ;
+
+#define GSL_MULTIROOT_FN_EVAL(F,x,y) (*((F)->f))(x,(F)->params,(y))
+
+int gsl_multiroot_fdjacobian (gsl_multiroot_function * F,
+ const gsl_vector * x, const gsl_vector * f,
+ double epsrel, gsl_matrix * jacobian);
+
+
+typedef struct
+ {
+ const char *name;
+ size_t size;
+ int (*alloc) (void *state, size_t n);
+ int (*set) (void *state, gsl_multiroot_function * function, gsl_vector * x, gsl_vector * f, gsl_vector * dx);
+ int (*iterate) (void *state, gsl_multiroot_function * function, gsl_vector * x, gsl_vector * f, gsl_vector * dx);
+ void (*free) (void *state);
+ }
+gsl_multiroot_fsolver_type;
+
+typedef struct
+ {
+ const gsl_multiroot_fsolver_type * type;
+ gsl_multiroot_function * function ;
+ gsl_vector * x ;
+ gsl_vector * f ;
+ gsl_vector * dx ;
+ void *state;
+ }
+gsl_multiroot_fsolver;
+
+gsl_multiroot_fsolver *
+gsl_multiroot_fsolver_alloc (const gsl_multiroot_fsolver_type * T,
+ size_t n);
+
+void gsl_multiroot_fsolver_free (gsl_multiroot_fsolver * s);
+
+int gsl_multiroot_fsolver_set (gsl_multiroot_fsolver * s,
+ gsl_multiroot_function * f,
+ const gsl_vector * x);
+
+int gsl_multiroot_fsolver_iterate (gsl_multiroot_fsolver * s);
+
+const char * gsl_multiroot_fsolver_name (const gsl_multiroot_fsolver * s);
+gsl_vector * gsl_multiroot_fsolver_root (const gsl_multiroot_fsolver * s);
+gsl_vector * gsl_multiroot_fsolver_dx (const gsl_multiroot_fsolver * s);
+gsl_vector * gsl_multiroot_fsolver_f (const gsl_multiroot_fsolver * s);
+
+/* Definition of vector-valued functions and gradient with parameters
+ based on gsl_vector */
+
+struct gsl_multiroot_function_fdf_struct
+{
+ int (* f) (const gsl_vector * x, void * params, gsl_vector * f);
+ int (* df) (const gsl_vector * x, void * params, gsl_matrix * df);
+ int (* fdf) (const gsl_vector * x, void * params, gsl_vector * f, gsl_matrix *df);
+ size_t n;
+ void * params;
+};
+
+typedef struct gsl_multiroot_function_fdf_struct gsl_multiroot_function_fdf ;
+
+#define GSL_MULTIROOT_FN_EVAL_F(F,x,y) ((*((F)->f))(x,(F)->params,(y)))
+#define GSL_MULTIROOT_FN_EVAL_DF(F,x,dy) ((*((F)->df))(x,(F)->params,(dy)))
+#define GSL_MULTIROOT_FN_EVAL_F_DF(F,x,y,dy) ((*((F)->fdf))(x,(F)->params,(y),(dy)))
+
+typedef struct
+ {
+ const char *name;
+ size_t size;
+ int (*alloc) (void *state, size_t n);
+ int (*set) (void *state, gsl_multiroot_function_fdf * fdf, gsl_vector * x, gsl_vector * f, gsl_matrix * J, gsl_vector * dx);
+ int (*iterate) (void *state, gsl_multiroot_function_fdf * fdf, gsl_vector * x, gsl_vector * f, gsl_matrix * J, gsl_vector * dx);
+ void (*free) (void *state);
+ }
+gsl_multiroot_fdfsolver_type;
+
+typedef struct
+ {
+ const gsl_multiroot_fdfsolver_type * type;
+ gsl_multiroot_function_fdf * fdf ;
+ gsl_vector * x;
+ gsl_vector * f;
+ gsl_matrix * J;
+ gsl_vector * dx;
+ void *state;
+ }
+gsl_multiroot_fdfsolver;
+
+gsl_multiroot_fdfsolver *
+gsl_multiroot_fdfsolver_alloc (const gsl_multiroot_fdfsolver_type * T,
+ size_t n);
+
+int
+gsl_multiroot_fdfsolver_set (gsl_multiroot_fdfsolver * s,
+ gsl_multiroot_function_fdf * fdf,
+ const gsl_vector * x);
+
+int
+gsl_multiroot_fdfsolver_iterate (gsl_multiroot_fdfsolver * s);
+
+void
+gsl_multiroot_fdfsolver_free (gsl_multiroot_fdfsolver * s);
+
+const char * gsl_multiroot_fdfsolver_name (const gsl_multiroot_fdfsolver * s);
+gsl_vector * gsl_multiroot_fdfsolver_root (const gsl_multiroot_fdfsolver * s);
+gsl_vector * gsl_multiroot_fdfsolver_dx (const gsl_multiroot_fdfsolver * s);
+gsl_vector * gsl_multiroot_fdfsolver_f (const gsl_multiroot_fdfsolver * s);
+
+int gsl_multiroot_test_delta (const gsl_vector * dx, const gsl_vector * x,
+ double epsabs, double epsrel);
+
+int gsl_multiroot_test_residual (const gsl_vector * f, double epsabs);
+
+GSL_VAR const gsl_multiroot_fsolver_type * gsl_multiroot_fsolver_dnewton;
+GSL_VAR const gsl_multiroot_fsolver_type * gsl_multiroot_fsolver_broyden;
+GSL_VAR const gsl_multiroot_fsolver_type * gsl_multiroot_fsolver_hybrid;
+GSL_VAR const gsl_multiroot_fsolver_type * gsl_multiroot_fsolver_hybrids;
+
+GSL_VAR const gsl_multiroot_fdfsolver_type * gsl_multiroot_fdfsolver_newton;
+GSL_VAR const gsl_multiroot_fdfsolver_type * gsl_multiroot_fdfsolver_gnewton;
+GSL_VAR const gsl_multiroot_fdfsolver_type * gsl_multiroot_fdfsolver_hybridj;
+GSL_VAR const gsl_multiroot_fdfsolver_type * gsl_multiroot_fdfsolver_hybridsj;
+
+
+__END_DECLS
+
+#endif /* __GSL_MULTIROOTS_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_multiset.h b/thirdparty/includes/GSL/gsl/gsl_multiset.h
new file mode 100644
index 0000000..1ba5d6c
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_multiset.h
@@ -0,0 +1,93 @@
+/* multiset/gsl_multiset.h
+ * based on combination/gsl_combination.h by Szymon Jaroszewicz
+ * based on permutation/gsl_permutation.h by Brian Gough
+ *
+ * Copyright (C) 2009 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_MULTISET_H__
+#define __GSL_MULTISET_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.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_multiset_struct
+{
+ size_t n;
+ size_t k;
+ size_t *data;
+};
+
+typedef struct gsl_multiset_struct gsl_multiset;
+
+gsl_multiset *gsl_multiset_alloc (const size_t n, const size_t k);
+gsl_multiset *gsl_multiset_calloc (const size_t n, const size_t k);
+void gsl_multiset_init_first (gsl_multiset * c);
+void gsl_multiset_init_last (gsl_multiset * c);
+void gsl_multiset_free (gsl_multiset * c);
+int gsl_multiset_memcpy (gsl_multiset * dest, const gsl_multiset * src);
+
+int gsl_multiset_fread (FILE * stream, gsl_multiset * c);
+int gsl_multiset_fwrite (FILE * stream, const gsl_multiset * c);
+int gsl_multiset_fscanf (FILE * stream, gsl_multiset * c);
+int gsl_multiset_fprintf (FILE * stream, const gsl_multiset * c, const char *format);
+
+size_t gsl_multiset_n (const gsl_multiset * c);
+size_t gsl_multiset_k (const gsl_multiset * c);
+size_t * gsl_multiset_data (const gsl_multiset * c);
+
+int gsl_multiset_valid (gsl_multiset * c);
+int gsl_multiset_next (gsl_multiset * c);
+int gsl_multiset_prev (gsl_multiset * c);
+
+INLINE_DECL size_t gsl_multiset_get (const gsl_multiset * c, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+size_t
+gsl_multiset_get (const gsl_multiset * 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_MULTISET_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_nan.h b/thirdparty/includes/GSL/gsl/gsl_nan.h
new file mode 100644
index 0000000..5cb52ef
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_nan.h
@@ -0,0 +1,45 @@
+/* gsl_nan.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_NAN_H__
+#define __GSL_NAN_H__
+
+#ifdef INFINITY
+# define GSL_POSINF INFINITY
+# define GSL_NEGINF (-INFINITY)
+#elif defined(HUGE_VAL)
+# define GSL_POSINF HUGE_VAL
+# define GSL_NEGINF (-HUGE_VAL)
+#else
+# define GSL_POSINF (gsl_posinf())
+# define GSL_NEGINF (gsl_neginf())
+#endif
+
+#ifdef NAN
+# define GSL_NAN NAN
+#elif defined(INFINITY)
+# define GSL_NAN (INFINITY/INFINITY)
+#else
+# define GSL_NAN (gsl_nan())
+#endif
+
+#define GSL_POSZERO (+0.0)
+#define GSL_NEGZERO (-0.0)
+
+#endif /* __GSL_NAN_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_ntuple.h b/thirdparty/includes/GSL/gsl/gsl_ntuple.h
new file mode 100644
index 0000000..90d8a26
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_ntuple.h
@@ -0,0 +1,82 @@
+/* histogram/ntuple.h
+ *
+ * Copyright (C) 2000 Simone Piccardi
+ *
+ * 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.
+ *
+ */
+
+/* Jan/2001 Modified by Brian Gough. Minor changes for GSL */
+
+#ifndef __GSL_NTUPLE_H__
+#define __GSL_NTUPLE_H__
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_histogram.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
+
+typedef struct {
+ FILE * file;
+ void * ntuple_data;
+ size_t size;
+} gsl_ntuple;
+
+typedef struct {
+ int (* function) (void * ntuple_data, void * params);
+ void * params;
+} gsl_ntuple_select_fn;
+
+typedef struct {
+ double (* function) (void * ntuple_data, void * params);
+ void * params;
+} gsl_ntuple_value_fn;
+
+gsl_ntuple *
+gsl_ntuple_open (char * filename, void * ntuple_data, size_t size);
+
+gsl_ntuple *
+gsl_ntuple_create (char * filename, void * ntuple_data, size_t size);
+
+int gsl_ntuple_write (gsl_ntuple * ntuple);
+int gsl_ntuple_read (gsl_ntuple * ntuple);
+
+int gsl_ntuple_bookdata (gsl_ntuple * ntuple); /* synonym for write */
+
+int gsl_ntuple_project (gsl_histogram * h, gsl_ntuple * ntuple,
+ gsl_ntuple_value_fn *value_func,
+ gsl_ntuple_select_fn *select_func);
+
+int gsl_ntuple_close (gsl_ntuple * ntuple);
+
+__END_DECLS
+
+#endif /* __GSL_NTUPLE_H__ */
+
+
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_odeiv.h b/thirdparty/includes/GSL/gsl/gsl_odeiv.h
new file mode 100644
index 0000000..d70f150
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_odeiv.h
@@ -0,0 +1,230 @@
+/* ode-initval/gsl_odeiv.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_ODEIV_H__
+#define __GSL_ODEIV_H__
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <gsl/gsl_types.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
+
+
+/* Description of a system of ODEs.
+ *
+ * y' = f(t,y) = dydt(t, y)
+ *
+ * The system is specified by giving the right-hand-side
+ * of the equation and possibly a jacobian function.
+ *
+ * Some methods require the jacobian function, which calculates
+ * the matrix dfdy and the vector dfdt. The matrix dfdy conforms
+ * to the GSL standard, being a continuous range of floating point
+ * values, in row-order.
+ *
+ * As with GSL function objects, user-supplied parameter
+ * data is also present.
+ */
+
+typedef struct
+{
+ int (* function) (double t, const double y[], double dydt[], void * params);
+ int (* jacobian) (double t, const double y[], double * dfdy, double dfdt[], void * params);
+ size_t dimension;
+ void * params;
+}
+gsl_odeiv_system;
+
+#define GSL_ODEIV_FN_EVAL(S,t,y,f) (*((S)->function))(t,y,f,(S)->params)
+#define GSL_ODEIV_JA_EVAL(S,t,y,dfdy,dfdt) (*((S)->jacobian))(t,y,dfdy,dfdt,(S)->params)
+
+
+/* General stepper object.
+ *
+ * Opaque object for stepping an ODE system from t to t+h.
+ * In general the object has some state which facilitates
+ * iterating the stepping operation.
+ */
+
+typedef struct
+{
+ const char * name;
+ int can_use_dydt_in;
+ int gives_exact_dydt_out;
+ void * (*alloc) (size_t dim);
+ int (*apply) (void * state, size_t dim, double t, double h, double y[], double yerr[], const double dydt_in[], double dydt_out[], const gsl_odeiv_system * dydt);
+ int (*reset) (void * state, size_t dim);
+ unsigned int (*order) (void * state);
+ void (*free) (void * state);
+}
+gsl_odeiv_step_type;
+
+typedef struct {
+ const gsl_odeiv_step_type * type;
+ size_t dimension;
+ void * state;
+}
+gsl_odeiv_step;
+
+
+/* Available stepper types.
+ *
+ * rk2 : embedded 2nd(3rd) Runge-Kutta
+ * rk4 : 4th order (classical) Runge-Kutta
+ * rkck : embedded 4th(5th) Runge-Kutta, Cash-Karp
+ * rk8pd : embedded 8th(9th) Runge-Kutta, Prince-Dormand
+ * rk2imp : implicit 2nd order Runge-Kutta at Gaussian points
+ * rk4imp : implicit 4th order Runge-Kutta at Gaussian points
+ * gear1 : M=1 implicit Gear method
+ * gear2 : M=2 implicit Gear method
+ */
+
+GSL_VAR const gsl_odeiv_step_type *gsl_odeiv_step_rk2;
+GSL_VAR const gsl_odeiv_step_type *gsl_odeiv_step_rk4;
+GSL_VAR const gsl_odeiv_step_type *gsl_odeiv_step_rkf45;
+GSL_VAR const gsl_odeiv_step_type *gsl_odeiv_step_rkck;
+GSL_VAR const gsl_odeiv_step_type *gsl_odeiv_step_rk8pd;
+GSL_VAR const gsl_odeiv_step_type *gsl_odeiv_step_rk2imp;
+GSL_VAR const gsl_odeiv_step_type *gsl_odeiv_step_rk2simp;
+GSL_VAR const gsl_odeiv_step_type *gsl_odeiv_step_rk4imp;
+GSL_VAR const gsl_odeiv_step_type *gsl_odeiv_step_bsimp;
+GSL_VAR const gsl_odeiv_step_type *gsl_odeiv_step_gear1;
+GSL_VAR const gsl_odeiv_step_type *gsl_odeiv_step_gear2;
+
+
+/* Constructor for specialized stepper objects.
+ */
+gsl_odeiv_step * gsl_odeiv_step_alloc(const gsl_odeiv_step_type * T, size_t dim);
+int gsl_odeiv_step_reset(gsl_odeiv_step * s);
+void gsl_odeiv_step_free(gsl_odeiv_step * s);
+
+/* General stepper object methods.
+ */
+const char * gsl_odeiv_step_name(const gsl_odeiv_step * s);
+unsigned int gsl_odeiv_step_order(const gsl_odeiv_step * s);
+
+int gsl_odeiv_step_apply(gsl_odeiv_step * s, double t, double h, double y[], double yerr[], const double dydt_in[], double dydt_out[], const gsl_odeiv_system * dydt);
+
+/* General step size control object.
+ *
+ * The hadjust() method controls the adjustment of
+ * step size given the result of a step and the error.
+ * Valid hadjust() methods must return one of the codes below.
+ *
+ * The general data can be used by specializations
+ * to store state and control their heuristics.
+ */
+
+typedef struct
+{
+ const char * name;
+ void * (*alloc) (void);
+ int (*init) (void * state, double eps_abs, double eps_rel, double a_y, double a_dydt);
+ int (*hadjust) (void * state, size_t dim, unsigned int ord, const double y[], const double yerr[], const double yp[], double * h);
+ void (*free) (void * state);
+}
+gsl_odeiv_control_type;
+
+typedef struct
+{
+ const gsl_odeiv_control_type * type;
+ void * state;
+}
+gsl_odeiv_control;
+
+/* Possible return values for an hadjust() evolution method.
+ */
+#define GSL_ODEIV_HADJ_INC 1 /* step was increased */
+#define GSL_ODEIV_HADJ_NIL 0 /* step unchanged */
+#define GSL_ODEIV_HADJ_DEC (-1) /* step decreased */
+
+gsl_odeiv_control * gsl_odeiv_control_alloc(const gsl_odeiv_control_type * T);
+int gsl_odeiv_control_init(gsl_odeiv_control * c, double eps_abs, double eps_rel, double a_y, double a_dydt);
+void gsl_odeiv_control_free(gsl_odeiv_control * c);
+int gsl_odeiv_control_hadjust (gsl_odeiv_control * c, gsl_odeiv_step * s, const double y[], const double yerr[], const double dydt[], double * h);
+const char * gsl_odeiv_control_name(const gsl_odeiv_control * c);
+
+/* Available control object constructors.
+ *
+ * The standard control object is a four parameter heuristic
+ * defined as follows:
+ * D0 = eps_abs + eps_rel * (a_y |y| + a_dydt h |y'|)
+ * D1 = |yerr|
+ * q = consistency order of method (q=4 for 4(5) embedded RK)
+ * S = safety factor (0.9 say)
+ *
+ * / (D0/D1)^(1/(q+1)) D0 >= D1
+ * h_NEW = S h_OLD * |
+ * \ (D0/D1)^(1/q) D0 < D1
+ *
+ * This encompasses all the standard error scaling methods.
+ *
+ * The y method is the standard method with a_y=1, a_dydt=0.
+ * The yp method is the standard method with a_y=0, a_dydt=1.
+ */
+
+gsl_odeiv_control * gsl_odeiv_control_standard_new(double eps_abs, double eps_rel, double a_y, double a_dydt);
+gsl_odeiv_control * gsl_odeiv_control_y_new(double eps_abs, double eps_rel);
+gsl_odeiv_control * gsl_odeiv_control_yp_new(double eps_abs, double eps_rel);
+
+/* This controller computes errors using different absolute errors for
+ * each component
+ *
+ * D0 = eps_abs * scale_abs[i] + eps_rel * (a_y |y| + a_dydt h |y'|)
+ */
+gsl_odeiv_control * gsl_odeiv_control_scaled_new(double eps_abs, double eps_rel, double a_y, double a_dydt, const double scale_abs[], size_t dim);
+
+/* General evolution object.
+ */
+typedef struct {
+ size_t dimension;
+ double * y0;
+ double * yerr;
+ double * dydt_in;
+ double * dydt_out;
+ double last_step;
+ unsigned long int count;
+ unsigned long int failed_steps;
+}
+gsl_odeiv_evolve;
+
+/* Evolution object methods.
+ */
+gsl_odeiv_evolve * gsl_odeiv_evolve_alloc(size_t dim);
+int gsl_odeiv_evolve_apply(gsl_odeiv_evolve * e, gsl_odeiv_control * con, gsl_odeiv_step * step, const gsl_odeiv_system * dydt, double * t, double t1, double * h, double y[]);
+int gsl_odeiv_evolve_reset(gsl_odeiv_evolve * e);
+void gsl_odeiv_evolve_free(gsl_odeiv_evolve * e);
+
+
+__END_DECLS
+
+#endif /* __GSL_ODEIV_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_odeiv2.h b/thirdparty/includes/GSL/gsl/gsl_odeiv2.h
new file mode 100644
index 0000000..9bcfbae
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_odeiv2.h
@@ -0,0 +1,333 @@
+/* ode-initval/odeiv2.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 */
+/* Modified by Tuomo Keskitalo */
+
+#ifndef __GSL_ODEIV2_H__
+#define __GSL_ODEIV2_H__
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <gsl/gsl_types.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
+/* Description of a system of ODEs.
+ *
+ * y' = f(t,y) = dydt(t, y)
+ *
+ * The system is specified by giving the right-hand-side
+ * of the equation and possibly a jacobian function.
+ *
+ * Some methods require the jacobian function, which calculates
+ * the matrix dfdy and the vector dfdt. The matrix dfdy conforms
+ * to the GSL standard, being a continuous range of floating point
+ * values, in row-order.
+ *
+ * As with GSL function objects, user-supplied parameter
+ * data is also present.
+ */
+ typedef struct
+{
+ int (*function) (double t, const double y[], double dydt[], void *params);
+ int (*jacobian) (double t, const double y[], double *dfdy, double dfdt[],
+ void *params);
+ size_t dimension;
+ void *params;
+}
+gsl_odeiv2_system;
+
+/* Function evaluation macros */
+
+#define GSL_ODEIV_FN_EVAL(S,t,y,f) (*((S)->function))(t,y,f,(S)->params)
+#define GSL_ODEIV_JA_EVAL(S,t,y,dfdy,dfdt) (*((S)->jacobian))(t,y,dfdy,dfdt,(S)->params)
+
+/* Type definitions */
+
+typedef struct gsl_odeiv2_step_struct gsl_odeiv2_step;
+typedef struct gsl_odeiv2_control_struct gsl_odeiv2_control;
+typedef struct gsl_odeiv2_evolve_struct gsl_odeiv2_evolve;
+typedef struct gsl_odeiv2_driver_struct gsl_odeiv2_driver;
+
+/* Stepper object
+ *
+ * Opaque object for stepping an ODE system from t to t+h.
+ * In general the object has some state which facilitates
+ * iterating the stepping operation.
+ */
+
+typedef struct
+{
+ const char *name;
+ int can_use_dydt_in;
+ int gives_exact_dydt_out;
+ void *(*alloc) (size_t dim);
+ int (*apply) (void *state, size_t dim, double t, double h, double y[],
+ double yerr[], const double dydt_in[], double dydt_out[],
+ const gsl_odeiv2_system * dydt);
+ int (*set_driver) (void *state, const gsl_odeiv2_driver * d);
+ int (*reset) (void *state, size_t dim);
+ unsigned int (*order) (void *state);
+ void (*free) (void *state);
+}
+gsl_odeiv2_step_type;
+
+struct gsl_odeiv2_step_struct
+{
+ const gsl_odeiv2_step_type *type;
+ size_t dimension;
+ void *state;
+};
+
+/* Available stepper types */
+
+GSL_VAR const gsl_odeiv2_step_type *gsl_odeiv2_step_rk2;
+GSL_VAR const gsl_odeiv2_step_type *gsl_odeiv2_step_rk4;
+GSL_VAR const gsl_odeiv2_step_type *gsl_odeiv2_step_rkf45;
+GSL_VAR const gsl_odeiv2_step_type *gsl_odeiv2_step_rkck;
+GSL_VAR const gsl_odeiv2_step_type *gsl_odeiv2_step_rk8pd;
+GSL_VAR const gsl_odeiv2_step_type *gsl_odeiv2_step_rk2imp;
+GSL_VAR const gsl_odeiv2_step_type *gsl_odeiv2_step_rk4imp;
+GSL_VAR const gsl_odeiv2_step_type *gsl_odeiv2_step_bsimp;
+GSL_VAR const gsl_odeiv2_step_type *gsl_odeiv2_step_rk1imp;
+GSL_VAR const gsl_odeiv2_step_type *gsl_odeiv2_step_msadams;
+GSL_VAR const gsl_odeiv2_step_type *gsl_odeiv2_step_msbdf;
+
+/* Stepper object methods */
+
+gsl_odeiv2_step *gsl_odeiv2_step_alloc (const gsl_odeiv2_step_type * T,
+ size_t dim);
+int gsl_odeiv2_step_reset (gsl_odeiv2_step * s);
+void gsl_odeiv2_step_free (gsl_odeiv2_step * s);
+const char *gsl_odeiv2_step_name (const gsl_odeiv2_step * s);
+unsigned int gsl_odeiv2_step_order (const gsl_odeiv2_step * s);
+int gsl_odeiv2_step_apply (gsl_odeiv2_step * s, double t, double h,
+ double y[], double yerr[], const double dydt_in[],
+ double dydt_out[], const gsl_odeiv2_system * dydt);
+int gsl_odeiv2_step_set_driver (gsl_odeiv2_step * s,
+ const gsl_odeiv2_driver * d);
+
+/* Step size control object. */
+
+typedef struct
+{
+ const char *name;
+ void *(*alloc) (void);
+ int (*init) (void *state, double eps_abs, double eps_rel, double a_y,
+ double a_dydt);
+ int (*hadjust) (void *state, size_t dim, unsigned int ord, const double y[],
+ const double yerr[], const double yp[], double *h);
+ int (*errlevel) (void *state, const double y, const double dydt,
+ const double h, const size_t ind, double *errlev);
+ int (*set_driver) (void *state, const gsl_odeiv2_driver * d);
+ void (*free) (void *state);
+}
+gsl_odeiv2_control_type;
+
+struct gsl_odeiv2_control_struct
+{
+ const gsl_odeiv2_control_type *type;
+ void *state;
+};
+
+/* Possible return values for an hadjust() evolution method */
+
+#define GSL_ODEIV_HADJ_INC 1 /* step was increased */
+#define GSL_ODEIV_HADJ_NIL 0 /* step unchanged */
+#define GSL_ODEIV_HADJ_DEC (-1) /* step decreased */
+
+/* General step size control methods.
+ *
+ * The hadjust() method controls the adjustment of
+ * step size given the result of a step and the error.
+ * Valid hadjust() methods must return one of the codes below.
+ * errlevel function calculates the desired error level D0.
+ *
+ * The general data can be used by specializations
+ * to store state and control their heuristics.
+ */
+
+gsl_odeiv2_control *gsl_odeiv2_control_alloc (const gsl_odeiv2_control_type *
+ T);
+int gsl_odeiv2_control_init (gsl_odeiv2_control * c, double eps_abs,
+ double eps_rel, double a_y, double a_dydt);
+void gsl_odeiv2_control_free (gsl_odeiv2_control * c);
+int gsl_odeiv2_control_hadjust (gsl_odeiv2_control * c, gsl_odeiv2_step * s,
+ const double y[], const double yerr[],
+ const double dydt[], double *h);
+const char *gsl_odeiv2_control_name (const gsl_odeiv2_control * c);
+int gsl_odeiv2_control_errlevel (gsl_odeiv2_control * c, const double y,
+ const double dydt, const double h,
+ const size_t ind, double *errlev);
+int gsl_odeiv2_control_set_driver (gsl_odeiv2_control * c,
+ const gsl_odeiv2_driver * d);
+
+/* Available control object constructors.
+ *
+ * The standard control object is a four parameter heuristic
+ * defined as follows:
+ * D0 = eps_abs + eps_rel * (a_y |y| + a_dydt h |y'|)
+ * D1 = |yerr|
+ * q = consistency order of method (q=4 for 4(5) embedded RK)
+ * S = safety factor (0.9 say)
+ *
+ * / (D0/D1)^(1/(q+1)) D0 >= D1
+ * h_NEW = S h_OLD * |
+ * \ (D0/D1)^(1/q) D0 < D1
+ *
+ * This encompasses all the standard error scaling methods.
+ *
+ * The y method is the standard method with a_y=1, a_dydt=0.
+ * The yp method is the standard method with a_y=0, a_dydt=1.
+ */
+
+gsl_odeiv2_control *gsl_odeiv2_control_standard_new (double eps_abs,
+ double eps_rel,
+ double a_y,
+ double a_dydt);
+gsl_odeiv2_control *gsl_odeiv2_control_y_new (double eps_abs, double eps_rel);
+gsl_odeiv2_control *gsl_odeiv2_control_yp_new (double eps_abs,
+ double eps_rel);
+
+/* This controller computes errors using different absolute errors for
+ * each component
+ *
+ * D0 = eps_abs * scale_abs[i] + eps_rel * (a_y |y| + a_dydt h |y'|)
+ */
+
+gsl_odeiv2_control *gsl_odeiv2_control_scaled_new (double eps_abs,
+ double eps_rel, double a_y,
+ double a_dydt,
+ const double scale_abs[],
+ size_t dim);
+
+/* Evolution object */
+
+struct gsl_odeiv2_evolve_struct
+{
+ size_t dimension;
+ double *y0;
+ double *yerr;
+ double *dydt_in;
+ double *dydt_out;
+ double last_step;
+ unsigned long int count;
+ unsigned long int failed_steps;
+ const gsl_odeiv2_driver *driver;
+};
+
+/* Evolution object methods */
+
+gsl_odeiv2_evolve *gsl_odeiv2_evolve_alloc (size_t dim);
+int gsl_odeiv2_evolve_apply (gsl_odeiv2_evolve * e, gsl_odeiv2_control * con,
+ gsl_odeiv2_step * step,
+ const gsl_odeiv2_system * dydt, double *t,
+ double t1, double *h, double y[]);
+int gsl_odeiv2_evolve_apply_fixed_step (gsl_odeiv2_evolve * e,
+ gsl_odeiv2_control * con,
+ gsl_odeiv2_step * step,
+ const gsl_odeiv2_system * dydt,
+ double *t, const double h0,
+ double y[]);
+int gsl_odeiv2_evolve_reset (gsl_odeiv2_evolve * e);
+void gsl_odeiv2_evolve_free (gsl_odeiv2_evolve * e);
+int gsl_odeiv2_evolve_set_driver (gsl_odeiv2_evolve * e,
+ const gsl_odeiv2_driver * d);
+
+/* Driver object
+ *
+ * This is a high level wrapper for step, control and
+ * evolve objects.
+ */
+
+struct gsl_odeiv2_driver_struct
+{
+ const gsl_odeiv2_system *sys; /* ODE system */
+ gsl_odeiv2_step *s; /* stepper object */
+ gsl_odeiv2_control *c; /* control object */
+ gsl_odeiv2_evolve *e; /* evolve object */
+ double h; /* step size */
+ double hmin; /* minimum step size allowed */
+ double hmax; /* maximum step size allowed */
+ unsigned long int n; /* number of steps taken */
+ unsigned long int nmax; /* Maximum number of steps allowed */
+};
+
+/* Driver object methods */
+
+gsl_odeiv2_driver *gsl_odeiv2_driver_alloc_y_new (const gsl_odeiv2_system *
+ sys,
+ const gsl_odeiv2_step_type *
+ T, const double hstart,
+ const double epsabs,
+ const double epsrel);
+gsl_odeiv2_driver *gsl_odeiv2_driver_alloc_yp_new (const gsl_odeiv2_system *
+ sys,
+ const gsl_odeiv2_step_type
+ * T, const double hstart,
+ const double epsabs,
+ const double epsrel);
+gsl_odeiv2_driver *gsl_odeiv2_driver_alloc_scaled_new (const gsl_odeiv2_system
+ * sys,
+ const
+ gsl_odeiv2_step_type *
+ T, const double hstart,
+ const double epsabs,
+ const double epsrel,
+ const double a_y,
+ const double a_dydt,
+ const double
+ scale_abs[]);
+gsl_odeiv2_driver *gsl_odeiv2_driver_alloc_standard_new (const
+ gsl_odeiv2_system *
+ sys,
+ const
+ gsl_odeiv2_step_type
+ * T,
+ const double hstart,
+ const double epsabs,
+ const double epsrel,
+ const double a_y,
+ const double a_dydt);
+int gsl_odeiv2_driver_set_hmin (gsl_odeiv2_driver * d, const double hmin);
+int gsl_odeiv2_driver_set_hmax (gsl_odeiv2_driver * d, const double hmax);
+int gsl_odeiv2_driver_set_nmax (gsl_odeiv2_driver * d,
+ const unsigned long int nmax);
+int gsl_odeiv2_driver_apply (gsl_odeiv2_driver * d, double *t,
+ const double t1, double y[]);
+int gsl_odeiv2_driver_apply_fixed_step (gsl_odeiv2_driver * d, double *t,
+ const double h,
+ const unsigned long int n,
+ double y[]);
+int gsl_odeiv2_driver_reset (gsl_odeiv2_driver * d);
+int gsl_odeiv2_driver_reset_hstart (gsl_odeiv2_driver * d, const double hstart);
+void gsl_odeiv2_driver_free (gsl_odeiv2_driver * state);
+
+__END_DECLS
+#endif /* __GSL_ODEIV2_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permutation.h b/thirdparty/includes/GSL/gsl/gsl_permutation.h
new file mode 100644
index 0000000..10ac0f5
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permutation.h
@@ -0,0 +1,100 @@
+/* permutation/gsl_permutation.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_PERMUTATION_H__
+#define __GSL_PERMUTATION_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.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_permutation_struct
+{
+ size_t size;
+ size_t *data;
+};
+
+typedef struct gsl_permutation_struct gsl_permutation;
+
+gsl_permutation *gsl_permutation_alloc (const size_t n);
+gsl_permutation *gsl_permutation_calloc (const size_t n);
+void gsl_permutation_init (gsl_permutation * p);
+void gsl_permutation_free (gsl_permutation * p);
+int gsl_permutation_memcpy (gsl_permutation * dest, const gsl_permutation * src);
+
+int gsl_permutation_fread (FILE * stream, gsl_permutation * p);
+int gsl_permutation_fwrite (FILE * stream, const gsl_permutation * p);
+int gsl_permutation_fscanf (FILE * stream, gsl_permutation * p);
+int gsl_permutation_fprintf (FILE * stream, const gsl_permutation * p, const char *format);
+
+size_t gsl_permutation_size (const gsl_permutation * p);
+size_t * gsl_permutation_data (const gsl_permutation * p);
+
+int gsl_permutation_swap (gsl_permutation * p, const size_t i, const size_t j);
+
+int gsl_permutation_valid (const gsl_permutation * p);
+void gsl_permutation_reverse (gsl_permutation * p);
+int gsl_permutation_inverse (gsl_permutation * inv, const gsl_permutation * p);
+int gsl_permutation_next (gsl_permutation * p);
+int gsl_permutation_prev (gsl_permutation * p);
+int gsl_permutation_mul (gsl_permutation * p, const gsl_permutation * pa, const gsl_permutation * pb);
+
+int gsl_permutation_linear_to_canonical (gsl_permutation * q, const gsl_permutation * p);
+int gsl_permutation_canonical_to_linear (gsl_permutation * p, const gsl_permutation * q);
+
+size_t gsl_permutation_inversions (const gsl_permutation * p);
+size_t gsl_permutation_linear_cycles (const gsl_permutation * p);
+size_t gsl_permutation_canonical_cycles (const gsl_permutation * q);
+
+INLINE_DECL size_t gsl_permutation_get (const gsl_permutation * p, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+size_t
+gsl_permutation_get (const gsl_permutation * p, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= p->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return p->data[i];
+}
+
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTATION_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute.h b/thirdparty/includes/GSL/gsl/gsl_permute.h
new file mode 100644
index 0000000..23f09a6
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute.h
@@ -0,0 +1,24 @@
+#ifndef __GSL_PERMUTE_H__
+#define __GSL_PERMUTE_H__
+
+#include <gsl/gsl_permute_complex_long_double.h>
+#include <gsl/gsl_permute_complex_double.h>
+#include <gsl/gsl_permute_complex_float.h>
+
+#include <gsl/gsl_permute_long_double.h>
+#include <gsl/gsl_permute_double.h>
+#include <gsl/gsl_permute_float.h>
+
+#include <gsl/gsl_permute_ulong.h>
+#include <gsl/gsl_permute_long.h>
+
+#include <gsl/gsl_permute_uint.h>
+#include <gsl/gsl_permute_int.h>
+
+#include <gsl/gsl_permute_ushort.h>
+#include <gsl/gsl_permute_short.h>
+
+#include <gsl/gsl_permute_uchar.h>
+#include <gsl/gsl_permute_char.h>
+
+#endif /* __GSL_PERMUTE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_char.h b/thirdparty/includes/GSL/gsl/gsl_permute_char.h
new file mode 100644
index 0000000..bf2ebb1
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_char.h
@@ -0,0 +1,44 @@
+/* permutation/gsl_permute_char.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_PERMUTE_CHAR_H__
+#define __GSL_PERMUTE_CHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_char (const size_t * p, char * data, const size_t stride, const size_t n);
+int gsl_permute_char_inverse (const size_t * p, char * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_CHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_complex_double.h b/thirdparty/includes/GSL/gsl/gsl_permute_complex_double.h
new file mode 100644
index 0000000..c20442b
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_complex_double.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_complex_double.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_PERMUTE_COMPLEX_DOUBLE_H__
+#define __GSL_PERMUTE_COMPLEX_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_complex (const size_t * p, double * data, const size_t stride, const size_t n);
+int gsl_permute_complex_inverse (const size_t * p, double * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_COMPLEX_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_complex_float.h b/thirdparty/includes/GSL/gsl/gsl_permute_complex_float.h
new file mode 100644
index 0000000..65ee0fe
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_complex_float.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_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_PERMUTE_COMPLEX_FLOAT_H__
+#define __GSL_PERMUTE_COMPLEX_FLOAT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_complex_float (const size_t * p, float * data, const size_t stride, const size_t n);
+int gsl_permute_complex_float_inverse (const size_t * p, float * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_COMPLEX_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_complex_long_double.h b/thirdparty/includes/GSL/gsl/gsl_permute_complex_long_double.h
new file mode 100644
index 0000000..4849b15
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_complex_long_double.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_complex_long_double.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_PERMUTE_COMPLEX_LONG_DOUBLE_H__
+#define __GSL_PERMUTE_COMPLEX_LONG_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_complex_long_double (const size_t * p, long double * data, const size_t stride, const size_t n);
+int gsl_permute_complex_long_double_inverse (const size_t * p, long double * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_COMPLEX_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_double.h b/thirdparty/includes/GSL/gsl/gsl_permute_double.h
new file mode 100644
index 0000000..58be181
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_double.h
@@ -0,0 +1,44 @@
+/* permutation/gsl_permute_double.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_PERMUTE_DOUBLE_H__
+#define __GSL_PERMUTE_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute (const size_t * p, double * data, const size_t stride, const size_t n);
+int gsl_permute_inverse (const size_t * p, double * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_float.h b/thirdparty/includes/GSL/gsl/gsl_permute_float.h
new file mode 100644
index 0000000..bc79bd5
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_float.h
@@ -0,0 +1,44 @@
+/* permutation/gsl_permute_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_PERMUTE_FLOAT_H__
+#define __GSL_PERMUTE_FLOAT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_float (const size_t * p, float * data, const size_t stride, const size_t n);
+int gsl_permute_float_inverse (const size_t * p, float * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_int.h b/thirdparty/includes/GSL/gsl/gsl_permute_int.h
new file mode 100644
index 0000000..b6ff500
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_int.h
@@ -0,0 +1,44 @@
+/* permutation/gsl_permute_int.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_PERMUTE_INT_H__
+#define __GSL_PERMUTE_INT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_int (const size_t * p, int * data, const size_t stride, const size_t n);
+int gsl_permute_int_inverse (const size_t * p, int * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_INT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_long.h b/thirdparty/includes/GSL/gsl/gsl_permute_long.h
new file mode 100644
index 0000000..383294c
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_long.h
@@ -0,0 +1,44 @@
+/* permutation/gsl_permute_long.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_PERMUTE_LONG_H__
+#define __GSL_PERMUTE_LONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_long (const size_t * p, long * data, const size_t stride, const size_t n);
+int gsl_permute_long_inverse (const size_t * p, long * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_LONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_long_double.h b/thirdparty/includes/GSL/gsl/gsl_permute_long_double.h
new file mode 100644
index 0000000..f58e1cd
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_long_double.h
@@ -0,0 +1,44 @@
+/* permutation/gsl_permute_long_double.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_PERMUTE_LONG_DOUBLE_H__
+#define __GSL_PERMUTE_LONG_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_long_double (const size_t * p, long double * data, const size_t stride, const size_t n);
+int gsl_permute_long_double_inverse (const size_t * p, long double * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_short.h b/thirdparty/includes/GSL/gsl/gsl_permute_short.h
new file mode 100644
index 0000000..39cf55d
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_short.h
@@ -0,0 +1,44 @@
+/* permutation/gsl_permute_short.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_PERMUTE_SHORT_H__
+#define __GSL_PERMUTE_SHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_short (const size_t * p, short * data, const size_t stride, const size_t n);
+int gsl_permute_short_inverse (const size_t * p, short * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_SHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_uchar.h b/thirdparty/includes/GSL/gsl/gsl_permute_uchar.h
new file mode 100644
index 0000000..54bb401
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_uchar.h
@@ -0,0 +1,44 @@
+/* permutation/gsl_permute_uchar.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_PERMUTE_UCHAR_H__
+#define __GSL_PERMUTE_UCHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_uchar (const size_t * p, unsigned char * data, const size_t stride, const size_t n);
+int gsl_permute_uchar_inverse (const size_t * p, unsigned char * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_UCHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_uint.h b/thirdparty/includes/GSL/gsl/gsl_permute_uint.h
new file mode 100644
index 0000000..8915b7b
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_uint.h
@@ -0,0 +1,44 @@
+/* permutation/gsl_permute_uint.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_PERMUTE_UINT_H__
+#define __GSL_PERMUTE_UINT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_uint (const size_t * p, unsigned int * data, const size_t stride, const size_t n);
+int gsl_permute_uint_inverse (const size_t * p, unsigned int * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_UINT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_ulong.h b/thirdparty/includes/GSL/gsl/gsl_permute_ulong.h
new file mode 100644
index 0000000..0084c50
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_ulong.h
@@ -0,0 +1,44 @@
+/* permutation/gsl_permute_ulong.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_PERMUTE_ULONG_H__
+#define __GSL_PERMUTE_ULONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_ulong (const size_t * p, unsigned long * data, const size_t stride, const size_t n);
+int gsl_permute_ulong_inverse (const size_t * p, unsigned long * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_ULONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_ushort.h b/thirdparty/includes/GSL/gsl/gsl_permute_ushort.h
new file mode 100644
index 0000000..eff079a
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_ushort.h
@@ -0,0 +1,44 @@
+/* permutation/gsl_permute_ushort.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_PERMUTE_USHORT_H__
+#define __GSL_PERMUTE_USHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+int gsl_permute_ushort (const size_t * p, unsigned short * data, const size_t stride, const size_t n);
+int gsl_permute_ushort_inverse (const size_t * p, unsigned short * data, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_USHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector.h
new file mode 100644
index 0000000..4369e49
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector.h
@@ -0,0 +1,24 @@
+#ifndef __GSL_PERMUTE_VECTOR_H__
+#define __GSL_PERMUTE_VECTOR_H__
+
+#include <gsl/gsl_permute_vector_complex_long_double.h>
+#include <gsl/gsl_permute_vector_complex_double.h>
+#include <gsl/gsl_permute_vector_complex_float.h>
+
+#include <gsl/gsl_permute_vector_long_double.h>
+#include <gsl/gsl_permute_vector_double.h>
+#include <gsl/gsl_permute_vector_float.h>
+
+#include <gsl/gsl_permute_vector_ulong.h>
+#include <gsl/gsl_permute_vector_long.h>
+
+#include <gsl/gsl_permute_vector_uint.h>
+#include <gsl/gsl_permute_vector_int.h>
+
+#include <gsl/gsl_permute_vector_ushort.h>
+#include <gsl/gsl_permute_vector_short.h>
+
+#include <gsl/gsl_permute_vector_uchar.h>
+#include <gsl/gsl_permute_vector_char.h>
+
+#endif /* __GSL_PERMUTE_VECTOR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_char.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_char.h
new file mode 100644
index 0000000..15278ed
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_char.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_char.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_PERMUTE_VECTOR_CHAR_H__
+#define __GSL_PERMUTE_VECTOR_CHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_char.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
+
+int gsl_permute_vector_char (const gsl_permutation * p, gsl_vector_char * v);
+int gsl_permute_vector_char_inverse (const gsl_permutation * p, gsl_vector_char * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_CHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_double.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_double.h
new file mode 100644
index 0000000..60558e2
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_double.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_complex_double.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_PERMUTE_VECTOR_COMPLEX_DOUBLE_H__
+#define __GSL_PERMUTE_VECTOR_COMPLEX_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_complex_double.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
+
+int gsl_permute_vector_complex (const gsl_permutation * p, gsl_vector_complex * v);
+int gsl_permute_vector_complex_inverse (const gsl_permutation * p, gsl_vector_complex * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_COMPLEX_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_float.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_float.h
new file mode 100644
index 0000000..b08696b
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_float.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_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_PERMUTE_VECTOR_COMPLEX_FLOAT_H__
+#define __GSL_PERMUTE_VECTOR_COMPLEX_FLOAT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_complex_float.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
+
+int gsl_permute_vector_complex_float (const gsl_permutation * p, gsl_vector_complex_float * v);
+int gsl_permute_vector_complex_float_inverse (const gsl_permutation * p, gsl_vector_complex_float * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_COMPLEX_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_long_double.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_long_double.h
new file mode 100644
index 0000000..c19ac25
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_complex_long_double.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_complex_long_double.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_PERMUTE_VECTOR_COMPLEX_LONG_DOUBLE_H__
+#define __GSL_PERMUTE_VECTOR_COMPLEX_LONG_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_complex_long_double.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
+
+int gsl_permute_vector_complex_long_double (const gsl_permutation * p, gsl_vector_complex_long_double * v);
+int gsl_permute_vector_complex_long_double_inverse (const gsl_permutation * p, gsl_vector_complex_long_double * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_COMPLEX_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_double.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_double.h
new file mode 100644
index 0000000..65f6167
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_double.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_double.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_PERMUTE_VECTOR_DOUBLE_H__
+#define __GSL_PERMUTE_VECTOR_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_double.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
+
+int gsl_permute_vector (const gsl_permutation * p, gsl_vector * v);
+int gsl_permute_vector_inverse (const gsl_permutation * p, gsl_vector * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_float.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_float.h
new file mode 100644
index 0000000..bdd9d1a
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_float.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_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_PERMUTE_VECTOR_FLOAT_H__
+#define __GSL_PERMUTE_VECTOR_FLOAT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_float.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
+
+int gsl_permute_vector_float (const gsl_permutation * p, gsl_vector_float * v);
+int gsl_permute_vector_float_inverse (const gsl_permutation * p, gsl_vector_float * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_int.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_int.h
new file mode 100644
index 0000000..3316d50
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_int.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_int.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_PERMUTE_VECTOR_INT_H__
+#define __GSL_PERMUTE_VECTOR_INT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_int.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
+
+int gsl_permute_vector_int (const gsl_permutation * p, gsl_vector_int * v);
+int gsl_permute_vector_int_inverse (const gsl_permutation * p, gsl_vector_int * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_INT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_long.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_long.h
new file mode 100644
index 0000000..291f949
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_long.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_long.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_PERMUTE_VECTOR_LONG_H__
+#define __GSL_PERMUTE_VECTOR_LONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_long.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
+
+int gsl_permute_vector_long (const gsl_permutation * p, gsl_vector_long * v);
+int gsl_permute_vector_long_inverse (const gsl_permutation * p, gsl_vector_long * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_LONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_long_double.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_long_double.h
new file mode 100644
index 0000000..a6b0296
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_long_double.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_long_double.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_PERMUTE_VECTOR_LONG_DOUBLE_H__
+#define __GSL_PERMUTE_VECTOR_LONG_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_long_double.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
+
+int gsl_permute_vector_long_double (const gsl_permutation * p, gsl_vector_long_double * v);
+int gsl_permute_vector_long_double_inverse (const gsl_permutation * p, gsl_vector_long_double * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_short.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_short.h
new file mode 100644
index 0000000..cd0dd6b
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_short.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_short.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_PERMUTE_VECTOR_SHORT_H__
+#define __GSL_PERMUTE_VECTOR_SHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_short.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
+
+int gsl_permute_vector_short (const gsl_permutation * p, gsl_vector_short * v);
+int gsl_permute_vector_short_inverse (const gsl_permutation * p, gsl_vector_short * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_SHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_uchar.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_uchar.h
new file mode 100644
index 0000000..df069a0
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_uchar.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_uchar.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_PERMUTE_VECTOR_UCHAR_H__
+#define __GSL_PERMUTE_VECTOR_UCHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_uchar.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
+
+int gsl_permute_vector_uchar (const gsl_permutation * p, gsl_vector_uchar * v);
+int gsl_permute_vector_uchar_inverse (const gsl_permutation * p, gsl_vector_uchar * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_UCHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_uint.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_uint.h
new file mode 100644
index 0000000..ee5218a
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_uint.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_uint.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_PERMUTE_VECTOR_UINT_H__
+#define __GSL_PERMUTE_VECTOR_UINT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_uint.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
+
+int gsl_permute_vector_uint (const gsl_permutation * p, gsl_vector_uint * v);
+int gsl_permute_vector_uint_inverse (const gsl_permutation * p, gsl_vector_uint * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_UINT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_ulong.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_ulong.h
new file mode 100644
index 0000000..e536d9a
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_ulong.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_ulong.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_PERMUTE_VECTOR_ULONG_H__
+#define __GSL_PERMUTE_VECTOR_ULONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_ulong.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
+
+int gsl_permute_vector_ulong (const gsl_permutation * p, gsl_vector_ulong * v);
+int gsl_permute_vector_ulong_inverse (const gsl_permutation * p, gsl_vector_ulong * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_ULONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_permute_vector_ushort.h b/thirdparty/includes/GSL/gsl/gsl_permute_vector_ushort.h
new file mode 100644
index 0000000..7533ba0
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_permute_vector_ushort.h
@@ -0,0 +1,45 @@
+/* permutation/gsl_permute_vector_ushort.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_PERMUTE_VECTOR_USHORT_H__
+#define __GSL_PERMUTE_VECTOR_USHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_ushort.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
+
+int gsl_permute_vector_ushort (const gsl_permutation * p, gsl_vector_ushort * v);
+int gsl_permute_vector_ushort_inverse (const gsl_permutation * p, gsl_vector_ushort * v);
+
+__END_DECLS
+
+#endif /* __GSL_PERMUTE_VECTOR_USHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_poly.h b/thirdparty/includes/GSL/gsl/gsl_poly.h
new file mode 100644
index 0000000..2352857
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_poly.h
@@ -0,0 +1,183 @@
+/* poly/gsl_poly.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_POLY_H__
+#define __GSL_POLY_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/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
+
+
+/* Evaluate polynomial
+ *
+ * c[0] + c[1] x + c[2] x^2 + ... + c[len-1] x^(len-1)
+ *
+ * exceptions: none
+ */
+
+/* real polynomial, real x */
+INLINE_DECL double gsl_poly_eval(const double c[], const int len, const double x);
+
+/* real polynomial, complex x */
+INLINE_DECL gsl_complex gsl_poly_complex_eval (const double c [], const int len, const gsl_complex z);
+
+/* complex polynomial, complex x */
+INLINE_DECL gsl_complex gsl_complex_poly_complex_eval (const gsl_complex c [], const int len, const gsl_complex z);
+
+int gsl_poly_eval_derivs(const double c[], const size_t lenc, const double x, double res[], const size_t lenres);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+double
+gsl_poly_eval(const double c[], const int len, const double x)
+{
+ int i;
+ double ans = c[len-1];
+ for(i=len-1; i>0; i--) ans = c[i-1] + x * ans;
+ return ans;
+}
+
+INLINE_FUN
+gsl_complex
+gsl_poly_complex_eval(const double c[], const int len, const gsl_complex z)
+{
+ int i;
+ gsl_complex ans;
+ GSL_SET_COMPLEX (&ans, c[len-1], 0.0);
+ for(i=len-1; i>0; i--) {
+ /* The following three lines are equivalent to
+ ans = gsl_complex_add_real (gsl_complex_mul (z, ans), c[i-1]);
+ but faster */
+ double tmp = c[i-1] + GSL_REAL (z) * GSL_REAL (ans) - GSL_IMAG (z) * GSL_IMAG (ans);
+ GSL_SET_IMAG (&ans, GSL_IMAG (z) * GSL_REAL (ans) + GSL_REAL (z) * GSL_IMAG (ans));
+ GSL_SET_REAL (&ans, tmp);
+ }
+ return ans;
+}
+
+INLINE_FUN
+gsl_complex
+gsl_complex_poly_complex_eval(const gsl_complex c[], const int len, const gsl_complex z)
+{
+ int i;
+ gsl_complex ans = c[len-1];
+ for(i=len-1; i>0; i--) {
+ /* The following three lines are equivalent to
+ ans = gsl_complex_add (c[i-1], gsl_complex_mul (x, ans));
+ but faster */
+ double tmp = GSL_REAL (c[i-1]) + GSL_REAL (z) * GSL_REAL (ans) - GSL_IMAG (z) * GSL_IMAG (ans);
+ GSL_SET_IMAG (&ans, GSL_IMAG (c[i-1]) + GSL_IMAG (z) * GSL_REAL (ans) + GSL_REAL (z) * GSL_IMAG (ans));
+ GSL_SET_REAL (&ans, tmp);
+ }
+ return ans;
+}
+#endif /* HAVE_INLINE */
+
+/* Work with divided-difference polynomials, Abramowitz & Stegun 25.2.26 */
+
+int
+gsl_poly_dd_init (double dd[], const double x[], const double y[],
+ size_t size);
+
+INLINE_DECL double
+gsl_poly_dd_eval (const double dd[], const double xa[], const size_t size, const double x);
+
+#ifdef HAVE_INLINE
+INLINE_FUN
+double
+gsl_poly_dd_eval(const double dd[], const double xa[], const size_t size, const double x)
+{
+ size_t i;
+ double y = dd[size - 1];
+ for (i = size - 1; i--;) y = dd[i] + (x - xa[i]) * y;
+ return y;
+}
+#endif /* HAVE_INLINE */
+
+
+int
+gsl_poly_dd_taylor (double c[], double xp,
+ const double dd[], const double x[], size_t size,
+ double w[]);
+
+int
+gsl_poly_dd_hermite_init (double dd[], double z[], const double xa[], const double ya[],
+ const double dya[], const size_t size);
+
+/* Solve for real or complex roots of the standard quadratic equation,
+ * returning the number of real roots.
+ *
+ * Roots are returned ordered.
+ */
+int gsl_poly_solve_quadratic (double a, double b, double c,
+ double * x0, double * x1);
+
+int
+gsl_poly_complex_solve_quadratic (double a, double b, double c,
+ gsl_complex * z0, gsl_complex * z1);
+
+
+/* Solve for real roots of the cubic equation
+ * x^3 + a x^2 + b x + c = 0, returning the
+ * number of real roots.
+ *
+ * Roots are returned ordered.
+ */
+int gsl_poly_solve_cubic (double a, double b, double c,
+ double * x0, double * x1, double * x2);
+
+int
+gsl_poly_complex_solve_cubic (double a, double b, double c,
+ gsl_complex * z0, gsl_complex * z1,
+ gsl_complex * z2);
+
+
+/* Solve for the complex roots of a general real polynomial */
+
+typedef struct
+{
+ size_t nc ;
+ double * matrix ;
+}
+gsl_poly_complex_workspace ;
+
+gsl_poly_complex_workspace * gsl_poly_complex_workspace_alloc (size_t n);
+void gsl_poly_complex_workspace_free (gsl_poly_complex_workspace * w);
+
+int
+gsl_poly_complex_solve (const double * a, size_t n,
+ gsl_poly_complex_workspace * w,
+ gsl_complex_packed_ptr z);
+
+__END_DECLS
+
+#endif /* __GSL_POLY_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_pow_int.h b/thirdparty/includes/GSL/gsl/gsl_pow_int.h
new file mode 100644
index 0000000..6aa01fb
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_pow_int.h
@@ -0,0 +1,61 @@
+/* gsl_pow_int.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004, 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_POW_INT_H__
+#define __GSL_POW_INT_H__
+#include <gsl/gsl_inline.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
+
+INLINE_DECL double gsl_pow_2(const double x);
+INLINE_DECL double gsl_pow_3(const double x);
+INLINE_DECL double gsl_pow_4(const double x);
+INLINE_DECL double gsl_pow_5(const double x);
+INLINE_DECL double gsl_pow_6(const double x);
+INLINE_DECL double gsl_pow_7(const double x);
+INLINE_DECL double gsl_pow_8(const double x);
+INLINE_DECL double gsl_pow_9(const double x);
+
+#ifdef HAVE_INLINE
+INLINE_FUN double gsl_pow_2(const double x) { return x*x; }
+INLINE_FUN double gsl_pow_3(const double x) { return x*x*x; }
+INLINE_FUN double gsl_pow_4(const double x) { double x2 = x*x; return x2*x2; }
+INLINE_FUN double gsl_pow_5(const double x) { double x2 = x*x; return x2*x2*x; }
+INLINE_FUN double gsl_pow_6(const double x) { double x2 = x*x; return x2*x2*x2; }
+INLINE_FUN double gsl_pow_7(const double x) { double x3 = x*x*x; return x3*x3*x; }
+INLINE_FUN double gsl_pow_8(const double x) { double x2 = x*x; double x4 = x2*x2; return x4*x4; }
+INLINE_FUN double gsl_pow_9(const double x) { double x3 = x*x*x; return x3*x3*x3; }
+#endif
+
+double gsl_pow_int(double x, int n);
+double gsl_pow_uint(double x, unsigned int n);
+
+__END_DECLS
+
+#endif /* __GSL_POW_INT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_precision.h b/thirdparty/includes/GSL/gsl/gsl_precision.h
new file mode 100644
index 0000000..97a204e
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_precision.h
@@ -0,0 +1,66 @@
+/* gsl_precision.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: B. Gough and G. Jungman */
+
+#ifndef __GSL_PRECISION_H__
+#define __GSL_PRECISION_H__
+#include <gsl/gsl_types.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
+
+
+/* A type for the precision indicator.
+ * This is mainly for pedagogy.
+ */
+typedef unsigned int gsl_prec_t;
+
+
+/* The number of precision types.
+ * Remember that precision-mode
+ * can index an array.
+ */
+#define _GSL_PREC_T_NUM 3
+
+
+/* Arrays containing derived
+ * precision constants for the
+ * different precision levels.
+ */
+GSL_VAR const double gsl_prec_eps[];
+GSL_VAR const double gsl_prec_sqrt_eps[];
+GSL_VAR const double gsl_prec_root3_eps[];
+GSL_VAR const double gsl_prec_root4_eps[];
+GSL_VAR const double gsl_prec_root5_eps[];
+GSL_VAR const double gsl_prec_root6_eps[];
+
+
+__END_DECLS
+
+#endif /* __GSL_PRECISION_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_qrng.h b/thirdparty/includes/GSL/gsl/gsl_qrng.h
new file mode 100644
index 0000000..47de500
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_qrng.h
@@ -0,0 +1,111 @@
+/* Author: G. Jungman + modifications from O. Teytaud
+ */
+#ifndef __GSL_QRNG_H__
+#define __GSL_QRNG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.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
+
+
+/* Once again, more inane C-style OOP... kill me now. */
+
+/* Structure describing a type of generator.
+ */
+typedef struct
+{
+ const char * name;
+ unsigned int max_dimension;
+ size_t (*state_size) (unsigned int dimension);
+ int (*init_state) (void * state, unsigned int dimension);
+ int (*get) (void * state, unsigned int dimension, double x[]);
+}
+gsl_qrng_type;
+
+/* Structure describing a generator instance of a
+ * specified type, with generator-specific state info
+ * and dimension-specific info.
+ */
+typedef struct
+{
+ const gsl_qrng_type * type;
+ unsigned int dimension;
+ size_t state_size;
+ void * state;
+}
+gsl_qrng;
+
+
+/* Supported generator types.
+ */
+GSL_VAR const gsl_qrng_type * gsl_qrng_niederreiter_2;
+GSL_VAR const gsl_qrng_type * gsl_qrng_sobol;
+GSL_VAR const gsl_qrng_type * gsl_qrng_halton;
+GSL_VAR const gsl_qrng_type * gsl_qrng_reversehalton;
+
+
+/* Allocate and initialize a generator
+ * of the specified type, in the given
+ * space dimension.
+ */
+gsl_qrng * gsl_qrng_alloc (const gsl_qrng_type * T, unsigned int dimension);
+
+
+/* Copy a generator. */
+int gsl_qrng_memcpy (gsl_qrng * dest, const gsl_qrng * src);
+
+
+/* Clone a generator. */
+gsl_qrng * gsl_qrng_clone (const gsl_qrng * q);
+
+
+/* Free a generator. */
+void gsl_qrng_free (gsl_qrng * q);
+
+
+/* Intialize a generator. */
+void gsl_qrng_init (gsl_qrng * q);
+
+
+/* Get the standardized name of the generator. */
+const char * gsl_qrng_name (const gsl_qrng * q);
+
+
+/* ISN'T THIS CONFUSING FOR PEOPLE?
+ WHAT IF SOMEBODY TRIES TO COPY WITH THIS ???
+ */
+size_t gsl_qrng_size (const gsl_qrng * q);
+
+
+void * gsl_qrng_state (const gsl_qrng * q);
+
+
+/* Retrieve next vector in sequence. */
+INLINE_DECL int gsl_qrng_get (const gsl_qrng * q, double x[]);
+
+#ifdef HAVE_INLINE
+INLINE_FUN int gsl_qrng_get (const gsl_qrng * q, double x[])
+{
+ return (q->type->get) (q->state, q->dimension, x);
+}
+
+#endif /* HAVE_INLINE */
+
+
+__END_DECLS
+
+
+#endif /* !__GSL_QRNG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_randist.h b/thirdparty/includes/GSL/gsl/gsl_randist.h
new file mode 100644
index 0000000..6f4b0e3
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_randist.h
@@ -0,0 +1,185 @@
+/* randist/gsl_randist.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 James Theiler, 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_RANDIST_H__
+#define __GSL_RANDIST_H__
+#include <gsl/gsl_rng.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
+
+unsigned int gsl_ran_bernoulli (const gsl_rng * r, double p);
+double gsl_ran_bernoulli_pdf (const unsigned int k, double p);
+
+double gsl_ran_beta (const gsl_rng * r, const double a, const double b);
+double gsl_ran_beta_pdf (const double x, const double a, const double b);
+
+unsigned int gsl_ran_binomial (const gsl_rng * r, double p, unsigned int n);
+unsigned int gsl_ran_binomial_knuth (const gsl_rng * r, double p, unsigned int n);
+unsigned int gsl_ran_binomial_tpe (const gsl_rng * r, double p, unsigned int n);
+double gsl_ran_binomial_pdf (const unsigned int k, const double p, const unsigned int n);
+
+double gsl_ran_exponential (const gsl_rng * r, const double mu);
+double gsl_ran_exponential_pdf (const double x, const double mu);
+
+double gsl_ran_exppow (const gsl_rng * r, const double a, const double b);
+double gsl_ran_exppow_pdf (const double x, const double a, const double b);
+
+double gsl_ran_cauchy (const gsl_rng * r, const double a);
+double gsl_ran_cauchy_pdf (const double x, const double a);
+
+double gsl_ran_chisq (const gsl_rng * r, const double nu);
+double gsl_ran_chisq_pdf (const double x, const double nu);
+
+void gsl_ran_dirichlet (const gsl_rng * r, const size_t K, const double alpha[], double theta[]);
+double gsl_ran_dirichlet_pdf (const size_t K, const double alpha[], const double theta[]);
+double gsl_ran_dirichlet_lnpdf (const size_t K, const double alpha[], const double theta[]);
+
+double gsl_ran_erlang (const gsl_rng * r, const double a, const double n);
+double gsl_ran_erlang_pdf (const double x, const double a, const double n);
+
+double gsl_ran_fdist (const gsl_rng * r, const double nu1, const double nu2);
+double gsl_ran_fdist_pdf (const double x, const double nu1, const double nu2);
+
+double gsl_ran_flat (const gsl_rng * r, const double a, const double b);
+double gsl_ran_flat_pdf (double x, const double a, const double b);
+
+double gsl_ran_gamma (const gsl_rng * r, const double a, const double b);
+double gsl_ran_gamma_int (const gsl_rng * r, const unsigned int a);
+double gsl_ran_gamma_pdf (const double x, const double a, const double b);
+double gsl_ran_gamma_mt (const gsl_rng * r, const double a, const double b);
+double gsl_ran_gamma_knuth (const gsl_rng * r, const double a, const double b);
+
+double gsl_ran_gaussian (const gsl_rng * r, const double sigma);
+double gsl_ran_gaussian_ratio_method (const gsl_rng * r, const double sigma);
+double gsl_ran_gaussian_ziggurat (const gsl_rng * r, const double sigma);
+double gsl_ran_gaussian_pdf (const double x, const double sigma);
+
+double gsl_ran_ugaussian (const gsl_rng * r);
+double gsl_ran_ugaussian_ratio_method (const gsl_rng * r);
+double gsl_ran_ugaussian_pdf (const double x);
+
+double gsl_ran_gaussian_tail (const gsl_rng * r, const double a, const double sigma);
+double gsl_ran_gaussian_tail_pdf (const double x, const double a, const double sigma);
+
+double gsl_ran_ugaussian_tail (const gsl_rng * r, const double a);
+double gsl_ran_ugaussian_tail_pdf (const double x, const double a);
+
+void gsl_ran_bivariate_gaussian (const gsl_rng * r, double sigma_x, double sigma_y, double rho, double *x, double *y);
+double gsl_ran_bivariate_gaussian_pdf (const double x, const double y, const double sigma_x, const double sigma_y, const double rho);
+
+double gsl_ran_landau (const gsl_rng * r);
+double gsl_ran_landau_pdf (const double x);
+
+unsigned int gsl_ran_geometric (const gsl_rng * r, const double p);
+double gsl_ran_geometric_pdf (const unsigned int k, const double p);
+
+unsigned int gsl_ran_hypergeometric (const gsl_rng * r, unsigned int n1, unsigned int n2, unsigned int t);
+double gsl_ran_hypergeometric_pdf (const unsigned int k, const unsigned int n1, const unsigned int n2, unsigned int t);
+
+double gsl_ran_gumbel1 (const gsl_rng * r, const double a, const double b);
+double gsl_ran_gumbel1_pdf (const double x, const double a, const double b);
+
+double gsl_ran_gumbel2 (const gsl_rng * r, const double a, const double b);
+double gsl_ran_gumbel2_pdf (const double x, const double a, const double b);
+
+double gsl_ran_logistic (const gsl_rng * r, const double a);
+double gsl_ran_logistic_pdf (const double x, const double a);
+
+double gsl_ran_lognormal (const gsl_rng * r, const double zeta, const double sigma);
+double gsl_ran_lognormal_pdf (const double x, const double zeta, const double sigma);
+
+unsigned int gsl_ran_logarithmic (const gsl_rng * r, const double p);
+double gsl_ran_logarithmic_pdf (const unsigned int k, const double p);
+
+void gsl_ran_multinomial (const gsl_rng * r, const size_t K,
+ const unsigned int N, const double p[],
+ unsigned int n[] );
+double gsl_ran_multinomial_pdf (const size_t K,
+ const double p[], const unsigned int n[] );
+double gsl_ran_multinomial_lnpdf (const size_t K,
+ const double p[], const unsigned int n[] );
+
+
+unsigned int gsl_ran_negative_binomial (const gsl_rng * r, double p, double n);
+double gsl_ran_negative_binomial_pdf (const unsigned int k, const double p, double n);
+
+unsigned int gsl_ran_pascal (const gsl_rng * r, double p, unsigned int n);
+double gsl_ran_pascal_pdf (const unsigned int k, const double p, unsigned int n);
+
+double gsl_ran_pareto (const gsl_rng * r, double a, const double b);
+double gsl_ran_pareto_pdf (const double x, const double a, const double b);
+
+unsigned int gsl_ran_poisson (const gsl_rng * r, double mu);
+void gsl_ran_poisson_array (const gsl_rng * r, size_t n, unsigned int array[],
+ double mu);
+double gsl_ran_poisson_pdf (const unsigned int k, const double mu);
+
+double gsl_ran_rayleigh (const gsl_rng * r, const double sigma);
+double gsl_ran_rayleigh_pdf (const double x, const double sigma);
+
+double gsl_ran_rayleigh_tail (const gsl_rng * r, const double a, const double sigma);
+double gsl_ran_rayleigh_tail_pdf (const double x, const double a, const double sigma);
+
+double gsl_ran_tdist (const gsl_rng * r, const double nu);
+double gsl_ran_tdist_pdf (const double x, const double nu);
+
+double gsl_ran_laplace (const gsl_rng * r, const double a);
+double gsl_ran_laplace_pdf (const double x, const double a);
+
+double gsl_ran_levy (const gsl_rng * r, const double c, const double alpha);
+double gsl_ran_levy_skew (const gsl_rng * r, const double c, const double alpha, const double beta);
+
+double gsl_ran_weibull (const gsl_rng * r, const double a, const double b);
+double gsl_ran_weibull_pdf (const double x, const double a, const double b);
+
+void gsl_ran_dir_2d (const gsl_rng * r, double * x, double * y);
+void gsl_ran_dir_2d_trig_method (const gsl_rng * r, double * x, double * y);
+void gsl_ran_dir_3d (const gsl_rng * r, double * x, double * y, double * z);
+void gsl_ran_dir_nd (const gsl_rng * r, size_t n, double * x);
+
+void gsl_ran_shuffle (const gsl_rng * r, void * base, size_t nmembm, size_t size);
+int gsl_ran_choose (const gsl_rng * r, void * dest, size_t k, void * src, size_t n, size_t size) ;
+void gsl_ran_sample (const gsl_rng * r, void * dest, size_t k, void * src, size_t n, size_t size) ;
+
+
+typedef struct { /* struct for Walker algorithm */
+ size_t K;
+ size_t *A;
+ double *F;
+} gsl_ran_discrete_t;
+
+gsl_ran_discrete_t * gsl_ran_discrete_preproc (size_t K, const double *P);
+void gsl_ran_discrete_free(gsl_ran_discrete_t *g);
+size_t gsl_ran_discrete (const gsl_rng *r, const gsl_ran_discrete_t *g);
+double gsl_ran_discrete_pdf (size_t k, const gsl_ran_discrete_t *g);
+
+
+__END_DECLS
+
+#endif /* __GSL_RANDIST_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_rng.h b/thirdparty/includes/GSL/gsl/gsl_rng.h
new file mode 100644
index 0000000..4ec5591
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_rng.h
@@ -0,0 +1,217 @@
+/* rng/gsl_rng.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004, 2007 James Theiler, 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_RNG_H__
+#define __GSL_RNG_H__
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.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
+
+typedef struct
+ {
+ const char *name;
+ unsigned long int max;
+ unsigned long int min;
+ size_t size;
+ void (*set) (void *state, unsigned long int seed);
+ unsigned long int (*get) (void *state);
+ double (*get_double) (void *state);
+ }
+gsl_rng_type;
+
+typedef struct
+ {
+ const gsl_rng_type * type;
+ void *state;
+ }
+gsl_rng;
+
+
+/* These structs also need to appear in default.c so you can select
+ them via the environment variable GSL_RNG_TYPE */
+
+GSL_VAR const gsl_rng_type *gsl_rng_borosh13;
+GSL_VAR const gsl_rng_type *gsl_rng_coveyou;
+GSL_VAR const gsl_rng_type *gsl_rng_cmrg;
+GSL_VAR const gsl_rng_type *gsl_rng_fishman18;
+GSL_VAR const gsl_rng_type *gsl_rng_fishman20;
+GSL_VAR const gsl_rng_type *gsl_rng_fishman2x;
+GSL_VAR const gsl_rng_type *gsl_rng_gfsr4;
+GSL_VAR const gsl_rng_type *gsl_rng_knuthran;
+GSL_VAR const gsl_rng_type *gsl_rng_knuthran2;
+GSL_VAR const gsl_rng_type *gsl_rng_knuthran2002;
+GSL_VAR const gsl_rng_type *gsl_rng_lecuyer21;
+GSL_VAR const gsl_rng_type *gsl_rng_minstd;
+GSL_VAR const gsl_rng_type *gsl_rng_mrg;
+GSL_VAR const gsl_rng_type *gsl_rng_mt19937;
+GSL_VAR const gsl_rng_type *gsl_rng_mt19937_1999;
+GSL_VAR const gsl_rng_type *gsl_rng_mt19937_1998;
+GSL_VAR const gsl_rng_type *gsl_rng_r250;
+GSL_VAR const gsl_rng_type *gsl_rng_ran0;
+GSL_VAR const gsl_rng_type *gsl_rng_ran1;
+GSL_VAR const gsl_rng_type *gsl_rng_ran2;
+GSL_VAR const gsl_rng_type *gsl_rng_ran3;
+GSL_VAR const gsl_rng_type *gsl_rng_rand;
+GSL_VAR const gsl_rng_type *gsl_rng_rand48;
+GSL_VAR const gsl_rng_type *gsl_rng_random128_bsd;
+GSL_VAR const gsl_rng_type *gsl_rng_random128_glibc2;
+GSL_VAR const gsl_rng_type *gsl_rng_random128_libc5;
+GSL_VAR const gsl_rng_type *gsl_rng_random256_bsd;
+GSL_VAR const gsl_rng_type *gsl_rng_random256_glibc2;
+GSL_VAR const gsl_rng_type *gsl_rng_random256_libc5;
+GSL_VAR const gsl_rng_type *gsl_rng_random32_bsd;
+GSL_VAR const gsl_rng_type *gsl_rng_random32_glibc2;
+GSL_VAR const gsl_rng_type *gsl_rng_random32_libc5;
+GSL_VAR const gsl_rng_type *gsl_rng_random64_bsd;
+GSL_VAR const gsl_rng_type *gsl_rng_random64_glibc2;
+GSL_VAR const gsl_rng_type *gsl_rng_random64_libc5;
+GSL_VAR const gsl_rng_type *gsl_rng_random8_bsd;
+GSL_VAR const gsl_rng_type *gsl_rng_random8_glibc2;
+GSL_VAR const gsl_rng_type *gsl_rng_random8_libc5;
+GSL_VAR const gsl_rng_type *gsl_rng_random_bsd;
+GSL_VAR const gsl_rng_type *gsl_rng_random_glibc2;
+GSL_VAR const gsl_rng_type *gsl_rng_random_libc5;
+GSL_VAR const gsl_rng_type *gsl_rng_randu;
+GSL_VAR const gsl_rng_type *gsl_rng_ranf;
+GSL_VAR const gsl_rng_type *gsl_rng_ranlux;
+GSL_VAR const gsl_rng_type *gsl_rng_ranlux389;
+GSL_VAR const gsl_rng_type *gsl_rng_ranlxd1;
+GSL_VAR const gsl_rng_type *gsl_rng_ranlxd2;
+GSL_VAR const gsl_rng_type *gsl_rng_ranlxs0;
+GSL_VAR const gsl_rng_type *gsl_rng_ranlxs1;
+GSL_VAR const gsl_rng_type *gsl_rng_ranlxs2;
+GSL_VAR const gsl_rng_type *gsl_rng_ranmar;
+GSL_VAR const gsl_rng_type *gsl_rng_slatec;
+GSL_VAR const gsl_rng_type *gsl_rng_taus;
+GSL_VAR const gsl_rng_type *gsl_rng_taus2;
+GSL_VAR const gsl_rng_type *gsl_rng_taus113;
+GSL_VAR const gsl_rng_type *gsl_rng_transputer;
+GSL_VAR const gsl_rng_type *gsl_rng_tt800;
+GSL_VAR const gsl_rng_type *gsl_rng_uni;
+GSL_VAR const gsl_rng_type *gsl_rng_uni32;
+GSL_VAR const gsl_rng_type *gsl_rng_vax;
+GSL_VAR const gsl_rng_type *gsl_rng_waterman14;
+GSL_VAR const gsl_rng_type *gsl_rng_zuf;
+
+const gsl_rng_type ** gsl_rng_types_setup(void);
+
+GSL_VAR const gsl_rng_type *gsl_rng_default;
+GSL_VAR unsigned long int gsl_rng_default_seed;
+
+gsl_rng *gsl_rng_alloc (const gsl_rng_type * T);
+int gsl_rng_memcpy (gsl_rng * dest, const gsl_rng * src);
+gsl_rng *gsl_rng_clone (const gsl_rng * r);
+
+void gsl_rng_free (gsl_rng * r);
+
+void gsl_rng_set (const gsl_rng * r, unsigned long int seed);
+unsigned long int gsl_rng_max (const gsl_rng * r);
+unsigned long int gsl_rng_min (const gsl_rng * r);
+const char *gsl_rng_name (const gsl_rng * r);
+
+int gsl_rng_fread (FILE * stream, gsl_rng * r);
+int gsl_rng_fwrite (FILE * stream, const gsl_rng * r);
+
+size_t gsl_rng_size (const gsl_rng * r);
+void * gsl_rng_state (const gsl_rng * r);
+
+void gsl_rng_print_state (const gsl_rng * r);
+
+const gsl_rng_type * gsl_rng_env_setup (void);
+
+INLINE_DECL unsigned long int gsl_rng_get (const gsl_rng * r);
+INLINE_DECL double gsl_rng_uniform (const gsl_rng * r);
+INLINE_DECL double gsl_rng_uniform_pos (const gsl_rng * r);
+INLINE_DECL unsigned long int gsl_rng_uniform_int (const gsl_rng * r, unsigned long int n);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN unsigned long int
+gsl_rng_get (const gsl_rng * r)
+{
+ return (r->type->get) (r->state);
+}
+
+INLINE_FUN double
+gsl_rng_uniform (const gsl_rng * r)
+{
+ return (r->type->get_double) (r->state);
+}
+
+INLINE_FUN double
+gsl_rng_uniform_pos (const gsl_rng * r)
+{
+ double x ;
+ do
+ {
+ x = (r->type->get_double) (r->state) ;
+ }
+ while (x == 0) ;
+
+ return x ;
+}
+
+/* Note: to avoid integer overflow in (range+1) we work with scale =
+ range/n = (max-min)/n rather than scale=(max-min+1)/n, this reduces
+ efficiency slightly but avoids having to check for the out of range
+ value. Note that range is typically O(2^32) so the addition of 1
+ is negligible in most usage. */
+
+INLINE_FUN unsigned long int
+gsl_rng_uniform_int (const gsl_rng * r, unsigned long int n)
+{
+ unsigned long int offset = r->type->min;
+ unsigned long int range = r->type->max - offset;
+ unsigned long int scale;
+ unsigned long int k;
+
+ if (n > range || n == 0)
+ {
+ GSL_ERROR_VAL ("invalid n, either 0 or exceeds maximum value of generator",
+ GSL_EINVAL, 0) ;
+ }
+
+ scale = range / n;
+
+ do
+ {
+ k = (((r->type->get) (r->state)) - offset) / scale;
+ }
+ while (k >= n);
+
+ return k;
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_RNG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_roots.h b/thirdparty/includes/GSL/gsl/gsl_roots.h
new file mode 100644
index 0000000..46e4587
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_roots.h
@@ -0,0 +1,127 @@
+/* roots/gsl_roots.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Reid Priedhorsky, 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_ROOTS_H__
+#define __GSL_ROOTS_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_math.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
+
+typedef struct
+ {
+ const char *name;
+ size_t size;
+ int (*set) (void *state, gsl_function * f, double * root, double x_lower, double x_upper);
+ int (*iterate) (void *state, gsl_function * f, double * root, double * x_lower, double * x_upper);
+ }
+gsl_root_fsolver_type;
+
+typedef struct
+ {
+ const gsl_root_fsolver_type * type;
+ gsl_function * function ;
+ double root ;
+ double x_lower;
+ double x_upper;
+ void *state;
+ }
+gsl_root_fsolver;
+
+typedef struct
+ {
+ const char *name;
+ size_t size;
+ int (*set) (void *state, gsl_function_fdf * f, double * root);
+ int (*iterate) (void *state, gsl_function_fdf * f, double * root);
+ }
+gsl_root_fdfsolver_type;
+
+typedef struct
+ {
+ const gsl_root_fdfsolver_type * type;
+ gsl_function_fdf * fdf ;
+ double root ;
+ void *state;
+ }
+gsl_root_fdfsolver;
+
+gsl_root_fsolver *
+gsl_root_fsolver_alloc (const gsl_root_fsolver_type * T);
+void gsl_root_fsolver_free (gsl_root_fsolver * s);
+
+int gsl_root_fsolver_set (gsl_root_fsolver * s,
+ gsl_function * f,
+ double x_lower, double x_upper);
+
+int gsl_root_fsolver_iterate (gsl_root_fsolver * s);
+
+const char * gsl_root_fsolver_name (const gsl_root_fsolver * s);
+double gsl_root_fsolver_root (const gsl_root_fsolver * s);
+double gsl_root_fsolver_x_lower (const gsl_root_fsolver * s);
+double gsl_root_fsolver_x_upper (const gsl_root_fsolver * s);
+
+
+gsl_root_fdfsolver *
+gsl_root_fdfsolver_alloc (const gsl_root_fdfsolver_type * T);
+
+int
+gsl_root_fdfsolver_set (gsl_root_fdfsolver * s,
+ gsl_function_fdf * fdf, double root);
+
+int
+gsl_root_fdfsolver_iterate (gsl_root_fdfsolver * s);
+
+void
+gsl_root_fdfsolver_free (gsl_root_fdfsolver * s);
+
+const char * gsl_root_fdfsolver_name (const gsl_root_fdfsolver * s);
+double gsl_root_fdfsolver_root (const gsl_root_fdfsolver * s);
+
+int
+gsl_root_test_interval (double x_lower, double x_upper, double epsabs, double epsrel);
+
+int
+gsl_root_test_residual (double f, double epsabs);
+
+int
+gsl_root_test_delta (double x1, double x0, double epsabs, double epsrel);
+
+GSL_VAR const gsl_root_fsolver_type * gsl_root_fsolver_bisection;
+GSL_VAR const gsl_root_fsolver_type * gsl_root_fsolver_brent;
+GSL_VAR const gsl_root_fsolver_type * gsl_root_fsolver_falsepos;
+GSL_VAR const gsl_root_fdfsolver_type * gsl_root_fdfsolver_newton;
+GSL_VAR const gsl_root_fdfsolver_type * gsl_root_fdfsolver_secant;
+GSL_VAR const gsl_root_fdfsolver_type * gsl_root_fdfsolver_steffenson;
+
+__END_DECLS
+
+#endif /* __GSL_ROOTS_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_rstat.h b/thirdparty/includes/GSL/gsl/gsl_rstat.h
new file mode 100644
index 0000000..48af04f
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_rstat.h
@@ -0,0 +1,79 @@
+/* rstat/gsl_rstat.h
+ *
+ * Copyright (C) 2015 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_RSTAT_H__
+#define __GSL_RSTAT_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
+
+typedef struct
+{
+ double p; /* p-quantile */
+ double q[5]; /* heights q_i */
+ int npos[5]; /* positions n_i */
+ double np[5]; /* desired positions n_i' */
+ double dnp[5]; /* increments dn_i' */
+ size_t n; /* number of data added */
+} gsl_rstat_quantile_workspace;
+
+gsl_rstat_quantile_workspace *gsl_rstat_quantile_alloc(const double p);
+void gsl_rstat_quantile_free(gsl_rstat_quantile_workspace *w);
+int gsl_rstat_quantile_add(const double x, gsl_rstat_quantile_workspace *w);
+double gsl_rstat_quantile_get(gsl_rstat_quantile_workspace *w);
+
+typedef struct
+{
+ double min; /* minimum value added */
+ double max; /* maximum value added */
+ double mean; /* current mean */
+ double M2; /* M_k = sum_{i=1..n} [ x_i - mean_n ]^k */
+ double M3;
+ double M4;
+ size_t n; /* number of data points added */
+ gsl_rstat_quantile_workspace *median_workspace_p; /* median workspace */
+} gsl_rstat_workspace;
+
+gsl_rstat_workspace *gsl_rstat_alloc(void);
+void gsl_rstat_free(gsl_rstat_workspace *w);
+size_t gsl_rstat_n(gsl_rstat_workspace *w);
+int gsl_rstat_add(const double x, gsl_rstat_workspace *w);
+double gsl_rstat_min(gsl_rstat_workspace *w);
+double gsl_rstat_max(gsl_rstat_workspace *w);
+double gsl_rstat_mean(gsl_rstat_workspace *w);
+double gsl_rstat_variance(gsl_rstat_workspace *w);
+double gsl_rstat_sd(gsl_rstat_workspace *w);
+double gsl_rstat_sd_mean(gsl_rstat_workspace *w);
+double gsl_rstat_median(gsl_rstat_workspace *w);
+double gsl_rstat_skew(gsl_rstat_workspace *w);
+double gsl_rstat_kurtosis(gsl_rstat_workspace *w);
+int gsl_rstat_reset(gsl_rstat_workspace *w);
+
+__END_DECLS
+
+#endif /* __GSL_RSTAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf.h b/thirdparty/includes/GSL/gsl/gsl_sf.h
new file mode 100644
index 0000000..643cf34
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf.h
@@ -0,0 +1,39 @@
+/* Author: G. Jungman */
+
+#ifndef __GSL_SF_H__
+#define __GSL_SF_H__
+
+#include <gsl/gsl_sf_result.h>
+
+#include <gsl/gsl_sf_airy.h>
+#include <gsl/gsl_sf_bessel.h>
+#include <gsl/gsl_sf_clausen.h>
+#include <gsl/gsl_sf_coupling.h>
+#include <gsl/gsl_sf_coulomb.h>
+#include <gsl/gsl_sf_dawson.h>
+#include <gsl/gsl_sf_debye.h>
+#include <gsl/gsl_sf_dilog.h>
+#include <gsl/gsl_sf_elementary.h>
+#include <gsl/gsl_sf_ellint.h>
+#include <gsl/gsl_sf_elljac.h>
+#include <gsl/gsl_sf_erf.h>
+#include <gsl/gsl_sf_exp.h>
+#include <gsl/gsl_sf_expint.h>
+#include <gsl/gsl_sf_fermi_dirac.h>
+#include <gsl/gsl_sf_gamma.h>
+#include <gsl/gsl_sf_gegenbauer.h>
+#include <gsl/gsl_sf_hyperg.h>
+#include <gsl/gsl_sf_laguerre.h>
+#include <gsl/gsl_sf_lambert.h>
+#include <gsl/gsl_sf_legendre.h>
+#include <gsl/gsl_sf_log.h>
+#include <gsl/gsl_sf_mathieu.h>
+#include <gsl/gsl_sf_pow_int.h>
+#include <gsl/gsl_sf_psi.h>
+#include <gsl/gsl_sf_synchrotron.h>
+#include <gsl/gsl_sf_transport.h>
+#include <gsl/gsl_sf_trig.h>
+#include <gsl/gsl_sf_zeta.h>
+
+
+#endif /* __GSL_SF_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_airy.h b/thirdparty/includes/GSL/gsl/gsl_sf_airy.h
new file mode 100644
index 0000000..7033383
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_airy.h
@@ -0,0 +1,139 @@
+/* specfunc/gsl_sf_airy.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_SF_AIRY_H__
+#define __GSL_SF_AIRY_H__
+
+#include <gsl/gsl_mode.h>
+#include <gsl/gsl_sf_result.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
+
+
+/* Airy function Ai(x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_airy_Ai_e(const double x, const gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_airy_Ai(const double x, gsl_mode_t mode);
+
+
+/* Airy function Bi(x)
+ *
+ * exceptions: GSL_EOVRFLW
+ */
+int gsl_sf_airy_Bi_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_airy_Bi(const double x, gsl_mode_t mode);
+
+
+/* scaled Ai(x):
+ * Ai(x) x < 0
+ * exp(+2/3 x^{3/2}) Ai(x) x > 0
+ *
+ * exceptions: none
+ */
+int gsl_sf_airy_Ai_scaled_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_airy_Ai_scaled(const double x, gsl_mode_t mode);
+
+
+/* scaled Bi(x):
+ * Bi(x) x < 0
+ * exp(-2/3 x^{3/2}) Bi(x) x > 0
+ *
+ * exceptions: none
+ */
+int gsl_sf_airy_Bi_scaled_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_airy_Bi_scaled(const double x, gsl_mode_t mode);
+
+
+/* derivative Ai'(x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_airy_Ai_deriv_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_airy_Ai_deriv(const double x, gsl_mode_t mode);
+
+
+/* derivative Bi'(x)
+ *
+ * exceptions: GSL_EOVRFLW
+ */
+int gsl_sf_airy_Bi_deriv_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_airy_Bi_deriv(const double x, gsl_mode_t mode);
+
+
+/* scaled derivative Ai'(x):
+ * Ai'(x) x < 0
+ * exp(+2/3 x^{3/2}) Ai'(x) x > 0
+ *
+ * exceptions: none
+ */
+int gsl_sf_airy_Ai_deriv_scaled_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_airy_Ai_deriv_scaled(const double x, gsl_mode_t mode);
+
+
+/* scaled derivative:
+ * Bi'(x) x < 0
+ * exp(-2/3 x^{3/2}) Bi'(x) x > 0
+ *
+ * exceptions: none
+ */
+int gsl_sf_airy_Bi_deriv_scaled_e(const double x, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_airy_Bi_deriv_scaled(const double x, gsl_mode_t mode);
+
+
+/* Zeros of Ai(x)
+ */
+int gsl_sf_airy_zero_Ai_e(unsigned int s, gsl_sf_result * result);
+double gsl_sf_airy_zero_Ai(unsigned int s);
+
+
+/* Zeros of Bi(x)
+ */
+int gsl_sf_airy_zero_Bi_e(unsigned int s, gsl_sf_result * result);
+double gsl_sf_airy_zero_Bi(unsigned int s);
+
+
+/* Zeros of Ai'(x)
+ */
+int gsl_sf_airy_zero_Ai_deriv_e(unsigned int s, gsl_sf_result * result);
+double gsl_sf_airy_zero_Ai_deriv(unsigned int s);
+
+
+/* Zeros of Bi'(x)
+ */
+int gsl_sf_airy_zero_Bi_deriv_e(unsigned int s, gsl_sf_result * result);
+double gsl_sf_airy_zero_Bi_deriv(unsigned int s);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_AIRY_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_bessel.h b/thirdparty/includes/GSL/gsl/gsl_sf_bessel.h
new file mode 100644
index 0000000..d72957a
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_bessel.h
@@ -0,0 +1,549 @@
+/* specfunc/gsl_sf_bessel.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_SF_BESSEL_H__
+#define __GSL_SF_BESSEL_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_mode.h>
+#include <gsl/gsl_precision.h>
+#include <gsl/gsl_sf_result.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
+
+
+/* Regular Bessel Function J_0(x)
+ *
+ * exceptions: none
+ */
+int gsl_sf_bessel_J0_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_J0(const double x);
+
+
+/* Regular Bessel Function J_1(x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_J1_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_J1(const double x);
+
+
+/* Regular Bessel Function J_n(x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Jn_e(int n, double x, gsl_sf_result * result);
+double gsl_sf_bessel_Jn(const int n, const double x);
+
+
+/* Regular Bessel Function J_n(x), nmin <= n <= nmax
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Jn_array(int nmin, int nmax, double x, double * result_array);
+
+
+/* Irregular Bessel function Y_0(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Y0_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_Y0(const double x);
+
+
+/* Irregular Bessel function Y_1(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Y1_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_Y1(const double x);
+
+
+/* Irregular Bessel function Y_n(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Yn_e(int n,const double x, gsl_sf_result * result);
+double gsl_sf_bessel_Yn(const int n,const double x);
+
+
+/* Irregular Bessel function Y_n(x), nmin <= n <= nmax
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Yn_array(const int nmin, const int nmax, const double x, double * result_array);
+
+
+/* Regular modified Bessel function I_0(x)
+ *
+ * exceptions: GSL_EOVRFLW
+ */
+int gsl_sf_bessel_I0_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_I0(const double x);
+
+
+/* Regular modified Bessel function I_1(x)
+ *
+ * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_I1_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_I1(const double x);
+
+
+/* Regular modified Bessel function I_n(x)
+ *
+ * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_In_e(const int n, const double x, gsl_sf_result * result);
+double gsl_sf_bessel_In(const int n, const double x);
+
+
+/* Regular modified Bessel function I_n(x) for n=nmin,...,nmax
+ *
+ * nmin >=0, nmax >= nmin
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_In_array(const int nmin, const int nmax, const double x, double * result_array);
+
+
+/* Scaled regular modified Bessel function
+ * exp(-|x|) I_0(x)
+ *
+ * exceptions: none
+ */
+int gsl_sf_bessel_I0_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_I0_scaled(const double x);
+
+
+/* Scaled regular modified Bessel function
+ * exp(-|x|) I_1(x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_I1_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_I1_scaled(const double x);
+
+
+/* Scaled regular modified Bessel function
+ * exp(-|x|) I_n(x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_In_scaled_e(int n, const double x, gsl_sf_result * result);
+double gsl_sf_bessel_In_scaled(const int n, const double x);
+
+
+/* Scaled regular modified Bessel function
+ * exp(-|x|) I_n(x) for n=nmin,...,nmax
+ *
+ * nmin >=0, nmax >= nmin
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_In_scaled_array(const int nmin, const int nmax, const double x, double * result_array);
+
+
+/* Irregular modified Bessel function K_0(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_K0_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_K0(const double x);
+
+
+/* Irregular modified Bessel function K_1(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_K1_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_K1(const double x);
+
+
+/* Irregular modified Bessel function K_n(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Kn_e(const int n, const double x, gsl_sf_result * result);
+double gsl_sf_bessel_Kn(const int n, const double x);
+
+
+/* Irregular modified Bessel function K_n(x) for n=nmin,...,nmax
+ *
+ * x > 0.0, nmin >=0, nmax >= nmin
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Kn_array(const int nmin, const int nmax, const double x, double * result_array);
+
+
+/* Scaled irregular modified Bessel function
+ * exp(x) K_0(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_bessel_K0_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_K0_scaled(const double x);
+
+
+/* Scaled irregular modified Bessel function
+ * exp(x) K_1(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_K1_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_K1_scaled(const double x);
+
+
+/* Scaled irregular modified Bessel function
+ * exp(x) K_n(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Kn_scaled_e(int n, const double x, gsl_sf_result * result);
+double gsl_sf_bessel_Kn_scaled(const int n, const double x);
+
+
+/* Scaled irregular modified Bessel function exp(x) K_n(x) for n=nmin,...,nmax
+ *
+ * x > 0.0, nmin >=0, nmax >= nmin
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Kn_scaled_array(const int nmin, const int nmax, const double x, double * result_array);
+
+
+/* Regular spherical Bessel function j_0(x) = sin(x)/x
+ *
+ * exceptions: none
+ */
+int gsl_sf_bessel_j0_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_j0(const double x);
+
+
+/* Regular spherical Bessel function j_1(x) = (sin(x)/x - cos(x))/x
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_j1_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_j1(const double x);
+
+
+/* Regular spherical Bessel function j_2(x) = ((3/x^2 - 1)sin(x) - 3cos(x)/x)/x
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_j2_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_j2(const double x);
+
+
+/* Regular spherical Bessel function j_l(x)
+ *
+ * l >= 0, x >= 0.0
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_jl_e(const int l, const double x, gsl_sf_result * result);
+double gsl_sf_bessel_jl(const int l, const double x);
+
+
+/* Regular spherical Bessel function j_l(x) for l=0,1,...,lmax
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_jl_array(const int lmax, const double x, double * result_array);
+
+
+/* Regular spherical Bessel function j_l(x) for l=0,1,...,lmax
+ * Uses Steed's method.
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_jl_steed_array(const int lmax, const double x, double * jl_x_array);
+
+
+/* Irregular spherical Bessel function y_0(x)
+ *
+ * exceptions: none
+ */
+int gsl_sf_bessel_y0_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_y0(const double x);
+
+
+/* Irregular spherical Bessel function y_1(x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_y1_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_y1(const double x);
+
+
+/* Irregular spherical Bessel function y_2(x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_y2_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_y2(const double x);
+
+
+/* Irregular spherical Bessel function y_l(x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_yl_e(int l, const double x, gsl_sf_result * result);
+double gsl_sf_bessel_yl(const int l, const double x);
+
+
+/* Irregular spherical Bessel function y_l(x) for l=0,1,...,lmax
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_yl_array(const int lmax, const double x, double * result_array);
+
+
+/* Regular scaled modified spherical Bessel function
+ *
+ * Exp[-|x|] i_0(x)
+ *
+ * exceptions: none
+ */
+int gsl_sf_bessel_i0_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_i0_scaled(const double x);
+
+
+/* Regular scaled modified spherical Bessel function
+ *
+ * Exp[-|x|] i_1(x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_i1_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_i1_scaled(const double x);
+
+
+/* Regular scaled modified spherical Bessel function
+ *
+ * Exp[-|x|] i_2(x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_i2_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_i2_scaled(const double x);
+
+
+/* Regular scaled modified spherical Bessel functions
+ *
+ * Exp[-|x|] i_l(x)
+ *
+ * i_l(x) = Sqrt[Pi/(2x)] BesselI[l+1/2,x]
+ *
+ * l >= 0
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_il_scaled_e(const int l, double x, gsl_sf_result * result);
+double gsl_sf_bessel_il_scaled(const int l, const double x);
+
+
+/* Regular scaled modified spherical Bessel functions
+ *
+ * Exp[-|x|] i_l(x)
+ * for l=0,1,...,lmax
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_il_scaled_array(const int lmax, const double x, double * result_array);
+
+
+/* Irregular scaled modified spherical Bessel function
+ * Exp[x] k_0(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_k0_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_k0_scaled(const double x);
+
+
+/* Irregular modified spherical Bessel function
+ * Exp[x] k_1(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW, GSL_EOVRFLW
+ */
+int gsl_sf_bessel_k1_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_k1_scaled(const double x);
+
+
+/* Irregular modified spherical Bessel function
+ * Exp[x] k_2(x)
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW, GSL_EOVRFLW
+ */
+int gsl_sf_bessel_k2_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_bessel_k2_scaled(const double x);
+
+
+/* Irregular modified spherical Bessel function
+ * Exp[x] k_l[x]
+ *
+ * k_l(x) = Sqrt[Pi/(2x)] BesselK[l+1/2,x]
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_kl_scaled_e(int l, const double x, gsl_sf_result * result);
+double gsl_sf_bessel_kl_scaled(const int l, const double x);
+
+
+/* Irregular scaled modified spherical Bessel function
+ * Exp[x] k_l(x)
+ *
+ * for l=0,1,...,lmax
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_kl_scaled_array(const int lmax, const double x, double * result_array);
+
+
+/* Regular cylindrical Bessel function J_nu(x)
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Jnu_e(const double nu, const double x, gsl_sf_result * result);
+double gsl_sf_bessel_Jnu(const double nu, const double x);
+
+
+/* Irregular cylindrical Bessel function Y_nu(x)
+ *
+ * exceptions:
+ */
+int gsl_sf_bessel_Ynu_e(double nu, double x, gsl_sf_result * result);
+double gsl_sf_bessel_Ynu(const double nu, const double x);
+
+
+/* Regular cylindrical Bessel function J_nu(x)
+ * evaluated at a series of x values. The array
+ * contains the x values. They are assumed to be
+ * strictly ordered and positive. The array is
+ * over-written with the values of J_nu(x_i).
+ *
+ * exceptions: GSL_EDOM, GSL_EINVAL
+ */
+int gsl_sf_bessel_sequence_Jnu_e(double nu, gsl_mode_t mode, size_t size, double * v);
+
+
+/* Scaled modified cylindrical Bessel functions
+ *
+ * Exp[-|x|] BesselI[nu, x]
+ * x >= 0, nu >= 0
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_bessel_Inu_scaled_e(double nu, double x, gsl_sf_result * result);
+double gsl_sf_bessel_Inu_scaled(double nu, double x);
+
+
+/* Modified cylindrical Bessel functions
+ *
+ * BesselI[nu, x]
+ * x >= 0, nu >= 0
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_bessel_Inu_e(double nu, double x, gsl_sf_result * result);
+double gsl_sf_bessel_Inu(double nu, double x);
+
+
+/* Scaled modified cylindrical Bessel functions
+ *
+ * Exp[+|x|] BesselK[nu, x]
+ * x > 0, nu >= 0
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_bessel_Knu_scaled_e(const double nu, const double x, gsl_sf_result * result);
+double gsl_sf_bessel_Knu_scaled(const double nu, const double x);
+
+int gsl_sf_bessel_Knu_scaled_e10_e(const double nu, const double x, gsl_sf_result_e10 * result);
+
+/* Modified cylindrical Bessel functions
+ *
+ * BesselK[nu, x]
+ * x > 0, nu >= 0
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_bessel_Knu_e(const double nu, const double x, gsl_sf_result * result);
+double gsl_sf_bessel_Knu(const double nu, const double x);
+
+
+/* Logarithm of modified cylindrical Bessel functions.
+ *
+ * Log[BesselK[nu, x]]
+ * x > 0, nu >= 0
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_bessel_lnKnu_e(const double nu, const double x, gsl_sf_result * result);
+double gsl_sf_bessel_lnKnu(const double nu, const double x);
+
+
+/* s'th positive zero of the Bessel function J_0(x).
+ *
+ * exceptions:
+ */
+int gsl_sf_bessel_zero_J0_e(unsigned int s, gsl_sf_result * result);
+double gsl_sf_bessel_zero_J0(unsigned int s);
+
+
+/* s'th positive zero of the Bessel function J_1(x).
+ *
+ * exceptions:
+ */
+int gsl_sf_bessel_zero_J1_e(unsigned int s, gsl_sf_result * result);
+double gsl_sf_bessel_zero_J1(unsigned int s);
+
+
+/* s'th positive zero of the Bessel function J_nu(x).
+ *
+ * exceptions:
+ */
+int gsl_sf_bessel_zero_Jnu_e(double nu, unsigned int s, gsl_sf_result * result);
+double gsl_sf_bessel_zero_Jnu(double nu, unsigned int s);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_BESSEL_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_clausen.h b/thirdparty/includes/GSL/gsl/gsl_sf_clausen.h
new file mode 100644
index 0000000..8e4ccd2
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_clausen.h
@@ -0,0 +1,52 @@
+/* specfunc/gsl_sf_clausen.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_SF_CLAUSEN_H__
+#define __GSL_SF_CLAUSEN_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Calculate the Clausen integral:
+ * Cl_2(x) := Integrate[-Log[2 Sin[t/2]], {t,0,x}]
+ *
+ * Relation to dilogarithm:
+ * Cl_2(theta) = Im[ Li_2(e^(i theta)) ]
+ */
+int gsl_sf_clausen_e(double x, gsl_sf_result * result);
+double gsl_sf_clausen(const double x);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_CLAUSEN_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_coulomb.h b/thirdparty/includes/GSL/gsl/gsl_sf_coulomb.h
new file mode 100644
index 0000000..764a571
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_coulomb.h
@@ -0,0 +1,128 @@
+/* specfunc/gsl_sf_coulomb.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_SF_COULOMB_H__
+#define __GSL_SF_COULOMB_H__
+
+#include <gsl/gsl_mode.h>
+#include <gsl/gsl_sf_result.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
+
+
+/* Normalized hydrogenic bound states, radial dependence. */
+
+/* R_1 := 2Z sqrt(Z) exp(-Z r)
+ */
+int gsl_sf_hydrogenicR_1_e(const double Z, const double r, gsl_sf_result * result);
+double gsl_sf_hydrogenicR_1(const double Z, const double r);
+
+/* R_n := norm exp(-Z r/n) (2Z/n)^l Laguerre[n-l-1, 2l+1, 2Z/n r]
+ *
+ * normalization such that psi(n,l,r) = R_n Y_{lm}
+ */
+int gsl_sf_hydrogenicR_e(const int n, const int l, const double Z, const double r, gsl_sf_result * result);
+double gsl_sf_hydrogenicR(const int n, const int l, const double Z, const double r);
+
+
+/* Coulomb wave functions F_{lam_F}(eta,x), G_{lam_G}(eta,x)
+ * and their derivatives; lam_G := lam_F - k_lam_G
+ *
+ * lam_F, lam_G > -0.5
+ * x > 0.0
+ *
+ * Conventions of Abramowitz+Stegun.
+ *
+ * Because there can be a large dynamic range of values,
+ * overflows are handled gracefully. If an overflow occurs,
+ * GSL_EOVRFLW is signalled and exponent(s) are returned
+ * through exp_F, exp_G. These are such that
+ *
+ * F_L(eta,x) = fc[k_L] * exp(exp_F)
+ * G_L(eta,x) = gc[k_L] * exp(exp_G)
+ * F_L'(eta,x) = fcp[k_L] * exp(exp_F)
+ * G_L'(eta,x) = gcp[k_L] * exp(exp_G)
+ */
+int
+gsl_sf_coulomb_wave_FG_e(const double eta, const double x,
+ const double lam_F,
+ const int k_lam_G,
+ gsl_sf_result * F, gsl_sf_result * Fp,
+ gsl_sf_result * G, gsl_sf_result * Gp,
+ double * exp_F, double * exp_G);
+
+
+/* F_L(eta,x) as array */
+int gsl_sf_coulomb_wave_F_array(
+ double lam_min, int kmax,
+ double eta, double x,
+ double * fc_array,
+ double * F_exponent
+ );
+
+/* F_L(eta,x), G_L(eta,x) as arrays */
+int gsl_sf_coulomb_wave_FG_array(double lam_min, int kmax,
+ double eta, double x,
+ double * fc_array, double * gc_array,
+ double * F_exponent,
+ double * G_exponent
+ );
+
+/* F_L(eta,x), G_L(eta,x), F'_L(eta,x), G'_L(eta,x) as arrays */
+int gsl_sf_coulomb_wave_FGp_array(double lam_min, int kmax,
+ double eta, double x,
+ double * fc_array, double * fcp_array,
+ double * gc_array, double * gcp_array,
+ double * F_exponent,
+ double * G_exponent
+ );
+
+/* Coulomb wave function divided by the argument,
+ * F(eta, x)/x. This is the function which reduces to
+ * spherical Bessel functions in the limit eta->0.
+ */
+int gsl_sf_coulomb_wave_sphF_array(double lam_min, int kmax,
+ double eta, double x,
+ double * fc_array,
+ double * F_exponent
+ );
+
+
+/* Coulomb wave function normalization constant.
+ * [Abramowitz+Stegun 14.1.8, 14.1.9]
+ */
+int gsl_sf_coulomb_CL_e(double L, double eta, gsl_sf_result * result);
+int gsl_sf_coulomb_CL_array(double Lmin, int kmax, double eta, double * cl);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_COULOMB_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_coupling.h b/thirdparty/includes/GSL/gsl/gsl_sf_coupling.h
new file mode 100644
index 0000000..c46b9f5
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_coupling.h
@@ -0,0 +1,125 @@
+/* specfunc/gsl_sf_coupling.h
+ *
+ * Copyright (C) 1996,1997,1998,1999,2000,2001,2002 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_SF_COUPLING_H__
+#define __GSL_SF_COUPLING_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* 3j Symbols: / ja jb jc \
+ * \ ma mb mc /
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_coupling_3j_e(int two_ja, int two_jb, int two_jc,
+ int two_ma, int two_mb, int two_mc,
+ gsl_sf_result * result
+ );
+double gsl_sf_coupling_3j(int two_ja, int two_jb, int two_jc,
+ int two_ma, int two_mb, int two_mc
+ );
+
+
+/* 6j Symbols: / ja jb jc \
+ * \ jd je jf /
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_coupling_6j_e(int two_ja, int two_jb, int two_jc,
+ int two_jd, int two_je, int two_jf,
+ gsl_sf_result * result
+ );
+double gsl_sf_coupling_6j(int two_ja, int two_jb, int two_jc,
+ int two_jd, int two_je, int two_jf
+ );
+
+/* Racah W coefficients:
+ *
+ * W(a b c d; e f) = (-1)^{a+b+c+d} / a b e \
+ * \ d c f /
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_coupling_RacahW_e(int two_ja, int two_jb, int two_jc,
+ int two_jd, int two_je, int two_jf,
+ gsl_sf_result * result
+ );
+double gsl_sf_coupling_RacahW(int two_ja, int two_jb, int two_jc,
+ int two_jd, int two_je, int two_jf
+ );
+
+
+/* 9j Symbols: / ja jb jc \
+ * | jd je jf |
+ * \ jg jh ji /
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_coupling_9j_e(int two_ja, int two_jb, int two_jc,
+ int two_jd, int two_je, int two_jf,
+ int two_jg, int two_jh, int two_ji,
+ gsl_sf_result * result
+ );
+double gsl_sf_coupling_9j(int two_ja, int two_jb, int two_jc,
+ int two_jd, int two_je, int two_jf,
+ int two_jg, int two_jh, int two_ji
+ );
+
+
+/* INCORRECT version of 6j Symbols:
+ * This function actually calculates
+ * / ja jb je \
+ * \ jd jc jf /
+ * It represents the original implementation,
+ * which had the above permutation of the
+ * arguments. This was wrong and confusing,
+ * and I had to fix it. Sorry for the trouble.
+ * [GJ] Tue Nov 26 12:53:39 MST 2002
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+#ifndef GSL_DISABLE_DEPRECATED
+int gsl_sf_coupling_6j_INCORRECT_e(int two_ja, int two_jb, int two_jc,
+ int two_jd, int two_je, int two_jf,
+ gsl_sf_result * result
+ );
+double gsl_sf_coupling_6j_INCORRECT(int two_ja, int two_jb, int two_jc,
+ int two_jd, int two_je, int two_jf
+ );
+#endif /* !GSL_DISABLE_DEPRECATED */
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_COUPLING_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_dawson.h b/thirdparty/includes/GSL/gsl/gsl_sf_dawson.h
new file mode 100644
index 0000000..7c11f9f
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_dawson.h
@@ -0,0 +1,52 @@
+/* specfunc/gsl_sf_dawson.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_SF_DAWSON_H__
+#define __GSL_SF_DAWSON_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Dawson's integral:
+ *
+ * Exp[-x^2] Integral[ Exp[t^2], {t,0,x}]
+ *
+ * exceptions: GSL_EUNDRFLW;
+ */
+int gsl_sf_dawson_e(double x, gsl_sf_result * result);
+double gsl_sf_dawson(double x);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_DAWSON_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_debye.h b/thirdparty/includes/GSL/gsl/gsl_sf_debye.h
new file mode 100644
index 0000000..bc732b1
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_debye.h
@@ -0,0 +1,91 @@
+/* specfunc/gsl_sf_debye.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 */
+/* augmented by D_5(x) and D_6(x) by Richard J. Mathar, 2005-11-08 */
+
+#ifndef __GSL_SF_DEBYE_H__
+#define __GSL_SF_DEBYE_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* D_n(x) := n/x^n Integrate[t^n/(e^t - 1), {t,0,x}] */
+
+/* D_1(x)
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_debye_1_e(const double x, gsl_sf_result * result);
+double gsl_sf_debye_1(const double x);
+
+
+/* D_2(x)
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_debye_2_e(const double x, gsl_sf_result * result);
+double gsl_sf_debye_2(const double x);
+
+
+/* D_3(x)
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_debye_3_e(const double x, gsl_sf_result * result);
+double gsl_sf_debye_3(const double x);
+
+
+/* D_4(x)
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_debye_4_e(const double x, gsl_sf_result * result);
+double gsl_sf_debye_4(const double x);
+
+/* D_5(x)
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_debye_5_e(const double x, gsl_sf_result * result);
+double gsl_sf_debye_5(const double x);
+
+/* D_6(x)
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_debye_6_e(const double x, gsl_sf_result * result);
+double gsl_sf_debye_6(const double x);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_DEBYE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_dilog.h b/thirdparty/includes/GSL/gsl/gsl_sf_dilog.h
new file mode 100644
index 0000000..79b2b76
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_dilog.h
@@ -0,0 +1,130 @@
+/* specfunc/gsl_sf_dilog.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 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_SF_DILOG_H__
+#define __GSL_SF_DILOG_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Real part of DiLogarithm(x), for real argument.
+ * In Lewin's notation, this is Li_2(x).
+ *
+ * Li_2(x) = - Re[ Integrate[ Log[1-s] / s, {s, 0, x}] ]
+ *
+ * The function in the complex plane has a branch point
+ * at z = 1; we place the cut in the conventional way,
+ * on [1, +infty). This means that the value for real x > 1
+ * is a matter of definition; however, this choice does not
+ * affect the real part and so is not relevant to the
+ * interpretation of this implemented function.
+ */
+int gsl_sf_dilog_e(const double x, gsl_sf_result * result);
+double gsl_sf_dilog(const double x);
+
+
+/* DiLogarithm(z), for complex argument z = x + i y.
+ * Computes the principal branch.
+ *
+ * Recall that the branch cut is on the real axis with x > 1.
+ * The imaginary part of the computed value on the cut is given
+ * by -Pi*log(x), which is the limiting value taken approaching
+ * from y < 0. This is a conventional choice, though there is no
+ * true standardized choice.
+ *
+ * Note that there is no canonical way to lift the defining
+ * contour to the full Riemann surface because of the appearance
+ * of a "hidden branch point" at z = 0 on non-principal sheets.
+ * Experts will know the simple algebraic prescription for
+ * obtaining the sheet they want; non-experts will not want
+ * to know anything about it. This is why GSL chooses to compute
+ * only on the principal branch.
+ */
+int
+gsl_sf_complex_dilog_xy_e(
+ const double x,
+ const double y,
+ gsl_sf_result * result_re,
+ gsl_sf_result * result_im
+ );
+
+
+
+/* DiLogarithm(z), for complex argument z = r Exp[i theta].
+ * Computes the principal branch, thereby assuming an
+ * implicit reduction of theta to the range (-2 pi, 2 pi).
+ *
+ * If theta is identically zero, the imaginary part is computed
+ * as if approaching from y > 0. For other values of theta no
+ * special consideration is given, since it is assumed that
+ * no other machine representations of multiples of pi will
+ * produce y = 0 precisely. This assumption depends on some
+ * subtle properties of the machine arithmetic, such as
+ * correct rounding and monotonicity of the underlying
+ * implementation of sin() and cos().
+ *
+ * This function is ok, but the interface is confusing since
+ * it makes it appear that the branch structure is resolved.
+ * Furthermore the handling of values close to the branch
+ * cut is subtle. Perhap this interface should be deprecated.
+ */
+int
+gsl_sf_complex_dilog_e(
+ const double r,
+ const double theta,
+ gsl_sf_result * result_re,
+ gsl_sf_result * result_im
+ );
+
+
+
+/* Spence integral; spence(s) := Li_2(1-s)
+ *
+ * This function has a branch point at 0; we place the
+ * cut on (-infty,0). Because of our choice for the value
+ * of Li_2(z) on the cut, spence(s) is continuous as
+ * s approaches the cut from above. In other words,
+ * we define spence(x) = spence(x + i 0+).
+ */
+int
+gsl_sf_complex_spence_xy_e(
+ const double x,
+ const double y,
+ gsl_sf_result * real_sp,
+ gsl_sf_result * imag_sp
+ );
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_DILOG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_elementary.h b/thirdparty/includes/GSL/gsl/gsl_sf_elementary.h
new file mode 100644
index 0000000..467bfda
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_elementary.h
@@ -0,0 +1,57 @@
+/* specfunc/gsl_sf_elementary.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 */
+
+/* Miscellaneous elementary functions and operations.
+ */
+#ifndef __GSL_SF_ELEMENTARY_H__
+#define __GSL_SF_ELEMENTARY_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Multiplication.
+ *
+ * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_multiply_e(const double x, const double y, gsl_sf_result * result);
+double gsl_sf_multiply(const double x, const double y);
+
+
+/* Multiplication of quantities with associated errors.
+ */
+int gsl_sf_multiply_err_e(const double x, const double dx, const double y, const double dy, gsl_sf_result * result);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_ELEMENTARY_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_ellint.h b/thirdparty/includes/GSL/gsl/gsl_sf_ellint.h
new file mode 100644
index 0000000..7f68f0e
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_ellint.h
@@ -0,0 +1,112 @@
+/* specfunc/gsl_sf_ellint.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_SF_ELLINT_H__
+#define __GSL_SF_ELLINT_H__
+
+#include <gsl/gsl_mode.h>
+#include <gsl/gsl_sf_result.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
+
+
+/* Legendre form of complete elliptic integrals
+ *
+ * K(k) = Integral[1/Sqrt[1 - k^2 Sin[t]^2], {t, 0, Pi/2}]
+ * E(k) = Integral[ Sqrt[1 - k^2 Sin[t]^2], {t, 0, Pi/2}]
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_ellint_Kcomp_e(double k, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_Kcomp(double k, gsl_mode_t mode);
+
+int gsl_sf_ellint_Ecomp_e(double k, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_Ecomp(double k, gsl_mode_t mode);
+
+int gsl_sf_ellint_Pcomp_e(double k, double n, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_Pcomp(double k, double n, gsl_mode_t mode);
+
+int gsl_sf_ellint_Dcomp_e(double k, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_Dcomp(double k, gsl_mode_t mode);
+
+
+/* Legendre form of incomplete elliptic integrals
+ *
+ * F(phi,k) = Integral[1/Sqrt[1 - k^2 Sin[t]^2], {t, 0, phi}]
+ * E(phi,k) = Integral[ Sqrt[1 - k^2 Sin[t]^2], {t, 0, phi}]
+ * P(phi,k,n) = Integral[(1 + n Sin[t]^2)^(-1)/Sqrt[1 - k^2 Sin[t]^2], {t, 0, phi}]
+ * D(phi,k,n) = R_D(1-Sin[phi]^2, 1-k^2 Sin[phi]^2, 1.0)
+ *
+ * F: [Carlson, Numerische Mathematik 33 (1979) 1, (4.1)]
+ * E: [Carlson, ", (4.2)]
+ * P: [Carlson, ", (4.3)]
+ * D: [Carlson, ", (4.4)]
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_ellint_F_e(double phi, double k, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_F(double phi, double k, gsl_mode_t mode);
+
+int gsl_sf_ellint_E_e(double phi, double k, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_E(double phi, double k, gsl_mode_t mode);
+
+int gsl_sf_ellint_P_e(double phi, double k, double n, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_P(double phi, double k, double n, gsl_mode_t mode);
+
+int gsl_sf_ellint_D_e(double phi, double k, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_D(double phi, double k, gsl_mode_t mode);
+
+
+/* Carlson's symmetric basis of functions
+ *
+ * RC(x,y) = 1/2 Integral[(t+x)^(-1/2) (t+y)^(-1)], {t,0,Inf}]
+ * RD(x,y,z) = 3/2 Integral[(t+x)^(-1/2) (t+y)^(-1/2) (t+z)^(-3/2), {t,0,Inf}]
+ * RF(x,y,z) = 1/2 Integral[(t+x)^(-1/2) (t+y)^(-1/2) (t+z)^(-1/2), {t,0,Inf}]
+ * RJ(x,y,z,p) = 3/2 Integral[(t+x)^(-1/2) (t+y)^(-1/2) (t+z)^(-1/2) (t+p)^(-1), {t,0,Inf}]
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_ellint_RC_e(double x, double y, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_RC(double x, double y, gsl_mode_t mode);
+
+int gsl_sf_ellint_RD_e(double x, double y, double z, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_RD(double x, double y, double z, gsl_mode_t mode);
+
+int gsl_sf_ellint_RF_e(double x, double y, double z, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_RF(double x, double y, double z, gsl_mode_t mode);
+
+int gsl_sf_ellint_RJ_e(double x, double y, double z, double p, gsl_mode_t mode, gsl_sf_result * result);
+double gsl_sf_ellint_RJ(double x, double y, double z, double p, gsl_mode_t mode);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_ELLINT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_elljac.h b/thirdparty/includes/GSL/gsl/gsl_sf_elljac.h
new file mode 100644
index 0000000..7f804a5
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_elljac.h
@@ -0,0 +1,48 @@
+/* specfunc/gsl_sf_elljac.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_SF_ELLJAC_H__
+#define __GSL_SF_ELLJAC_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
+
+
+/* Jacobian elliptic functions sn, dn, cn,
+ * by descending Landen transformations
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_elljac_e(double u, double m, double * sn, double * cn, double * dn);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_ELLJAC_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_erf.h b/thirdparty/includes/GSL/gsl/gsl_sf_erf.h
new file mode 100644
index 0000000..a196d0d
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_erf.h
@@ -0,0 +1,91 @@
+/* specfunc/gsl_sf_erf.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_SF_ERF_H__
+#define __GSL_SF_ERF_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Complementary Error Function
+ * erfc(x) := 2/Sqrt[Pi] Integrate[Exp[-t^2], {t,x,Infinity}]
+ *
+ * exceptions: none
+ */
+int gsl_sf_erfc_e(double x, gsl_sf_result * result);
+double gsl_sf_erfc(double x);
+
+
+/* Log Complementary Error Function
+ *
+ * exceptions: none
+ */
+int gsl_sf_log_erfc_e(double x, gsl_sf_result * result);
+double gsl_sf_log_erfc(double x);
+
+
+/* Error Function
+ * erf(x) := 2/Sqrt[Pi] Integrate[Exp[-t^2], {t,0,x}]
+ *
+ * exceptions: none
+ */
+int gsl_sf_erf_e(double x, gsl_sf_result * result);
+double gsl_sf_erf(double x);
+
+
+/* Probability functions:
+ * Z(x) : Abramowitz+Stegun 26.2.1
+ * Q(x) : Abramowitz+Stegun 26.2.3
+ *
+ * exceptions: none
+ */
+int gsl_sf_erf_Z_e(double x, gsl_sf_result * result);
+int gsl_sf_erf_Q_e(double x, gsl_sf_result * result);
+double gsl_sf_erf_Z(double x);
+double gsl_sf_erf_Q(double x);
+
+
+/* Hazard function, also known as the inverse Mill's ratio.
+ *
+ * H(x) := Z(x)/Q(x)
+ * = Sqrt[2/Pi] Exp[-x^2 / 2] / Erfc[x/Sqrt[2]]
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_hazard_e(double x, gsl_sf_result * result);
+double gsl_sf_hazard(double x);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_ERF_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_exp.h b/thirdparty/includes/GSL/gsl/gsl_sf_exp.h
new file mode 100644
index 0000000..8f8aff7
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_exp.h
@@ -0,0 +1,134 @@
+/* specfunc/gsl_sf_exp.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 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_SF_EXP_H__
+#define __GSL_SF_EXP_H__
+
+#include <gsl/gsl_sf_result.h>
+#include <gsl/gsl_precision.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
+
+/* Provide an exp() function with GSL semantics,
+ * i.e. with proper error checking, etc.
+ *
+ * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_exp_e(const double x, gsl_sf_result * result);
+double gsl_sf_exp(const double x);
+
+
+/* Exp(x)
+ *
+ * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_exp_e10_e(const double x, gsl_sf_result_e10 * result);
+
+
+/* Exponentiate and multiply by a given factor: y * Exp(x)
+ *
+ * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_exp_mult_e(const double x, const double y, gsl_sf_result * result);
+double gsl_sf_exp_mult(const double x, const double y);
+
+
+/* Exponentiate and multiply by a given factor: y * Exp(x)
+ *
+ * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_exp_mult_e10_e(const double x, const double y, gsl_sf_result_e10 * result);
+
+
+/* exp(x)-1
+ *
+ * exceptions: GSL_EOVRFLW
+ */
+int gsl_sf_expm1_e(const double x, gsl_sf_result * result);
+double gsl_sf_expm1(const double x);
+
+
+/* (exp(x)-1)/x = 1 + x/2 + x^2/(2*3) + x^3/(2*3*4) + ...
+ *
+ * exceptions: GSL_EOVRFLW
+ */
+int gsl_sf_exprel_e(const double x, gsl_sf_result * result);
+double gsl_sf_exprel(const double x);
+
+
+/* 2(exp(x)-1-x)/x^2 = 1 + x/3 + x^2/(3*4) + x^3/(3*4*5) + ...
+ *
+ * exceptions: GSL_EOVRFLW
+ */
+int gsl_sf_exprel_2_e(double x, gsl_sf_result * result);
+double gsl_sf_exprel_2(const double x);
+
+
+/* Similarly for the N-th generalization of
+ * the above. The so-called N-relative exponential
+ *
+ * exprel_N(x) = N!/x^N (exp(x) - Sum[x^k/k!, {k,0,N-1}])
+ * = 1 + x/(N+1) + x^2/((N+1)(N+2)) + ...
+ * = 1F1(1,1+N,x)
+ */
+int gsl_sf_exprel_n_e(const int n, const double x, gsl_sf_result * result);
+double gsl_sf_exprel_n(const int n, const double x);
+
+int gsl_sf_exprel_n_CF_e(const double n, const double x, gsl_sf_result * result);
+
+
+/* Exponentiate a quantity with an associated error.
+ */
+int gsl_sf_exp_err_e(const double x, const double dx, gsl_sf_result * result);
+
+/* Exponentiate a quantity with an associated error.
+ */
+int gsl_sf_exp_err_e10_e(const double x, const double dx, gsl_sf_result_e10 * result);
+
+
+/* Exponentiate and multiply by a given factor: y * Exp(x),
+ * for quantities with associated errors.
+ *
+ * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_exp_mult_err_e(const double x, const double dx, const double y, const double dy, gsl_sf_result * result);
+
+
+/* Exponentiate and multiply by a given factor: y * Exp(x),
+ * for quantities with associated errors.
+ *
+ * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_exp_mult_err_e10_e(const double x, const double dx, const double y, const double dy, gsl_sf_result_e10 * result);
+
+__END_DECLS
+
+#endif /* __GSL_SF_EXP_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_expint.h b/thirdparty/includes/GSL/gsl/gsl_sf_expint.h
new file mode 100644
index 0000000..4005f72
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_expint.h
@@ -0,0 +1,167 @@
+/* specfunc/gsl_sf_expint.h
+ *
+ * Copyright (C) 2007 Brian Gough
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 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_SF_EXPINT_H__
+#define __GSL_SF_EXPINT_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* E_1(x) := Re[ Integrate[ Exp[-xt]/t, {t,1,Infinity}] ]
+ *
+ * x != 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_expint_E1_e(const double x, gsl_sf_result * result);
+double gsl_sf_expint_E1(const double x);
+
+
+/* E_2(x) := Re[ Integrate[ Exp[-xt]/t^2, {t,1,Infinity}] ]
+ *
+ * x != 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_expint_E2_e(const double x, gsl_sf_result * result);
+double gsl_sf_expint_E2(const double x);
+
+
+/* E_n(x) := Re[ Integrate[ Exp[-xt]/t^n, {t,1,Infinity}] ]
+ *
+ * x != 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_expint_En_e(const int n, const double x, gsl_sf_result * result);
+double gsl_sf_expint_En(const int n, const double x);
+
+
+/* E_1_scaled(x) := exp(x) E_1(x)
+ *
+ * x != 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_expint_E1_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_expint_E1_scaled(const double x);
+
+
+/* E_2_scaled(x) := exp(x) E_2(x)
+ *
+ * x != 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_expint_E2_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_expint_E2_scaled(const double x);
+
+/* E_n_scaled(x) := exp(x) E_n(x)
+ *
+ * x != 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_expint_En_scaled_e(const int n, const double x, gsl_sf_result * result);
+double gsl_sf_expint_En_scaled(const int n, const double x);
+
+
+/* Ei(x) := - PV Integrate[ Exp[-t]/t, {t,-x,Infinity}]
+ * := PV Integrate[ Exp[t]/t, {t,-Infinity,x}]
+ *
+ * x != 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_expint_Ei_e(const double x, gsl_sf_result * result);
+double gsl_sf_expint_Ei(const double x);
+
+
+/* Ei_scaled(x) := exp(-x) Ei(x)
+ *
+ * x != 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_expint_Ei_scaled_e(const double x, gsl_sf_result * result);
+double gsl_sf_expint_Ei_scaled(const double x);
+
+
+/* Shi(x) := Integrate[ Sinh[t]/t, {t,0,x}]
+ *
+ * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_Shi_e(const double x, gsl_sf_result * result);
+double gsl_sf_Shi(const double x);
+
+
+/* Chi(x) := Re[ M_EULER + log(x) + Integrate[(Cosh[t]-1)/t, {t,0,x}] ]
+ *
+ * x != 0.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_Chi_e(const double x, gsl_sf_result * result);
+double gsl_sf_Chi(const double x);
+
+
+/* Ei_3(x) := Integral[ Exp[-t^3], {t,0,x}]
+ *
+ * x >= 0.0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_expint_3_e(const double x, gsl_sf_result * result);
+double gsl_sf_expint_3(double x);
+
+
+/* Si(x) := Integrate[ Sin[t]/t, {t,0,x}]
+ *
+ * exceptions: none
+ */
+int gsl_sf_Si_e(const double x, gsl_sf_result * result);
+double gsl_sf_Si(const double x);
+
+
+/* Ci(x) := -Integrate[ Cos[t]/t, {t,x,Infinity}]
+ *
+ * x > 0.0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_Ci_e(const double x, gsl_sf_result * result);
+double gsl_sf_Ci(const double x);
+
+
+/* AtanInt(x) := Integral[ Arctan[t]/t, {t,0,x}]
+ *
+ *
+ * exceptions:
+ */
+int gsl_sf_atanint_e(const double x, gsl_sf_result * result);
+double gsl_sf_atanint(const double x);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_EXPINT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_fermi_dirac.h b/thirdparty/includes/GSL/gsl/gsl_sf_fermi_dirac.h
new file mode 100644
index 0000000..8f708cd
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_fermi_dirac.h
@@ -0,0 +1,126 @@
+/* specfunc/gsl_sf_fermi_dirac.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_SF_FERMI_DIRAC_H__
+#define __GSL_SF_FERMI_DIRAC_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Complete Fermi-Dirac Integrals:
+ *
+ * F_j(x) := 1/Gamma[j+1] Integral[ t^j /(Exp[t-x] + 1), {t,0,Infinity}]
+ *
+ *
+ * Incomplete Fermi-Dirac Integrals:
+ *
+ * F_j(x,b) := 1/Gamma[j+1] Integral[ t^j /(Exp[t-x] + 1), {t,b,Infinity}]
+ */
+
+
+/* Complete integral F_{-1}(x) = e^x / (1 + e^x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_fermi_dirac_m1_e(const double x, gsl_sf_result * result);
+double gsl_sf_fermi_dirac_m1(const double x);
+
+
+/* Complete integral F_0(x) = ln(1 + e^x)
+ *
+ * exceptions: GSL_EUNDRFLW
+ */
+int gsl_sf_fermi_dirac_0_e(const double x, gsl_sf_result * result);
+double gsl_sf_fermi_dirac_0(const double x);
+
+
+/* Complete integral F_1(x)
+ *
+ * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
+ */
+int gsl_sf_fermi_dirac_1_e(const double x, gsl_sf_result * result);
+double gsl_sf_fermi_dirac_1(const double x);
+
+
+/* Complete integral F_2(x)
+ *
+ * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
+ */
+int gsl_sf_fermi_dirac_2_e(const double x, gsl_sf_result * result);
+double gsl_sf_fermi_dirac_2(const double x);
+
+
+/* Complete integral F_j(x)
+ * for integer j
+ *
+ * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
+ */
+int gsl_sf_fermi_dirac_int_e(const int j, const double x, gsl_sf_result * result);
+double gsl_sf_fermi_dirac_int(const int j, const double x);
+
+
+/* Complete integral F_{-1/2}(x)
+ *
+ * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
+ */
+int gsl_sf_fermi_dirac_mhalf_e(const double x, gsl_sf_result * result);
+double gsl_sf_fermi_dirac_mhalf(const double x);
+
+
+/* Complete integral F_{1/2}(x)
+ *
+ * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
+ */
+int gsl_sf_fermi_dirac_half_e(const double x, gsl_sf_result * result);
+double gsl_sf_fermi_dirac_half(const double x);
+
+
+/* Complete integral F_{3/2}(x)
+ *
+ * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
+ */
+int gsl_sf_fermi_dirac_3half_e(const double x, gsl_sf_result * result);
+double gsl_sf_fermi_dirac_3half(const double x);
+
+
+/* Incomplete integral F_0(x,b) = ln(1 + e^(b-x)) - (b-x)
+ *
+ * exceptions: GSL_EUNDRFLW, GSL_EDOM
+ */
+int gsl_sf_fermi_dirac_inc_0_e(const double x, const double b, gsl_sf_result * result);
+double gsl_sf_fermi_dirac_inc_0(const double x, const double b);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_FERMI_DIRAC_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_gamma.h b/thirdparty/includes/GSL/gsl/gsl_sf_gamma.h
new file mode 100644
index 0000000..d5e867b
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_gamma.h
@@ -0,0 +1,293 @@
+/* specfunc/gsl_sf_gamma.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_SF_GAMMA_H__
+#define __GSL_SF_GAMMA_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Log[Gamma(x)], x not a negative integer
+ * Uses real Lanczos method.
+ * Returns the real part of Log[Gamma[x]] when x < 0,
+ * i.e. Log[|Gamma[x]|].
+ *
+ * exceptions: GSL_EDOM, GSL_EROUND
+ */
+int gsl_sf_lngamma_e(double x, gsl_sf_result * result);
+double gsl_sf_lngamma(const double x);
+
+
+/* Log[Gamma(x)], x not a negative integer
+ * Uses real Lanczos method. Determines
+ * the sign of Gamma[x] as well as Log[|Gamma[x]|] for x < 0.
+ * So Gamma[x] = sgn * Exp[result_lg].
+ *
+ * exceptions: GSL_EDOM, GSL_EROUND
+ */
+int gsl_sf_lngamma_sgn_e(double x, gsl_sf_result * result_lg, double *sgn);
+
+
+/* Gamma(x), x not a negative integer
+ * Uses real Lanczos method.
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EROUND
+ */
+int gsl_sf_gamma_e(const double x, gsl_sf_result * result);
+double gsl_sf_gamma(const double x);
+
+
+/* Regulated Gamma Function, x > 0
+ * Gamma^*(x) = Gamma(x)/(Sqrt[2Pi] x^(x-1/2) exp(-x))
+ * = (1 + 1/(12x) + ...), x->Inf
+ * A useful suggestion of Temme.
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_gammastar_e(const double x, gsl_sf_result * result);
+double gsl_sf_gammastar(const double x);
+
+
+/* 1/Gamma(x)
+ * Uses real Lanczos method.
+ *
+ * exceptions: GSL_EUNDRFLW, GSL_EROUND
+ */
+int gsl_sf_gammainv_e(const double x, gsl_sf_result * result);
+double gsl_sf_gammainv(const double x);
+
+
+/* Log[Gamma(z)] for z complex, z not a negative integer
+ * Uses complex Lanczos method. Note that the phase part (arg)
+ * is not well-determined when |z| is very large, due
+ * to inevitable roundoff in restricting to (-Pi,Pi].
+ * This will raise the GSL_ELOSS exception when it occurs.
+ * The absolute value part (lnr), however, never suffers.
+ *
+ * Calculates:
+ * lnr = log|Gamma(z)|
+ * arg = arg(Gamma(z)) in (-Pi, Pi]
+ *
+ * exceptions: GSL_EDOM, GSL_ELOSS
+ */
+int gsl_sf_lngamma_complex_e(double zr, double zi, gsl_sf_result * lnr, gsl_sf_result * arg);
+
+
+/* x^n / n!
+ *
+ * x >= 0.0, n >= 0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_taylorcoeff_e(const int n, const double x, gsl_sf_result * result);
+double gsl_sf_taylorcoeff(const int n, const double x);
+
+
+/* n!
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_fact_e(const unsigned int n, gsl_sf_result * result);
+double gsl_sf_fact(const unsigned int n);
+
+
+/* n!! = n(n-2)(n-4) ...
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_doublefact_e(const unsigned int n, gsl_sf_result * result);
+double gsl_sf_doublefact(const unsigned int n);
+
+
+/* log(n!)
+ * Faster than ln(Gamma(n+1)) for n < 170; defers for larger n.
+ *
+ * exceptions: none
+ */
+int gsl_sf_lnfact_e(const unsigned int n, gsl_sf_result * result);
+double gsl_sf_lnfact(const unsigned int n);
+
+
+/* log(n!!)
+ *
+ * exceptions: none
+ */
+int gsl_sf_lndoublefact_e(const unsigned int n, gsl_sf_result * result);
+double gsl_sf_lndoublefact(const unsigned int n);
+
+
+/* log(n choose m)
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_lnchoose_e(unsigned int n, unsigned int m, gsl_sf_result * result);
+double gsl_sf_lnchoose(unsigned int n, unsigned int m);
+
+
+/* n choose m
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_choose_e(unsigned int n, unsigned int m, gsl_sf_result * result);
+double gsl_sf_choose(unsigned int n, unsigned int m);
+
+
+/* Logarithm of Pochhammer (Apell) symbol
+ * log( (a)_x )
+ * where (a)_x := Gamma[a + x]/Gamma[a]
+ *
+ * a > 0, a+x > 0
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_lnpoch_e(const double a, const double x, gsl_sf_result * result);
+double gsl_sf_lnpoch(const double a, const double x);
+
+
+/* Logarithm of Pochhammer (Apell) symbol, with sign information.
+ * result = log( |(a)_x| )
+ * sgn = sgn( (a)_x )
+ * where (a)_x := Gamma[a + x]/Gamma[a]
+ *
+ * a != neg integer, a+x != neg integer
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_lnpoch_sgn_e(const double a, const double x, gsl_sf_result * result, double * sgn);
+
+
+/* Pochhammer (Apell) symbol
+ * (a)_x := Gamma[a + x]/Gamma[x]
+ *
+ * a != neg integer, a+x != neg integer
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_poch_e(const double a, const double x, gsl_sf_result * result);
+double gsl_sf_poch(const double a, const double x);
+
+
+/* Relative Pochhammer (Apell) symbol
+ * ((a,x) - 1)/x
+ * where (a,x) = (a)_x := Gamma[a + x]/Gamma[a]
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_pochrel_e(const double a, const double x, gsl_sf_result * result);
+double gsl_sf_pochrel(const double a, const double x);
+
+
+/* Normalized Incomplete Gamma Function
+ *
+ * Q(a,x) = 1/Gamma(a) Integral[ t^(a-1) e^(-t), {t,x,Infinity} ]
+ *
+ * a >= 0, x >= 0
+ * Q(a,0) := 1
+ * Q(0,x) := 0, x != 0
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_gamma_inc_Q_e(const double a, const double x, gsl_sf_result * result);
+double gsl_sf_gamma_inc_Q(const double a, const double x);
+
+
+/* Complementary Normalized Incomplete Gamma Function
+ *
+ * P(a,x) = 1/Gamma(a) Integral[ t^(a-1) e^(-t), {t,0,x} ]
+ *
+ * a > 0, x >= 0
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_gamma_inc_P_e(const double a, const double x, gsl_sf_result * result);
+double gsl_sf_gamma_inc_P(const double a, const double x);
+
+
+/* Non-normalized Incomplete Gamma Function
+ *
+ * Gamma(a,x) := Integral[ t^(a-1) e^(-t), {t,x,Infinity} ]
+ *
+ * x >= 0.0
+ * Gamma(a, 0) := Gamma(a)
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_gamma_inc_e(const double a, const double x, gsl_sf_result * result);
+double gsl_sf_gamma_inc(const double a, const double x);
+
+
+/* Logarithm of Beta Function
+ * Log[B(a,b)]
+ *
+ * a > 0, b > 0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_lnbeta_e(const double a, const double b, gsl_sf_result * result);
+double gsl_sf_lnbeta(const double a, const double b);
+
+int gsl_sf_lnbeta_sgn_e(const double x, const double y, gsl_sf_result * result, double * sgn);
+
+
+/* Beta Function
+ * B(a,b)
+ *
+ * a > 0, b > 0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_beta_e(const double a, const double b, gsl_sf_result * result);
+double gsl_sf_beta(const double a, const double b);
+
+
+/* Normalized Incomplete Beta Function
+ * B_x(a,b)/B(a,b)
+ *
+ * a > 0, b > 0, 0 <= x <= 1
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_beta_inc_e(const double a, const double b, const double x, gsl_sf_result * result);
+double gsl_sf_beta_inc(const double a, const double b, const double x);
+
+
+/* The maximum x such that gamma(x) is not
+ * considered an overflow.
+ */
+#define GSL_SF_GAMMA_XMAX 171.0
+
+/* The maximum n such that gsl_sf_fact(n) does not give an overflow. */
+#define GSL_SF_FACT_NMAX 170
+
+/* The maximum n such that gsl_sf_doublefact(n) does not give an overflow. */
+#define GSL_SF_DOUBLEFACT_NMAX 297
+
+__END_DECLS
+
+#endif /* __GSL_SF_GAMMA_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_gegenbauer.h b/thirdparty/includes/GSL/gsl/gsl_sf_gegenbauer.h
new file mode 100644
index 0000000..bf41d21
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_gegenbauer.h
@@ -0,0 +1,73 @@
+/* specfunc/gsl_sf_gegenbauer.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_SF_GEGENBAUER_H__
+#define __GSL_SF_GEGENBAUER_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Evaluate Gegenbauer polynomials
+ * using explicit representations.
+ *
+ * exceptions: none
+ */
+int gsl_sf_gegenpoly_1_e(double lambda, double x, gsl_sf_result * result);
+int gsl_sf_gegenpoly_2_e(double lambda, double x, gsl_sf_result * result);
+int gsl_sf_gegenpoly_3_e(double lambda, double x, gsl_sf_result * result);
+double gsl_sf_gegenpoly_1(double lambda, double x);
+double gsl_sf_gegenpoly_2(double lambda, double x);
+double gsl_sf_gegenpoly_3(double lambda, double x);
+
+
+/* Evaluate Gegenbauer polynomials.
+ *
+ * lambda > -1/2, n >= 0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_gegenpoly_n_e(int n, double lambda, double x, gsl_sf_result * result);
+double gsl_sf_gegenpoly_n(int n, double lambda, double x);
+
+
+/* Calculate array of Gegenbauer polynomials
+ * for n = (0, 1, 2, ... nmax)
+ *
+ * lambda > -1/2, nmax >= 0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_gegenpoly_array(int nmax, double lambda, double x, double * result_array);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_GEGENBAUER_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_hyperg.h b/thirdparty/includes/GSL/gsl/gsl_sf_hyperg.h
new file mode 100644
index 0000000..8366b88
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_hyperg.h
@@ -0,0 +1,154 @@
+/* specfunc/gsl_sf_hyperg.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_SF_HYPERG_H__
+#define __GSL_SF_HYPERG_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Hypergeometric function related to Bessel functions
+ * 0F1[c,x] =
+ * Gamma[c] x^(1/2(1-c)) I_{c-1}(2 Sqrt[x])
+ * Gamma[c] (-x)^(1/2(1-c)) J_{c-1}(2 Sqrt[-x])
+ *
+ * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
+ */
+int gsl_sf_hyperg_0F1_e(double c, double x, gsl_sf_result * result);
+double gsl_sf_hyperg_0F1(const double c, const double x);
+
+
+/* Confluent hypergeometric function for integer parameters.
+ * 1F1[m,n,x] = M(m,n,x)
+ *
+ * exceptions:
+ */
+int gsl_sf_hyperg_1F1_int_e(const int m, const int n, const double x, gsl_sf_result * result);
+double gsl_sf_hyperg_1F1_int(const int m, const int n, double x);
+
+
+/* Confluent hypergeometric function.
+ * 1F1[a,b,x] = M(a,b,x)
+ *
+ * exceptions:
+ */
+int gsl_sf_hyperg_1F1_e(const double a, const double b, const double x, gsl_sf_result * result);
+double gsl_sf_hyperg_1F1(double a, double b, double x);
+
+
+/* Confluent hypergeometric function for integer parameters.
+ * U(m,n,x)
+ *
+ * exceptions:
+ */
+int gsl_sf_hyperg_U_int_e(const int m, const int n, const double x, gsl_sf_result * result);
+double gsl_sf_hyperg_U_int(const int m, const int n, const double x);
+
+
+/* Confluent hypergeometric function for integer parameters.
+ * U(m,n,x)
+ *
+ * exceptions:
+ */
+int gsl_sf_hyperg_U_int_e10_e(const int m, const int n, const double x, gsl_sf_result_e10 * result);
+
+
+/* Confluent hypergeometric function.
+ * U(a,b,x)
+ *
+ * exceptions:
+ */
+int gsl_sf_hyperg_U_e(const double a, const double b, const double x, gsl_sf_result * result);
+double gsl_sf_hyperg_U(const double a, const double b, const double x);
+
+
+/* Confluent hypergeometric function.
+ * U(a,b,x)
+ *
+ * exceptions:
+ */
+int gsl_sf_hyperg_U_e10_e(const double a, const double b, const double x, gsl_sf_result_e10 * result);
+
+
+/* Gauss hypergeometric function 2F1[a,b,c,x]
+ * |x| < 1
+ *
+ * exceptions:
+ */
+int gsl_sf_hyperg_2F1_e(double a, double b, const double c, const double x, gsl_sf_result * result);
+double gsl_sf_hyperg_2F1(double a, double b, double c, double x);
+
+
+/* Gauss hypergeometric function
+ * 2F1[aR + I aI, aR - I aI, c, x]
+ * |x| < 1
+ *
+ * exceptions:
+ */
+int gsl_sf_hyperg_2F1_conj_e(const double aR, const double aI, const double c, const double x, gsl_sf_result * result);
+double gsl_sf_hyperg_2F1_conj(double aR, double aI, double c, double x);
+
+
+/* Renormalized Gauss hypergeometric function
+ * 2F1[a,b,c,x] / Gamma[c]
+ * |x| < 1
+ *
+ * exceptions:
+ */
+int gsl_sf_hyperg_2F1_renorm_e(const double a, const double b, const double c, const double x, gsl_sf_result * result);
+double gsl_sf_hyperg_2F1_renorm(double a, double b, double c, double x);
+
+
+/* Renormalized Gauss hypergeometric function
+ * 2F1[aR + I aI, aR - I aI, c, x] / Gamma[c]
+ * |x| < 1
+ *
+ * exceptions:
+ */
+int gsl_sf_hyperg_2F1_conj_renorm_e(const double aR, const double aI, const double c, const double x, gsl_sf_result * result);
+double gsl_sf_hyperg_2F1_conj_renorm(double aR, double aI, double c, double x);
+
+
+/* Mysterious hypergeometric function. The series representation
+ * is a divergent hypergeometric series. However, for x < 0 we
+ * have 2F0(a,b,x) = (-1/x)^a U(a,1+a-b,-1/x)
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_hyperg_2F0_e(const double a, const double b, const double x, gsl_sf_result * result);
+double gsl_sf_hyperg_2F0(const double a, const double b, const double x);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_HYPERG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_laguerre.h b/thirdparty/includes/GSL/gsl/gsl_sf_laguerre.h
new file mode 100644
index 0000000..0d7f1c3
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_laguerre.h
@@ -0,0 +1,68 @@
+/* specfunc/gsl_sf_laguerre.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_SF_LAGUERRE_H__
+#define __GSL_SF_LAGUERRE_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* L^a_n(x) = (a+1)_n / n! 1F1(-n,a+1,x) */
+
+
+/* Evaluate generalized Laguerre polynomials
+ * using explicit representations.
+ *
+ * exceptions: none
+ */
+int gsl_sf_laguerre_1_e(const double a, const double x, gsl_sf_result * result);
+int gsl_sf_laguerre_2_e(const double a, const double x, gsl_sf_result * result);
+int gsl_sf_laguerre_3_e(const double a, const double x, gsl_sf_result * result);
+double gsl_sf_laguerre_1(double a, double x);
+double gsl_sf_laguerre_2(double a, double x);
+double gsl_sf_laguerre_3(double a, double x);
+
+
+/* Evaluate generalized Laguerre polynomials.
+ *
+ * a > -1.0
+ * n >= 0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_laguerre_n_e(const int n, const double a, const double x, gsl_sf_result * result);
+double gsl_sf_laguerre_n(int n, double a, double x);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_LAGUERRE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_lambert.h b/thirdparty/includes/GSL/gsl/gsl_sf_lambert.h
new file mode 100644
index 0000000..53b70a3
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_lambert.h
@@ -0,0 +1,69 @@
+/* specfunc/gsl_sf_lambert.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 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_SF_LAMBERT_H__
+#define __GSL_SF_LAMBERT_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Lambert's Function W_0(x)
+ *
+ * W_0(x) is the principal branch of the
+ * implicit function defined by W e^W = x.
+ *
+ * -1/E < x < \infty
+ *
+ * exceptions: GSL_EMAXITER;
+ */
+int gsl_sf_lambert_W0_e(double x, gsl_sf_result * result);
+double gsl_sf_lambert_W0(double x);
+
+
+/* Lambert's Function W_{-1}(x)
+ *
+ * W_{-1}(x) is the second real branch of the
+ * implicit function defined by W e^W = x.
+ * It agrees with W_0(x) when x >= 0.
+ *
+ * -1/E < x < \infty
+ *
+ * exceptions: GSL_MAXITER;
+ */
+int gsl_sf_lambert_Wm1_e(double x, gsl_sf_result * result);
+double gsl_sf_lambert_Wm1(double x);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_LAMBERT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_legendre.h b/thirdparty/includes/GSL/gsl/gsl_sf_legendre.h
new file mode 100644
index 0000000..a7a4b07
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_legendre.h
@@ -0,0 +1,375 @@
+/* specfunc/gsl_sf_legendre.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004 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_SF_LEGENDRE_H__
+#define __GSL_SF_LEGENDRE_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* P_l(x) l >= 0; |x| <= 1
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_Pl_e(const int l, const double x, gsl_sf_result * result);
+double gsl_sf_legendre_Pl(const int l, const double x);
+
+
+/* P_l(x) for l=0,...,lmax; |x| <= 1
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_Pl_array(
+ const int lmax, const double x,
+ double * result_array
+ );
+
+
+/* P_l(x) and P_l'(x) for l=0,...,lmax; |x| <= 1
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_Pl_deriv_array(
+ const int lmax, const double x,
+ double * result_array,
+ double * result_deriv_array
+ );
+
+
+/* P_l(x), l=1,2,3
+ *
+ * exceptions: none
+ */
+int gsl_sf_legendre_P1_e(double x, gsl_sf_result * result);
+int gsl_sf_legendre_P2_e(double x, gsl_sf_result * result);
+int gsl_sf_legendre_P3_e(double x, gsl_sf_result * result);
+double gsl_sf_legendre_P1(const double x);
+double gsl_sf_legendre_P2(const double x);
+double gsl_sf_legendre_P3(const double x);
+
+
+/* Q_0(x), x > -1, x != 1
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_Q0_e(const double x, gsl_sf_result * result);
+double gsl_sf_legendre_Q0(const double x);
+
+
+/* Q_1(x), x > -1, x != 1
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_Q1_e(const double x, gsl_sf_result * result);
+double gsl_sf_legendre_Q1(const double x);
+
+
+/* Q_l(x), x > -1, x != 1, l >= 0
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_Ql_e(const int l, const double x, gsl_sf_result * result);
+double gsl_sf_legendre_Ql(const int l, const double x);
+
+
+/* P_l^m(x) m >= 0; l >= m; |x| <= 1.0
+ *
+ * Note that this function grows combinatorially with l.
+ * Therefore we can easily generate an overflow for l larger
+ * than about 150.
+ *
+ * There is no trouble for small m, but when m and l are both large,
+ * then there will be trouble. Rather than allow overflows, these
+ * functions refuse to calculate when they can sense that l and m are
+ * too big.
+ *
+ * If you really want to calculate a spherical harmonic, then DO NOT
+ * use this. Instead use legendre_sphPlm() below, which uses a similar
+ * recursion, but with the normalized functions.
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_legendre_Plm_e(const int l, const int m, const double x, gsl_sf_result * result);
+double gsl_sf_legendre_Plm(const int l, const int m, const double x);
+
+
+/* P_l^m(x) m >= 0; l >= m; |x| <= 1.0
+ * l=|m|,...,lmax
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_legendre_Plm_array(
+ const int lmax, const int m, const double x,
+ double * result_array
+ );
+
+
+/* P_l^m(x) and d(P_l^m(x))/dx; m >= 0; lmax >= m; |x| <= 1.0
+ * l=|m|,...,lmax
+ *
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_legendre_Plm_deriv_array(
+ const int lmax, const int m, const double x,
+ double * result_array,
+ double * result_deriv_array
+ );
+
+
+/* P_l^m(x), normalized properly for use in spherical harmonics
+ * m >= 0; l >= m; |x| <= 1.0
+ *
+ * There is no overflow problem, as there is for the
+ * standard normalization of P_l^m(x).
+ *
+ * Specifically, it returns:
+ *
+ * sqrt((2l+1)/(4pi)) sqrt((l-m)!/(l+m)!) P_l^m(x)
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_sphPlm_e(const int l, int m, const double x, gsl_sf_result * result);
+double gsl_sf_legendre_sphPlm(const int l, const int m, const double x);
+
+
+/* sphPlm(l,m,x) values
+ * m >= 0; l >= m; |x| <= 1.0
+ * l=|m|,...,lmax
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_sphPlm_array(
+ const int lmax, int m, const double x,
+ double * result_array
+ );
+
+
+/* sphPlm(l,m,x) and d(sphPlm(l,m,x))/dx values
+ * m >= 0; l >= m; |x| <= 1.0
+ * l=|m|,...,lmax
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_sphPlm_deriv_array(
+ const int lmax, const int m, const double x,
+ double * result_array,
+ double * result_deriv_array
+ );
+
+
+
+/* size of result_array[] needed for the array versions of Plm
+ * (lmax - m + 1)
+ */
+int gsl_sf_legendre_array_size(const int lmax, const int m);
+
+/* Irregular Spherical Conical Function
+ * P^{1/2}_{-1/2 + I lambda}(x)
+ *
+ * x > -1.0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_conicalP_half_e(const double lambda, const double x, gsl_sf_result * result);
+double gsl_sf_conicalP_half(const double lambda, const double x);
+
+
+/* Regular Spherical Conical Function
+ * P^{-1/2}_{-1/2 + I lambda}(x)
+ *
+ * x > -1.0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_conicalP_mhalf_e(const double lambda, const double x, gsl_sf_result * result);
+double gsl_sf_conicalP_mhalf(const double lambda, const double x);
+
+
+/* Conical Function
+ * P^{0}_{-1/2 + I lambda}(x)
+ *
+ * x > -1.0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_conicalP_0_e(const double lambda, const double x, gsl_sf_result * result);
+double gsl_sf_conicalP_0(const double lambda, const double x);
+
+
+/* Conical Function
+ * P^{1}_{-1/2 + I lambda}(x)
+ *
+ * x > -1.0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_conicalP_1_e(const double lambda, const double x, gsl_sf_result * result);
+double gsl_sf_conicalP_1(const double lambda, const double x);
+
+
+/* Regular Spherical Conical Function
+ * P^{-1/2-l}_{-1/2 + I lambda}(x)
+ *
+ * x > -1.0, l >= -1
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_conicalP_sph_reg_e(const int l, const double lambda, const double x, gsl_sf_result * result);
+double gsl_sf_conicalP_sph_reg(const int l, const double lambda, const double x);
+
+
+/* Regular Cylindrical Conical Function
+ * P^{-m}_{-1/2 + I lambda}(x)
+ *
+ * x > -1.0, m >= -1
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_conicalP_cyl_reg_e(const int m, const double lambda, const double x, gsl_sf_result * result);
+double gsl_sf_conicalP_cyl_reg(const int m, const double lambda, const double x);
+
+
+/* The following spherical functions are specializations
+ * of Legendre functions which give the regular eigenfunctions
+ * of the Laplacian on a 3-dimensional hyperbolic space.
+ * Of particular interest is the flat limit, which is
+ * Flat-Lim := {lambda->Inf, eta->0, lambda*eta fixed}.
+ */
+
+/* Zeroth radial eigenfunction of the Laplacian on the
+ * 3-dimensional hyperbolic space.
+ *
+ * legendre_H3d_0(lambda,eta) := sin(lambda*eta)/(lambda*sinh(eta))
+ *
+ * Normalization:
+ * Flat-Lim legendre_H3d_0(lambda,eta) = j_0(lambda*eta)
+ *
+ * eta >= 0.0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_H3d_0_e(const double lambda, const double eta, gsl_sf_result * result);
+double gsl_sf_legendre_H3d_0(const double lambda, const double eta);
+
+
+/* First radial eigenfunction of the Laplacian on the
+ * 3-dimensional hyperbolic space.
+ *
+ * legendre_H3d_1(lambda,eta) :=
+ * 1/sqrt(lambda^2 + 1) sin(lam eta)/(lam sinh(eta))
+ * (coth(eta) - lambda cot(lambda*eta))
+ *
+ * Normalization:
+ * Flat-Lim legendre_H3d_1(lambda,eta) = j_1(lambda*eta)
+ *
+ * eta >= 0.0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_H3d_1_e(const double lambda, const double eta, gsl_sf_result * result);
+double gsl_sf_legendre_H3d_1(const double lambda, const double eta);
+
+
+/* l'th radial eigenfunction of the Laplacian on the
+ * 3-dimensional hyperbolic space.
+ *
+ * Normalization:
+ * Flat-Lim legendre_H3d_l(l,lambda,eta) = j_l(lambda*eta)
+ *
+ * eta >= 0.0, l >= 0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_legendre_H3d_e(const int l, const double lambda, const double eta, gsl_sf_result * result);
+double gsl_sf_legendre_H3d(const int l, const double lambda, const double eta);
+
+
+/* Array of H3d(ell), 0 <= ell <= lmax
+ */
+int gsl_sf_legendre_H3d_array(const int lmax, const double lambda, const double eta, double * result_array);
+
+/* associated legendre P_{lm} routines */
+
+typedef enum
+{
+ GSL_SF_LEGENDRE_SCHMIDT,
+ GSL_SF_LEGENDRE_SPHARM,
+ GSL_SF_LEGENDRE_FULL,
+ GSL_SF_LEGENDRE_NONE
+} gsl_sf_legendre_t;
+
+int gsl_sf_legendre_array(const gsl_sf_legendre_t norm,
+ const size_t lmax, const double x,
+ double result_array[]);
+int gsl_sf_legendre_array_e(const gsl_sf_legendre_t norm,
+ const size_t lmax, const double x,
+ const double csphase,
+ double result_array[]);
+int gsl_sf_legendre_deriv_array(const gsl_sf_legendre_t norm,
+ const size_t lmax, const double x,
+ double result_array[],
+ double result_deriv_array[]);
+int gsl_sf_legendre_deriv_array_e(const gsl_sf_legendre_t norm,
+ const size_t lmax, const double x,
+ const double csphase,
+ double result_array[],
+ double result_deriv_array[]);
+int gsl_sf_legendre_deriv_alt_array(const gsl_sf_legendre_t norm,
+ const size_t lmax, const double x,
+ double result_array[],
+ double result_deriv_array[]);
+int gsl_sf_legendre_deriv_alt_array_e(const gsl_sf_legendre_t norm,
+ const size_t lmax, const double x,
+ const double csphase,
+ double result_array[],
+ double result_deriv_array[]);
+int gsl_sf_legendre_deriv2_array(const gsl_sf_legendre_t norm,
+ const size_t lmax, const double x,
+ double result_array[],
+ double result_deriv_array[],
+ double result_deriv2_array[]);
+int gsl_sf_legendre_deriv2_array_e(const gsl_sf_legendre_t norm,
+ const size_t lmax, const double x,
+ const double csphase,
+ double result_array[],
+ double result_deriv_array[],
+ double result_deriv2_array[]);
+int gsl_sf_legendre_deriv2_alt_array(const gsl_sf_legendre_t norm,
+ const size_t lmax, const double x,
+ double result_array[],
+ double result_deriv_array[],
+ double result_deriv2_array[]);
+int gsl_sf_legendre_deriv2_alt_array_e(const gsl_sf_legendre_t norm,
+ const size_t lmax, const double x,
+ const double csphase,
+ double result_array[],
+ double result_deriv_array[],
+ double result_deriv2_array[]);
+size_t gsl_sf_legendre_array_n(const size_t lmax);
+size_t gsl_sf_legendre_array_index(const size_t l, const size_t m);
+size_t gsl_sf_legendre_nlm(const size_t lmax);
+
+__END_DECLS
+
+#endif /* __GSL_SF_LEGENDRE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_log.h b/thirdparty/includes/GSL/gsl/gsl_sf_log.h
new file mode 100644
index 0000000..92aa685
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_log.h
@@ -0,0 +1,82 @@
+/* specfunc/gsl_sf_log.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 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_SF_LOG_H__
+#define __GSL_SF_LOG_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Provide a logarithm function with GSL semantics.
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_log_e(const double x, gsl_sf_result * result);
+double gsl_sf_log(const double x);
+
+
+/* Log(|x|)
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_log_abs_e(const double x, gsl_sf_result * result);
+double gsl_sf_log_abs(const double x);
+
+
+/* Complex Logarithm
+ * exp(lnr + I theta) = zr + I zi
+ * Returns argument in [-pi,pi].
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_complex_log_e(const double zr, const double zi, gsl_sf_result * lnr, gsl_sf_result * theta);
+
+
+/* Log(1 + x)
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_log_1plusx_e(const double x, gsl_sf_result * result);
+double gsl_sf_log_1plusx(const double x);
+
+
+/* Log(1 + x) - x
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_log_1plusx_mx_e(const double x, gsl_sf_result * result);
+double gsl_sf_log_1plusx_mx(const double x);
+
+__END_DECLS
+
+#endif /* __GSL_SF_LOG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_mathieu.h b/thirdparty/includes/GSL/gsl/gsl_sf_mathieu.h
new file mode 100644
index 0000000..8dc8d14
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_mathieu.h
@@ -0,0 +1,113 @@
+/* specfunc/gsl_sf_mathieu.h
+ *
+ * Copyright (C) 2002 Lowell Johnson
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/* Author: L. Johnson */
+
+#ifndef __GSL_SF_MATHIEU_H__
+#define __GSL_SF_MATHIEU_H__
+
+#include <gsl/gsl_sf_result.h>
+#include <gsl/gsl_eigen.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
+
+#define GSL_SF_MATHIEU_COEFF 100
+
+typedef struct
+{
+ size_t size;
+ size_t even_order;
+ size_t odd_order;
+ int extra_values;
+ double qa; /* allow for caching of results: not implemented yet */
+ double qb; /* allow for caching of results: not implemented yet */
+ double *aa;
+ double *bb;
+ double *dd;
+ double *ee;
+ double *tt;
+ double *e2;
+ double *zz;
+ gsl_vector *eval;
+ gsl_matrix *evec;
+ gsl_eigen_symmv_workspace *wmat;
+} gsl_sf_mathieu_workspace;
+
+
+/* Compute an array of characteristic (eigen) values from the recurrence
+ matrices for the Mathieu equations. */
+int gsl_sf_mathieu_a_array(int order_min, int order_max, double qq, gsl_sf_mathieu_workspace *work, double result_array[]);
+int gsl_sf_mathieu_b_array(int order_min, int order_max, double qq, gsl_sf_mathieu_workspace *work, double result_array[]);
+
+/* Compute the characteristic value for a Mathieu function of order n and
+ type ntype. */
+int gsl_sf_mathieu_a_e(int order, double qq, gsl_sf_result *result);
+double gsl_sf_mathieu_a(int order, double qq);
+int gsl_sf_mathieu_b_e(int order, double qq, gsl_sf_result *result);
+double gsl_sf_mathieu_b(int order, double qq);
+
+/* Compute the Fourier coefficients for a Mathieu function. */
+int gsl_sf_mathieu_a_coeff(int order, double qq, double aa, double coeff[]);
+int gsl_sf_mathieu_b_coeff(int order, double qq, double aa, double coeff[]);
+
+/* Allocate computational storage space for eigenvalue solution. */
+gsl_sf_mathieu_workspace *gsl_sf_mathieu_alloc(const size_t nn,
+ const double qq);
+void gsl_sf_mathieu_free(gsl_sf_mathieu_workspace *workspace);
+
+/* Compute an angular Mathieu function. */
+int gsl_sf_mathieu_ce_e(int order, double qq, double zz, gsl_sf_result *result);
+double gsl_sf_mathieu_ce(int order, double qq, double zz);
+int gsl_sf_mathieu_se_e(int order, double qq, double zz, gsl_sf_result *result);
+double gsl_sf_mathieu_se(int order, double qq, double zz);
+int gsl_sf_mathieu_ce_array(int nmin, int nmax, double qq, double zz,
+ gsl_sf_mathieu_workspace *work,
+ double result_array[]);
+int gsl_sf_mathieu_se_array(int nmin, int nmax, double qq, double zz,
+ gsl_sf_mathieu_workspace *work,
+ double result_array[]);
+
+/* Compute a radial Mathieu function. */
+int gsl_sf_mathieu_Mc_e(int kind, int order, double qq, double zz,
+ gsl_sf_result *result);
+double gsl_sf_mathieu_Mc(int kind, int order, double qq, double zz);
+int gsl_sf_mathieu_Ms_e(int kind, int order, double qq, double zz,
+ gsl_sf_result *result);
+double gsl_sf_mathieu_Ms(int kind, int order, double qq, double zz);
+int gsl_sf_mathieu_Mc_array(int kind, int nmin, int nmax, double qq,
+ double zz, gsl_sf_mathieu_workspace *work,
+ double result_array[]);
+int gsl_sf_mathieu_Ms_array(int kind, int nmin, int nmax, double qq,
+ double zz, gsl_sf_mathieu_workspace *work,
+ double result_array[]);
+
+
+__END_DECLS
+
+#endif /* !__GSL_SF_MATHIEU_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_pow_int.h b/thirdparty/includes/GSL/gsl/gsl_sf_pow_int.h
new file mode 100644
index 0000000..e535d57
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_pow_int.h
@@ -0,0 +1,49 @@
+/* specfunc/gsl_sf_pow_int.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_SF_POW_INT_H__
+#define __GSL_SF_POW_INT_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Calculate x^n.
+ * Does not check for overflow/underflow.
+ */
+int gsl_sf_pow_int_e(double x, int n, gsl_sf_result * result);
+double gsl_sf_pow_int(const double x, const int n);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_POW_INT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_psi.h b/thirdparty/includes/GSL/gsl/gsl_sf_psi.h
new file mode 100644
index 0000000..ec61179
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_psi.h
@@ -0,0 +1,113 @@
+/* specfunc/gsl_sf_psi.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 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_SF_PSI_H__
+#define __GSL_SF_PSI_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Poly-Gamma Functions
+ *
+ * psi(m,x) := (d/dx)^m psi(0,x) = (d/dx)^{m+1} log(gamma(x))
+ */
+
+
+/* Di-Gamma Function psi(n) = psi(0,n)
+ *
+ * n > 0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_psi_int_e(const int n, gsl_sf_result * result);
+double gsl_sf_psi_int(const int n);
+
+
+/* Di-Gamma Function psi(x) = psi(0, x)
+ *
+ * x != 0.0, -1.0, -2.0, ...
+ * exceptions: GSL_EDOM, GSL_ELOSS
+ */
+int gsl_sf_psi_e(const double x, gsl_sf_result * result);
+double gsl_sf_psi(const double x);
+
+
+/* Di-Gamma Function Re[psi(1 + I y)]
+ *
+ * exceptions: none
+ */
+int gsl_sf_psi_1piy_e(const double y, gsl_sf_result * result);
+double gsl_sf_psi_1piy(const double y);
+
+
+/* Di-Gamma Function psi(z) for general complex argument z = x + iy
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_complex_psi_e(
+ const double x,
+ const double y,
+ gsl_sf_result * result_re,
+ gsl_sf_result * result_im
+ );
+
+
+/* Tri-Gamma Function psi^(1)(n)
+ *
+ * n > 0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_psi_1_int_e(const int n, gsl_sf_result * result);
+double gsl_sf_psi_1_int(const int n);
+
+
+/* Tri-Gamma Function psi^(1)(x)
+ *
+ * x != 0.0, -1.0, -2.0, ...
+ * exceptions: GSL_EDOM, GSL_ELOSS
+ */
+int gsl_sf_psi_1_e(const double x, gsl_sf_result * result);
+double gsl_sf_psi_1(const double x);
+
+
+/* Poly-Gamma Function psi^(n)(x)
+ *
+ * n >= 0, x > 0.0
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_psi_n_e(const int n, const double x, gsl_sf_result * result);
+double gsl_sf_psi_n(const int n, const double x);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_PSI_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_result.h b/thirdparty/includes/GSL/gsl/gsl_sf_result.h
new file mode 100644
index 0000000..512bad7
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_result.h
@@ -0,0 +1,59 @@
+/* specfunc/gsl_sf_result.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_SF_RESULT_H__
+#define __GSL_SF_RESULT_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_sf_result_struct {
+ double val;
+ double err;
+};
+typedef struct gsl_sf_result_struct gsl_sf_result;
+
+#define GSL_SF_RESULT_SET(r,v,e) do { (r)->val=(v); (r)->err=(e); } while(0)
+
+
+struct gsl_sf_result_e10_struct {
+ double val;
+ double err;
+ int e10;
+};
+typedef struct gsl_sf_result_e10_struct gsl_sf_result_e10;
+
+
+int gsl_sf_result_smash_e(const gsl_sf_result_e10 * re, gsl_sf_result * r);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_RESULT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_synchrotron.h b/thirdparty/includes/GSL/gsl/gsl_sf_synchrotron.h
new file mode 100644
index 0000000..26028c8
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_synchrotron.h
@@ -0,0 +1,60 @@
+/* specfunc/gsl_sf_synchrotron.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_SF_SYNCHROTRON_H__
+#define __GSL_SF_SYNCHROTRON_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* First synchrotron function:
+ * synchrotron_1(x) = x Integral[ K_{5/3}(t), {t, x, Infinity}]
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_synchrotron_1_e(const double x, gsl_sf_result * result);
+double gsl_sf_synchrotron_1(const double x);
+
+
+/* Second synchroton function:
+ * synchrotron_2(x) = x * K_{2/3}(x)
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_synchrotron_2_e(const double x, gsl_sf_result * result);
+double gsl_sf_synchrotron_2(const double x);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_SYNCHROTRON_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_transport.h b/thirdparty/includes/GSL/gsl/gsl_sf_transport.h
new file mode 100644
index 0000000..c0fd7fc
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_transport.h
@@ -0,0 +1,78 @@
+/* specfunc/gsl_sf_transport.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_SF_TRANSPORT_H__
+#define __GSL_SF_TRANSPORT_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Transport function:
+ * J(n,x) := Integral[ t^n e^t /(e^t - 1)^2, {t,0,x}]
+ */
+
+/* J(2,x)
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_transport_2_e(const double x, gsl_sf_result * result);
+double gsl_sf_transport_2(const double x);
+
+
+/* J(3,x)
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_transport_3_e(const double x, gsl_sf_result * result);
+double gsl_sf_transport_3(const double x);
+
+
+/* J(4,x)
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_transport_4_e(const double x, gsl_sf_result * result);
+double gsl_sf_transport_4(const double x);
+
+
+/* J(5,x)
+ *
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW
+ */
+int gsl_sf_transport_5_e(const double x, gsl_sf_result * result);
+double gsl_sf_transport_5(const double x);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_TRANSPORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_trig.h b/thirdparty/includes/GSL/gsl/gsl_sf_trig.h
new file mode 100644
index 0000000..e2c5722
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_trig.h
@@ -0,0 +1,152 @@
+/* specfunc/gsl_sf_trig.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_SF_TRIG_H__
+#define __GSL_SF_TRIG_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Sin(x) with GSL semantics. This is actually important
+ * because we want to control the error estimate, and trying
+ * to guess the error for the standard library implementation
+ * every time it is used would be a little goofy.
+ */
+int gsl_sf_sin_e(double x, gsl_sf_result * result);
+double gsl_sf_sin(const double x);
+
+
+/* Cos(x) with GSL semantics.
+ */
+int gsl_sf_cos_e(double x, gsl_sf_result * result);
+double gsl_sf_cos(const double x);
+
+
+/* Hypot(x,y) with GSL semantics.
+ */
+int gsl_sf_hypot_e(const double x, const double y, gsl_sf_result * result);
+double gsl_sf_hypot(const double x, const double y);
+
+
+/* Sin(z) for complex z
+ *
+ * exceptions: GSL_EOVRFLW
+ */
+int gsl_sf_complex_sin_e(const double zr, const double zi, gsl_sf_result * szr, gsl_sf_result * szi);
+
+
+/* Cos(z) for complex z
+ *
+ * exceptions: GSL_EOVRFLW
+ */
+int gsl_sf_complex_cos_e(const double zr, const double zi, gsl_sf_result * czr, gsl_sf_result * czi);
+
+
+/* Log(Sin(z)) for complex z
+ *
+ * exceptions: GSL_EDOM, GSL_ELOSS
+ */
+int gsl_sf_complex_logsin_e(const double zr, const double zi, gsl_sf_result * lszr, gsl_sf_result * lszi);
+
+
+/* Sinc(x) = sin(pi x) / (pi x)
+ *
+ * exceptions: none
+ */
+int gsl_sf_sinc_e(double x, gsl_sf_result * result);
+double gsl_sf_sinc(const double x);
+
+
+/* Log(Sinh(x)), x > 0
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_lnsinh_e(const double x, gsl_sf_result * result);
+double gsl_sf_lnsinh(const double x);
+
+
+/* Log(Cosh(x))
+ *
+ * exceptions: none
+ */
+int gsl_sf_lncosh_e(const double x, gsl_sf_result * result);
+double gsl_sf_lncosh(const double x);
+
+
+/* Convert polar to rectlinear coordinates.
+ *
+ * exceptions: GSL_ELOSS
+ */
+int gsl_sf_polar_to_rect(const double r, const double theta, gsl_sf_result * x, gsl_sf_result * y);
+
+/* Convert rectilinear to polar coordinates.
+ * return argument in range [-pi, pi]
+ *
+ * exceptions: GSL_EDOM
+ */
+int gsl_sf_rect_to_polar(const double x, const double y, gsl_sf_result * r, gsl_sf_result * theta);
+
+/* Sin(x) for quantity with an associated error.
+ */
+int gsl_sf_sin_err_e(const double x, const double dx, gsl_sf_result * result);
+
+
+/* Cos(x) for quantity with an associated error.
+ */
+int gsl_sf_cos_err_e(const double x, const double dx, gsl_sf_result * result);
+
+
+/* Force an angle to lie in the range (-pi,pi].
+ *
+ * exceptions: GSL_ELOSS
+ */
+int gsl_sf_angle_restrict_symm_e(double * theta);
+double gsl_sf_angle_restrict_symm(const double theta);
+
+
+/* Force an angle to lie in the range [0, 2pi)
+ *
+ * exceptions: GSL_ELOSS
+ */
+int gsl_sf_angle_restrict_pos_e(double * theta);
+double gsl_sf_angle_restrict_pos(const double theta);
+
+
+int gsl_sf_angle_restrict_symm_err_e(const double theta, gsl_sf_result * result);
+
+int gsl_sf_angle_restrict_pos_err_e(const double theta, gsl_sf_result * result);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_TRIG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sf_zeta.h b/thirdparty/includes/GSL/gsl/gsl_sf_zeta.h
new file mode 100644
index 0000000..2d7fad0
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sf_zeta.h
@@ -0,0 +1,112 @@
+/* specfunc/gsl_sf_zeta.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 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_SF_ZETA_H__
+#define __GSL_SF_ZETA_H__
+
+#include <gsl/gsl_sf_result.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
+
+
+/* Riemann Zeta Function
+ * zeta(n) = Sum[ k^(-n), {k,1,Infinity} ]
+ *
+ * n=integer, n != 1
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_zeta_int_e(const int n, gsl_sf_result * result);
+double gsl_sf_zeta_int(const int n);
+
+
+/* Riemann Zeta Function
+ * zeta(x) = Sum[ k^(-s), {k,1,Infinity} ], s != 1.0
+ *
+ * s != 1.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_zeta_e(const double s, gsl_sf_result * result);
+double gsl_sf_zeta(const double s);
+
+
+/* Riemann Zeta Function minus 1
+ * useful for evaluating the fractional part
+ * of Riemann zeta for large argument
+ *
+ * s != 1.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_zetam1_e(const double s, gsl_sf_result * result);
+double gsl_sf_zetam1(const double s);
+
+
+/* Riemann Zeta Function minus 1 for integer arg
+ * useful for evaluating the fractional part
+ * of Riemann zeta for large argument
+ *
+ * s != 1.0
+ * exceptions: GSL_EDOM, GSL_EOVRFLW
+ */
+int gsl_sf_zetam1_int_e(const int s, gsl_sf_result * result);
+double gsl_sf_zetam1_int(const int s);
+
+
+/* Hurwitz Zeta Function
+ * zeta(s,q) = Sum[ (k+q)^(-s), {k,0,Infinity} ]
+ *
+ * s > 1.0, q > 0.0
+ * exceptions: GSL_EDOM, GSL_EUNDRFLW, GSL_EOVRFLW
+ */
+int gsl_sf_hzeta_e(const double s, const double q, gsl_sf_result * result);
+double gsl_sf_hzeta(const double s, const double q);
+
+
+/* Eta Function
+ * eta(n) = (1-2^(1-n)) zeta(n)
+ *
+ * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
+ */
+int gsl_sf_eta_int_e(int n, gsl_sf_result * result);
+double gsl_sf_eta_int(const int n);
+
+
+/* Eta Function
+ * eta(s) = (1-2^(1-s)) zeta(s)
+ *
+ * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
+ */
+int gsl_sf_eta_e(const double s, gsl_sf_result * result);
+double gsl_sf_eta(const double s);
+
+
+__END_DECLS
+
+#endif /* __GSL_SF_ZETA_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_siman.h b/thirdparty/includes/GSL/gsl/gsl_siman.h
new file mode 100644
index 0000000..a16f7c7
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_siman.h
@@ -0,0 +1,82 @@
+/* siman/gsl_siman.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000 Mark Galassi
+ *
+ * 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_SIMAN_H__
+#define __GSL_SIMAN_H__
+#include <stdlib.h>
+#include <gsl/gsl_rng.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
+
+/* types for the function pointers passed to gsl_siman_solve */
+
+typedef double (*gsl_siman_Efunc_t) (void *xp);
+typedef void (*gsl_siman_step_t) (const gsl_rng *r, void *xp, double step_size);
+typedef double (*gsl_siman_metric_t) (void *xp, void *yp);
+typedef void (*gsl_siman_print_t) (void *xp);
+typedef void (*gsl_siman_copy_t) (void *source, void *dest);
+typedef void * (*gsl_siman_copy_construct_t) (void *xp);
+typedef void (*gsl_siman_destroy_t) (void *xp);
+
+/* this structure contains all the information needed to structure the
+ search, beyond the energy function, the step function and the
+ initial guess. */
+
+typedef struct {
+ int n_tries; /* how many points to try for each step */
+ int iters_fixed_T; /* how many iterations at each temperature? */
+ double step_size; /* max step size in the random walk */
+ /* the following parameters are for the Boltzmann distribution */
+ double k, t_initial, mu_t, t_min;
+} gsl_siman_params_t;
+
+/* prototype for the workhorse function */
+
+void gsl_siman_solve(const gsl_rng * r,
+ void *x0_p, gsl_siman_Efunc_t Ef,
+ gsl_siman_step_t take_step,
+ gsl_siman_metric_t distance,
+ gsl_siman_print_t print_position,
+ gsl_siman_copy_t copyfunc,
+ gsl_siman_copy_construct_t copy_constructor,
+ gsl_siman_destroy_t destructor,
+ size_t element_size,
+ gsl_siman_params_t params);
+
+void
+gsl_siman_solve_many (const gsl_rng * r, void *x0_p, gsl_siman_Efunc_t Ef,
+ gsl_siman_step_t take_step,
+ gsl_siman_metric_t distance,
+ gsl_siman_print_t print_position,
+ size_t element_size,
+ gsl_siman_params_t params);
+
+__END_DECLS
+
+#endif /* __GSL_SIMAN_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort.h b/thirdparty/includes/GSL/gsl/gsl_sort.h
new file mode 100644
index 0000000..b1496c2
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort.h
@@ -0,0 +1,20 @@
+#ifndef __GSL_SORT_H__
+#define __GSL_SORT_H__
+
+#include <gsl/gsl_sort_long_double.h>
+#include <gsl/gsl_sort_double.h>
+#include <gsl/gsl_sort_float.h>
+
+#include <gsl/gsl_sort_ulong.h>
+#include <gsl/gsl_sort_long.h>
+
+#include <gsl/gsl_sort_uint.h>
+#include <gsl/gsl_sort_int.h>
+
+#include <gsl/gsl_sort_ushort.h>
+#include <gsl/gsl_sort_short.h>
+
+#include <gsl/gsl_sort_uchar.h>
+#include <gsl/gsl_sort_char.h>
+
+#endif /* __GSL_SORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_char.h b/thirdparty/includes/GSL/gsl/gsl_sort_char.h
new file mode 100644
index 0000000..a4bf351
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_char.h
@@ -0,0 +1,51 @@
+/* sort/gsl_sort_char.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_CHAR_H__
+#define __GSL_SORT_CHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+void gsl_sort_char (char * data, const size_t stride, const size_t n);
+void gsl_sort2_char (char * data1, const size_t stride1, char * data2, const size_t stride2, const size_t n);
+void gsl_sort_char_index (size_t * p, const char * data, const size_t stride, const size_t n);
+
+int gsl_sort_char_smallest (char * dest, const size_t k, const char * src, const size_t stride, const size_t n);
+int gsl_sort_char_smallest_index (size_t * p, const size_t k, const char * src, const size_t stride, const size_t n);
+
+int gsl_sort_char_largest (char * dest, const size_t k, const char * src, const size_t stride, const size_t n);
+int gsl_sort_char_largest_index (size_t * p, const size_t k, const char * src, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_CHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_double.h b/thirdparty/includes/GSL/gsl/gsl_sort_double.h
new file mode 100644
index 0000000..3f67f43
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_double.h
@@ -0,0 +1,51 @@
+/* sort/gsl_sort_double.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_DOUBLE_H__
+#define __GSL_SORT_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+void gsl_sort (double * data, const size_t stride, const size_t n);
+void gsl_sort2 (double * data1, const size_t stride1, double * data2, const size_t stride2, const size_t n);
+void gsl_sort_index (size_t * p, const double * data, const size_t stride, const size_t n);
+
+int gsl_sort_smallest (double * dest, const size_t k, const double * src, const size_t stride, const size_t n);
+int gsl_sort_smallest_index (size_t * p, const size_t k, const double * src, const size_t stride, const size_t n);
+
+int gsl_sort_largest (double * dest, const size_t k, const double * src, const size_t stride, const size_t n);
+int gsl_sort_largest_index (size_t * p, const size_t k, const double * src, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_float.h b/thirdparty/includes/GSL/gsl/gsl_sort_float.h
new file mode 100644
index 0000000..505a1c6
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_float.h
@@ -0,0 +1,51 @@
+/* sort/gsl_sort_float.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_FLOAT_H__
+#define __GSL_SORT_FLOAT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+void gsl_sort_float (float * data, const size_t stride, const size_t n);
+void gsl_sort2_float (float * data1, const size_t stride1, float * data2, const size_t stride2, const size_t n);
+void gsl_sort_float_index (size_t * p, const float * data, const size_t stride, const size_t n);
+
+int gsl_sort_float_smallest (float * dest, const size_t k, const float * src, const size_t stride, const size_t n);
+int gsl_sort_float_smallest_index (size_t * p, const size_t k, const float * src, const size_t stride, const size_t n);
+
+int gsl_sort_float_largest (float * dest, const size_t k, const float * src, const size_t stride, const size_t n);
+int gsl_sort_float_largest_index (size_t * p, const size_t k, const float * src, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_int.h b/thirdparty/includes/GSL/gsl/gsl_sort_int.h
new file mode 100644
index 0000000..7aa8d38
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_int.h
@@ -0,0 +1,51 @@
+/* sort/gsl_sort_int.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_INT_H__
+#define __GSL_SORT_INT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+void gsl_sort_int (int * data, const size_t stride, const size_t n);
+void gsl_sort2_int (int * data1, const size_t stride1, int * data2, const size_t stride2, const size_t n);
+void gsl_sort_int_index (size_t * p, const int * data, const size_t stride, const size_t n);
+
+int gsl_sort_int_smallest (int * dest, const size_t k, const int * src, const size_t stride, const size_t n);
+int gsl_sort_int_smallest_index (size_t * p, const size_t k, const int * src, const size_t stride, const size_t n);
+
+int gsl_sort_int_largest (int * dest, const size_t k, const int * src, const size_t stride, const size_t n);
+int gsl_sort_int_largest_index (size_t * p, const size_t k, const int * src, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_INT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_long.h b/thirdparty/includes/GSL/gsl/gsl_sort_long.h
new file mode 100644
index 0000000..7f4d689
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_long.h
@@ -0,0 +1,51 @@
+/* sort/gsl_sort_long.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_LONG_H__
+#define __GSL_SORT_LONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+void gsl_sort_long (long * data, const size_t stride, const size_t n);
+void gsl_sort2_long (long * data1, const size_t stride1, long * data2, const size_t stride2, const size_t n);
+void gsl_sort_long_index (size_t * p, const long * data, const size_t stride, const size_t n);
+
+int gsl_sort_long_smallest (long * dest, const size_t k, const long * src, const size_t stride, const size_t n);
+int gsl_sort_long_smallest_index (size_t * p, const size_t k, const long * src, const size_t stride, const size_t n);
+
+int gsl_sort_long_largest (long * dest, const size_t k, const long * src, const size_t stride, const size_t n);
+int gsl_sort_long_largest_index (size_t * p, const size_t k, const long * src, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_LONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_long_double.h b/thirdparty/includes/GSL/gsl/gsl_sort_long_double.h
new file mode 100644
index 0000000..164fd23
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_long_double.h
@@ -0,0 +1,51 @@
+/* sort/gsl_sort_long_double.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_LONG_DOUBLE_H__
+#define __GSL_SORT_LONG_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+void gsl_sort_long_double (long double * data, const size_t stride, const size_t n);
+void gsl_sort2_long_double (long double * data1, const size_t stride1, long double * data2, const size_t stride2, const size_t n);
+void gsl_sort_long_double_index (size_t * p, const long double * data, const size_t stride, const size_t n);
+
+int gsl_sort_long_double_smallest (long double * dest, const size_t k, const long double * src, const size_t stride, const size_t n);
+int gsl_sort_long_double_smallest_index (size_t * p, const size_t k, const long double * src, const size_t stride, const size_t n);
+
+int gsl_sort_long_double_largest (long double * dest, const size_t k, const long double * src, const size_t stride, const size_t n);
+int gsl_sort_long_double_largest_index (size_t * p, const size_t k, const long double * src, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_short.h b/thirdparty/includes/GSL/gsl/gsl_sort_short.h
new file mode 100644
index 0000000..4626e9e
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_short.h
@@ -0,0 +1,51 @@
+/* sort/gsl_sort_short.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_SHORT_H__
+#define __GSL_SORT_SHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+void gsl_sort_short (short * data, const size_t stride, const size_t n);
+void gsl_sort2_short (short * data1, const size_t stride1, short * data2, const size_t stride2, const size_t n);
+void gsl_sort_short_index (size_t * p, const short * data, const size_t stride, const size_t n);
+
+int gsl_sort_short_smallest (short * dest, const size_t k, const short * src, const size_t stride, const size_t n);
+int gsl_sort_short_smallest_index (size_t * p, const size_t k, const short * src, const size_t stride, const size_t n);
+
+int gsl_sort_short_largest (short * dest, const size_t k, const short * src, const size_t stride, const size_t n);
+int gsl_sort_short_largest_index (size_t * p, const size_t k, const short * src, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_SHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_uchar.h b/thirdparty/includes/GSL/gsl/gsl_sort_uchar.h
new file mode 100644
index 0000000..6cd511d
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_uchar.h
@@ -0,0 +1,51 @@
+/* sort/gsl_sort_uchar.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_UCHAR_H__
+#define __GSL_SORT_UCHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+void gsl_sort_uchar (unsigned char * data, const size_t stride, const size_t n);
+void gsl_sort2_uchar (unsigned char * data1, const size_t stride1, unsigned char * data2, const size_t stride2, const size_t n);
+void gsl_sort_uchar_index (size_t * p, const unsigned char * data, const size_t stride, const size_t n);
+
+int gsl_sort_uchar_smallest (unsigned char * dest, const size_t k, const unsigned char * src, const size_t stride, const size_t n);
+int gsl_sort_uchar_smallest_index (size_t * p, const size_t k, const unsigned char * src, const size_t stride, const size_t n);
+
+int gsl_sort_uchar_largest (unsigned char * dest, const size_t k, const unsigned char * src, const size_t stride, const size_t n);
+int gsl_sort_uchar_largest_index (size_t * p, const size_t k, const unsigned char * src, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_UCHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_uint.h b/thirdparty/includes/GSL/gsl/gsl_sort_uint.h
new file mode 100644
index 0000000..639e596
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_uint.h
@@ -0,0 +1,51 @@
+/* sort/gsl_sort_uint.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_UINT_H__
+#define __GSL_SORT_UINT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+void gsl_sort_uint (unsigned int * data, const size_t stride, const size_t n);
+void gsl_sort2_uint (unsigned int * data1, const size_t stride1, unsigned int * data2, const size_t stride2, const size_t n);
+void gsl_sort_uint_index (size_t * p, const unsigned int * data, const size_t stride, const size_t n);
+
+int gsl_sort_uint_smallest (unsigned int * dest, const size_t k, const unsigned int * src, const size_t stride, const size_t n);
+int gsl_sort_uint_smallest_index (size_t * p, const size_t k, const unsigned int * src, const size_t stride, const size_t n);
+
+int gsl_sort_uint_largest (unsigned int * dest, const size_t k, const unsigned int * src, const size_t stride, const size_t n);
+int gsl_sort_uint_largest_index (size_t * p, const size_t k, const unsigned int * src, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_UINT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_ulong.h b/thirdparty/includes/GSL/gsl/gsl_sort_ulong.h
new file mode 100644
index 0000000..4f8e41d
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_ulong.h
@@ -0,0 +1,51 @@
+/* sort/gsl_sort_ulong.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_ULONG_H__
+#define __GSL_SORT_ULONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+void gsl_sort_ulong (unsigned long * data, const size_t stride, const size_t n);
+void gsl_sort2_ulong (unsigned long * data1, const size_t stride1, unsigned long * data2, const size_t stride2, const size_t n);
+void gsl_sort_ulong_index (size_t * p, const unsigned long * data, const size_t stride, const size_t n);
+
+int gsl_sort_ulong_smallest (unsigned long * dest, const size_t k, const unsigned long * src, const size_t stride, const size_t n);
+int gsl_sort_ulong_smallest_index (size_t * p, const size_t k, const unsigned long * src, const size_t stride, const size_t n);
+
+int gsl_sort_ulong_largest (unsigned long * dest, const size_t k, const unsigned long * src, const size_t stride, const size_t n);
+int gsl_sort_ulong_largest_index (size_t * p, const size_t k, const unsigned long * src, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_ULONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_ushort.h b/thirdparty/includes/GSL/gsl/gsl_sort_ushort.h
new file mode 100644
index 0000000..6da3d10
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_ushort.h
@@ -0,0 +1,51 @@
+/* sort/gsl_sort_ushort.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_USHORT_H__
+#define __GSL_SORT_USHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.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
+
+void gsl_sort_ushort (unsigned short * data, const size_t stride, const size_t n);
+void gsl_sort2_ushort (unsigned short * data1, const size_t stride1, unsigned short * data2, const size_t stride2, const size_t n);
+void gsl_sort_ushort_index (size_t * p, const unsigned short * data, const size_t stride, const size_t n);
+
+int gsl_sort_ushort_smallest (unsigned short * dest, const size_t k, const unsigned short * src, const size_t stride, const size_t n);
+int gsl_sort_ushort_smallest_index (size_t * p, const size_t k, const unsigned short * src, const size_t stride, const size_t n);
+
+int gsl_sort_ushort_largest (unsigned short * dest, const size_t k, const unsigned short * src, const size_t stride, const size_t n);
+int gsl_sort_ushort_largest_index (size_t * p, const size_t k, const unsigned short * src, const size_t stride, const size_t n);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_USHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector.h
new file mode 100644
index 0000000..d65a9ee
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector.h
@@ -0,0 +1,20 @@
+#ifndef __GSL_SORT_VECTOR_H__
+#define __GSL_SORT_VECTOR_H__
+
+#include <gsl/gsl_sort_vector_long_double.h>
+#include <gsl/gsl_sort_vector_double.h>
+#include <gsl/gsl_sort_vector_float.h>
+
+#include <gsl/gsl_sort_vector_ulong.h>
+#include <gsl/gsl_sort_vector_long.h>
+
+#include <gsl/gsl_sort_vector_uint.h>
+#include <gsl/gsl_sort_vector_int.h>
+
+#include <gsl/gsl_sort_vector_ushort.h>
+#include <gsl/gsl_sort_vector_short.h>
+
+#include <gsl/gsl_sort_vector_uchar.h>
+#include <gsl/gsl_sort_vector_char.h>
+
+#endif /* __GSL_SORT_VECTOR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector_char.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector_char.h
new file mode 100644
index 0000000..39721fb
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector_char.h
@@ -0,0 +1,52 @@
+/* sort/gsl_sort_vector_char.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_VECTOR_CHAR_H__
+#define __GSL_SORT_VECTOR_CHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_char.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
+
+void gsl_sort_vector_char (gsl_vector_char * v);
+void gsl_sort_vector2_char (gsl_vector_char * v1, gsl_vector_char * v2);
+int gsl_sort_vector_char_index (gsl_permutation * p, const gsl_vector_char * v);
+
+int gsl_sort_vector_char_smallest (char * dest, const size_t k, const gsl_vector_char * v);
+int gsl_sort_vector_char_largest (char * dest, const size_t k, const gsl_vector_char * v);
+
+int gsl_sort_vector_char_smallest_index (size_t * p, const size_t k, const gsl_vector_char * v);
+int gsl_sort_vector_char_largest_index (size_t * p, const size_t k, const gsl_vector_char * v);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_VECTOR_CHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector_double.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector_double.h
new file mode 100644
index 0000000..f60a744
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector_double.h
@@ -0,0 +1,52 @@
+/* sort/gsl_sort_vector_double.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_VECTOR_DOUBLE_H__
+#define __GSL_SORT_VECTOR_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_double.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
+
+void gsl_sort_vector (gsl_vector * v);
+void gsl_sort_vector2 (gsl_vector * v1, gsl_vector * v2);
+int gsl_sort_vector_index (gsl_permutation * p, const gsl_vector * v);
+
+int gsl_sort_vector_smallest (double * dest, const size_t k, const gsl_vector * v);
+int gsl_sort_vector_largest (double * dest, const size_t k, const gsl_vector * v);
+
+int gsl_sort_vector_smallest_index (size_t * p, const size_t k, const gsl_vector * v);
+int gsl_sort_vector_largest_index (size_t * p, const size_t k, const gsl_vector * v);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_VECTOR_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector_float.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector_float.h
new file mode 100644
index 0000000..fe035c3
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector_float.h
@@ -0,0 +1,52 @@
+/* sort/gsl_sort_vector_float.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_VECTOR_FLOAT_H__
+#define __GSL_SORT_VECTOR_FLOAT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_float.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
+
+void gsl_sort_vector_float (gsl_vector_float * v);
+void gsl_sort_vector2_float (gsl_vector_float * v1, gsl_vector_float * v2);
+int gsl_sort_vector_float_index (gsl_permutation * p, const gsl_vector_float * v);
+
+int gsl_sort_vector_float_smallest (float * dest, const size_t k, const gsl_vector_float * v);
+int gsl_sort_vector_float_largest (float * dest, const size_t k, const gsl_vector_float * v);
+
+int gsl_sort_vector_float_smallest_index (size_t * p, const size_t k, const gsl_vector_float * v);
+int gsl_sort_vector_float_largest_index (size_t * p, const size_t k, const gsl_vector_float * v);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_VECTOR_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector_int.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector_int.h
new file mode 100644
index 0000000..3179bca
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector_int.h
@@ -0,0 +1,52 @@
+/* sort/gsl_sort_vector_int.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_VECTOR_INT_H__
+#define __GSL_SORT_VECTOR_INT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_int.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
+
+void gsl_sort_vector_int (gsl_vector_int * v);
+void gsl_sort_vector2_int (gsl_vector_int * v1, gsl_vector_int * v2);
+int gsl_sort_vector_int_index (gsl_permutation * p, const gsl_vector_int * v);
+
+int gsl_sort_vector_int_smallest (int * dest, const size_t k, const gsl_vector_int * v);
+int gsl_sort_vector_int_largest (int * dest, const size_t k, const gsl_vector_int * v);
+
+int gsl_sort_vector_int_smallest_index (size_t * p, const size_t k, const gsl_vector_int * v);
+int gsl_sort_vector_int_largest_index (size_t * p, const size_t k, const gsl_vector_int * v);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_VECTOR_INT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector_long.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector_long.h
new file mode 100644
index 0000000..41eebec
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector_long.h
@@ -0,0 +1,52 @@
+/* sort/gsl_sort_vector_long.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_VECTOR_LONG_H__
+#define __GSL_SORT_VECTOR_LONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_long.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
+
+void gsl_sort_vector_long (gsl_vector_long * v);
+void gsl_sort_vector2_long (gsl_vector_long * v1, gsl_vector_long * v2);
+int gsl_sort_vector_long_index (gsl_permutation * p, const gsl_vector_long * v);
+
+int gsl_sort_vector_long_smallest (long * dest, const size_t k, const gsl_vector_long * v);
+int gsl_sort_vector_long_largest (long * dest, const size_t k, const gsl_vector_long * v);
+
+int gsl_sort_vector_long_smallest_index (size_t * p, const size_t k, const gsl_vector_long * v);
+int gsl_sort_vector_long_largest_index (size_t * p, const size_t k, const gsl_vector_long * v);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_VECTOR_LONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector_long_double.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector_long_double.h
new file mode 100644
index 0000000..4409d06
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector_long_double.h
@@ -0,0 +1,52 @@
+/* sort/gsl_sort_vector_long_double.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_VECTOR_LONG_DOUBLE_H__
+#define __GSL_SORT_VECTOR_LONG_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_long_double.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
+
+void gsl_sort_vector_long_double (gsl_vector_long_double * v);
+void gsl_sort_vector2_long_double (gsl_vector_long_double * v1, gsl_vector_long_double * v2);
+int gsl_sort_vector_long_double_index (gsl_permutation * p, const gsl_vector_long_double * v);
+
+int gsl_sort_vector_long_double_smallest (long double * dest, const size_t k, const gsl_vector_long_double * v);
+int gsl_sort_vector_long_double_largest (long double * dest, const size_t k, const gsl_vector_long_double * v);
+
+int gsl_sort_vector_long_double_smallest_index (size_t * p, const size_t k, const gsl_vector_long_double * v);
+int gsl_sort_vector_long_double_largest_index (size_t * p, const size_t k, const gsl_vector_long_double * v);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_VECTOR_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector_short.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector_short.h
new file mode 100644
index 0000000..f25e869
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector_short.h
@@ -0,0 +1,52 @@
+/* sort/gsl_sort_vector_short.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_VECTOR_SHORT_H__
+#define __GSL_SORT_VECTOR_SHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_short.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
+
+void gsl_sort_vector_short (gsl_vector_short * v);
+void gsl_sort_vector2_short (gsl_vector_short * v1, gsl_vector_short * v2);
+int gsl_sort_vector_short_index (gsl_permutation * p, const gsl_vector_short * v);
+
+int gsl_sort_vector_short_smallest (short * dest, const size_t k, const gsl_vector_short * v);
+int gsl_sort_vector_short_largest (short * dest, const size_t k, const gsl_vector_short * v);
+
+int gsl_sort_vector_short_smallest_index (size_t * p, const size_t k, const gsl_vector_short * v);
+int gsl_sort_vector_short_largest_index (size_t * p, const size_t k, const gsl_vector_short * v);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_VECTOR_SHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector_uchar.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector_uchar.h
new file mode 100644
index 0000000..edc3408
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector_uchar.h
@@ -0,0 +1,52 @@
+/* sort/gsl_sort_vector_uchar.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_VECTOR_UCHAR_H__
+#define __GSL_SORT_VECTOR_UCHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_uchar.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
+
+void gsl_sort_vector_uchar (gsl_vector_uchar * v);
+void gsl_sort_vector2_uchar (gsl_vector_uchar * v1, gsl_vector_uchar * v2);
+int gsl_sort_vector_uchar_index (gsl_permutation * p, const gsl_vector_uchar * v);
+
+int gsl_sort_vector_uchar_smallest (unsigned char * dest, const size_t k, const gsl_vector_uchar * v);
+int gsl_sort_vector_uchar_largest (unsigned char * dest, const size_t k, const gsl_vector_uchar * v);
+
+int gsl_sort_vector_uchar_smallest_index (size_t * p, const size_t k, const gsl_vector_uchar * v);
+int gsl_sort_vector_uchar_largest_index (size_t * p, const size_t k, const gsl_vector_uchar * v);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_VECTOR_UCHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector_uint.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector_uint.h
new file mode 100644
index 0000000..6e45b84
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector_uint.h
@@ -0,0 +1,52 @@
+/* sort/gsl_sort_vector_uint.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_VECTOR_UINT_H__
+#define __GSL_SORT_VECTOR_UINT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_uint.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
+
+void gsl_sort_vector_uint (gsl_vector_uint * v);
+void gsl_sort_vector2_uint (gsl_vector_uint * v1, gsl_vector_uint * v2);
+int gsl_sort_vector_uint_index (gsl_permutation * p, const gsl_vector_uint * v);
+
+int gsl_sort_vector_uint_smallest (unsigned int * dest, const size_t k, const gsl_vector_uint * v);
+int gsl_sort_vector_uint_largest (unsigned int * dest, const size_t k, const gsl_vector_uint * v);
+
+int gsl_sort_vector_uint_smallest_index (size_t * p, const size_t k, const gsl_vector_uint * v);
+int gsl_sort_vector_uint_largest_index (size_t * p, const size_t k, const gsl_vector_uint * v);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_VECTOR_UINT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector_ulong.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector_ulong.h
new file mode 100644
index 0000000..e651057
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector_ulong.h
@@ -0,0 +1,52 @@
+/* sort/gsl_sort_vector_ulong.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_VECTOR_ULONG_H__
+#define __GSL_SORT_VECTOR_ULONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_ulong.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
+
+void gsl_sort_vector_ulong (gsl_vector_ulong * v);
+void gsl_sort_vector2_ulong (gsl_vector_ulong * v1, gsl_vector_ulong * v2);
+int gsl_sort_vector_ulong_index (gsl_permutation * p, const gsl_vector_ulong * v);
+
+int gsl_sort_vector_ulong_smallest (unsigned long * dest, const size_t k, const gsl_vector_ulong * v);
+int gsl_sort_vector_ulong_largest (unsigned long * dest, const size_t k, const gsl_vector_ulong * v);
+
+int gsl_sort_vector_ulong_smallest_index (size_t * p, const size_t k, const gsl_vector_ulong * v);
+int gsl_sort_vector_ulong_largest_index (size_t * p, const size_t k, const gsl_vector_ulong * v);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_VECTOR_ULONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sort_vector_ushort.h b/thirdparty/includes/GSL/gsl/gsl_sort_vector_ushort.h
new file mode 100644
index 0000000..09eb0bd
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sort_vector_ushort.h
@@ -0,0 +1,52 @@
+/* sort/gsl_sort_vector_ushort.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Thomas Walter, 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_SORT_VECTOR_USHORT_H__
+#define __GSL_SORT_VECTOR_USHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_permutation.h>
+#include <gsl/gsl_vector_ushort.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
+
+void gsl_sort_vector_ushort (gsl_vector_ushort * v);
+void gsl_sort_vector2_ushort (gsl_vector_ushort * v1, gsl_vector_ushort * v2);
+int gsl_sort_vector_ushort_index (gsl_permutation * p, const gsl_vector_ushort * v);
+
+int gsl_sort_vector_ushort_smallest (unsigned short * dest, const size_t k, const gsl_vector_ushort * v);
+int gsl_sort_vector_ushort_largest (unsigned short * dest, const size_t k, const gsl_vector_ushort * v);
+
+int gsl_sort_vector_ushort_smallest_index (size_t * p, const size_t k, const gsl_vector_ushort * v);
+int gsl_sort_vector_ushort_largest_index (size_t * p, const size_t k, const gsl_vector_ushort * v);
+
+__END_DECLS
+
+#endif /* __GSL_SORT_VECTOR_USHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_spblas.h b/thirdparty/includes/GSL/gsl/gsl_spblas.h
new file mode 100644
index 0000000..9d66088
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_spblas.h
@@ -0,0 +1,58 @@
+/* gsl_spblas.h
+ *
+ * Copyright (C) 2012-2014 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_SPBLAS_H__
+#define __GSL_SPBLAS_H__
+
+#include <stdlib.h>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.h>
+#include <gsl/gsl_spmatrix.h>
+#include <gsl/gsl_blas.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
+
+/*
+ * Prototypes
+ */
+
+int gsl_spblas_dgemv(const CBLAS_TRANSPOSE_t TransA, const double alpha,
+ const gsl_spmatrix *A, const gsl_vector *x,
+ const double beta, gsl_vector *y);
+int gsl_spblas_dgemm(const double alpha, const gsl_spmatrix *A,
+ const gsl_spmatrix *B, gsl_spmatrix *C);
+size_t gsl_spblas_scatter(const gsl_spmatrix *A, const size_t j,
+ const double alpha, size_t *w, double *x,
+ const size_t mark, gsl_spmatrix *C, size_t nz);
+
+__END_DECLS
+
+#endif /* __GSL_SPBLAS_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_specfunc.h b/thirdparty/includes/GSL/gsl/gsl_specfunc.h
new file mode 100644
index 0000000..e07b5aa
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_specfunc.h
@@ -0,0 +1,10 @@
+/* Author: G. Jungman */
+
+
+/* Convenience header */
+#ifndef __GSL_SPECFUNC_H__
+#define __GSL_SPECFUNC_H__
+
+#include <gsl/gsl_sf.h>
+
+#endif /* __GSL_SPECFUNC_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_splinalg.h b/thirdparty/includes/GSL/gsl/gsl_splinalg.h
new file mode 100644
index 0000000..265b6ae
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_splinalg.h
@@ -0,0 +1,79 @@
+/* gsl_splinalg.h
+ *
+ * Copyright (C) 2012-2014 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_SPLINALG_H__
+#define __GSL_SPLINALG_H__
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.h>
+#include <gsl/gsl_spmatrix.h>
+#include <gsl/gsl_linalg.h>
+#include <gsl/gsl_types.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
+
+/* iteration solver type */
+typedef struct
+{
+ const char *name;
+ void * (*alloc) (const size_t n, const size_t m);
+ int (*iterate) (const gsl_spmatrix *A, const gsl_vector *b,
+ const double tol, gsl_vector *x, void *);
+ double (*normr)(const void *);
+ void (*free) (void *);
+} gsl_splinalg_itersolve_type;
+
+typedef struct
+{
+ const gsl_splinalg_itersolve_type * type;
+ double normr; /* current residual norm || b - A x || */
+ void * state;
+} gsl_splinalg_itersolve;
+
+/* available types */
+GSL_VAR const gsl_splinalg_itersolve_type * gsl_splinalg_itersolve_gmres;
+
+/*
+ * Prototypes
+ */
+gsl_splinalg_itersolve *
+gsl_splinalg_itersolve_alloc(const gsl_splinalg_itersolve_type *T,
+ const size_t n, const size_t m);
+void gsl_splinalg_itersolve_free(gsl_splinalg_itersolve *w);
+const char *gsl_splinalg_itersolve_name(const gsl_splinalg_itersolve *w);
+int gsl_splinalg_itersolve_iterate(const gsl_spmatrix *A,
+ const gsl_vector *b,
+ const double tol, gsl_vector *x,
+ gsl_splinalg_itersolve *w);
+double gsl_splinalg_itersolve_normr(const gsl_splinalg_itersolve *w);
+
+__END_DECLS
+
+#endif /* __GSL_SPLINALG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_spline.h b/thirdparty/includes/GSL/gsl/gsl_spline.h
new file mode 100644
index 0000000..08255ca
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_spline.h
@@ -0,0 +1,101 @@
+/* interpolation/gsl_spline.h
+ *
+ * Copyright (C) 2001, 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_SPLINE_H__
+#define __GSL_SPLINE_H__
+#include <stdlib.h>
+#include <gsl/gsl_interp.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
+
+
+/* general interpolation object */
+typedef struct {
+ gsl_interp * interp;
+ double * x;
+ double * y;
+ size_t size;
+} gsl_spline;
+
+gsl_spline *
+gsl_spline_alloc(const gsl_interp_type * T, size_t size);
+
+int
+gsl_spline_init(gsl_spline * spline, const double xa[], const double ya[], size_t size);
+
+const char * gsl_spline_name(const gsl_spline * spline);
+unsigned int gsl_spline_min_size(const gsl_spline * spline);
+
+
+int
+gsl_spline_eval_e(const gsl_spline * spline, double x,
+ gsl_interp_accel * a, double * y);
+
+double
+gsl_spline_eval(const gsl_spline * spline, double x, gsl_interp_accel * a);
+
+int
+gsl_spline_eval_deriv_e(const gsl_spline * spline,
+ double x,
+ gsl_interp_accel * a,
+ double * y);
+
+double
+gsl_spline_eval_deriv(const gsl_spline * spline,
+ double x,
+ gsl_interp_accel * a);
+
+int
+gsl_spline_eval_deriv2_e(const gsl_spline * spline,
+ double x,
+ gsl_interp_accel * a,
+ double * y);
+
+double
+gsl_spline_eval_deriv2(const gsl_spline * spline,
+ double x,
+ gsl_interp_accel * a);
+
+int
+gsl_spline_eval_integ_e(const gsl_spline * spline,
+ double a, double b,
+ gsl_interp_accel * acc,
+ double * y);
+
+double
+gsl_spline_eval_integ(const gsl_spline * spline,
+ double a, double b,
+ gsl_interp_accel * acc);
+
+void
+gsl_spline_free(gsl_spline * spline);
+
+__END_DECLS
+
+#endif /* __GSL_INTERP_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_spline2d.h b/thirdparty/includes/GSL/gsl/gsl_spline2d.h
new file mode 100644
index 0000000..a304800
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_spline2d.h
@@ -0,0 +1,113 @@
+/* interpolation/gsl_spline2d.h
+ *
+ * Copyright 2012 David Zaslavsky
+ *
+ * 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_SPLINE2D_H__
+#define __GSL_SPLINE2D_H__
+
+#include <gsl/gsl_interp.h>
+#include <gsl/gsl_interp2d.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
+
+
+/*
+ * A 2D interpolation object which stores the arrays defining the function.
+ * In all other respects, this is just like a gsl_interp2d object.
+ */
+typedef struct
+{
+ gsl_interp2d interp_object; /* low-level interpolation object */
+ double * xarr; /* x data array */
+ double * yarr; /* y data array */
+ double * zarr; /* z data array */
+} gsl_spline2d;
+
+gsl_spline2d * gsl_spline2d_alloc(const gsl_interp2d_type * T, size_t xsize, size_t ysize);
+
+int gsl_spline2d_init(gsl_spline2d * interp, const double xa[],
+ const double ya[], const double za[],
+ size_t xsize, size_t ysize);
+
+void gsl_spline2d_free(gsl_spline2d * interp);
+
+double gsl_spline2d_eval(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa, gsl_interp_accel* ya);
+
+int gsl_spline2d_eval_e(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa, gsl_interp_accel* ya,
+ double * z);
+
+double gsl_spline2d_eval_deriv_x(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa, gsl_interp_accel* ya);
+
+int gsl_spline2d_eval_deriv_x_e(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa,
+ gsl_interp_accel* ya, double * z);
+
+double gsl_spline2d_eval_deriv_y(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa,
+ gsl_interp_accel* ya);
+
+int gsl_spline2d_eval_deriv_y_e(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa,
+ gsl_interp_accel* ya, double * z);
+
+double gsl_spline2d_eval_deriv_xx(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa, gsl_interp_accel* ya);
+
+int gsl_spline2d_eval_deriv_xx_e(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa,
+ gsl_interp_accel* ya, double * z);
+
+double gsl_spline2d_eval_deriv_yy(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa, gsl_interp_accel* ya);
+
+int gsl_spline2d_eval_deriv_yy_e(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa,
+ gsl_interp_accel* ya, double * z);
+
+double gsl_spline2d_eval_deriv_xy(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa, gsl_interp_accel* ya);
+
+int gsl_spline2d_eval_deriv_xy_e(const gsl_spline2d * interp, const double x,
+ const double y, gsl_interp_accel* xa,
+ gsl_interp_accel* ya, double * z);
+
+size_t gsl_spline2d_min_size(const gsl_spline2d * interp);
+
+const char * gsl_spline2d_name(const gsl_spline2d * interp);
+
+int gsl_spline2d_set(const gsl_spline2d * interp, double zarr[],
+ const size_t i, const size_t j, const double z);
+double gsl_spline2d_get(const gsl_spline2d * interp, const double zarr[],
+ const size_t i, const size_t j);
+
+__END_DECLS
+
+#endif /* __GSL_SPLINE2D_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_spmatrix.h b/thirdparty/includes/GSL/gsl/gsl_spmatrix.h
new file mode 100644
index 0000000..741d9e6
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_spmatrix.h
@@ -0,0 +1,150 @@
+/* gsl_spmatrix.h
+ *
+ * Copyright (C) 2012-2014 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_SPMATRIX_H__
+#define __GSL_SPMATRIX_H__
+
+#include <stdlib.h>
+
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_vector.h>
+#include <gsl/gsl_matrix.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
+
+/*
+ * Binary tree data structure for storing sparse matrix elements
+ * in triplet format. This is used for efficiently detecting
+ * duplicates and element retrieval via gsl_spmatrix_get
+ */
+typedef struct
+{
+ void *tree; /* tree structure */
+ void *node_array; /* preallocated array of tree nodes */
+ size_t n; /* number of tree nodes in use (<= nzmax) */
+} gsl_spmatrix_tree;
+
+/*
+ * Triplet format:
+ *
+ * If data[n] = A_{ij}, then:
+ * i = A->i[n]
+ * j = A->p[n]
+ *
+ * Compressed column format:
+ *
+ * If data[n] = A_{ij}, then:
+ * i = A->i[n]
+ * A->p[j] <= n < A->p[j+1]
+ * so that column j is stored in
+ * [ data[p[j]], data[p[j] + 1], ..., data[p[j+1] - 1] ]
+ */
+
+typedef struct
+{
+ size_t size1; /* number of rows */
+ size_t size2; /* number of columns */
+
+ size_t *i; /* row indices of size nzmax */
+ double *data; /* matrix elements of size nzmax */
+
+ /*
+ * p contains the column indices (triplet) or column pointers (compcol)
+ *
+ * triplet: p[n] = column number of element data[n]
+ * comp. col: p[j] = index in data of first non-zero element in column j
+ * comp. row: p[i] = index in data of first non-zero element in row i
+ */
+ size_t *p;
+
+ size_t nzmax; /* maximum number of matrix elements */
+ size_t nz; /* number of non-zero values in matrix */
+
+ gsl_spmatrix_tree *tree_data; /* binary tree for sorting triplet data */
+
+ /*
+ * workspace of size MAX(size1,size2)*MAX(sizeof(double),sizeof(size_t))
+ * used in various routines
+ */
+ void *work;
+
+ size_t sptype; /* sparse storage type */
+} gsl_spmatrix;
+
+#define GSL_SPMATRIX_TRIPLET (0)
+#define GSL_SPMATRIX_CCS (1)
+
+#define GSL_SPMATRIX_ISTRIPLET(m) ((m)->sptype == GSL_SPMATRIX_TRIPLET)
+#define GSL_SPMATRIX_ISCCS(m) ((m)->sptype == GSL_SPMATRIX_CCS)
+
+/*
+ * Prototypes
+ */
+
+gsl_spmatrix *gsl_spmatrix_alloc(const size_t n1, const size_t n2);
+gsl_spmatrix *gsl_spmatrix_alloc_nzmax(const size_t n1, const size_t n2,
+ const size_t nzmax, const size_t flags);
+void gsl_spmatrix_free(gsl_spmatrix *m);
+int gsl_spmatrix_realloc(const size_t nzmax, gsl_spmatrix *m);
+int gsl_spmatrix_set_zero(gsl_spmatrix *m);
+size_t gsl_spmatrix_nnz(const gsl_spmatrix *m);
+int gsl_spmatrix_compare_idx(const size_t ia, const size_t ja,
+ const size_t ib, const size_t jb);
+
+/* spcopy.c */
+int gsl_spmatrix_memcpy(gsl_spmatrix *dest, const gsl_spmatrix *src);
+
+/* spgetset.c */
+double gsl_spmatrix_get(const gsl_spmatrix *m, const size_t i,
+ const size_t j);
+int gsl_spmatrix_set(gsl_spmatrix *m, const size_t i, const size_t j,
+ const double x);
+
+/* spcompress.c */
+gsl_spmatrix *gsl_spmatrix_compcol(const gsl_spmatrix *T);
+void gsl_spmatrix_cumsum(const size_t n, size_t *c);
+
+/* spoper.c */
+int gsl_spmatrix_scale(gsl_spmatrix *m, const double x);
+int gsl_spmatrix_minmax(const gsl_spmatrix *m, double *min_out,
+ double *max_out);
+int gsl_spmatrix_add(gsl_spmatrix *c, const gsl_spmatrix *a,
+ const gsl_spmatrix *b);
+int gsl_spmatrix_d2sp(gsl_spmatrix *S, const gsl_matrix *A);
+int gsl_spmatrix_sp2d(gsl_matrix *A, const gsl_spmatrix *S);
+
+/* spprop.c */
+int gsl_spmatrix_equal(const gsl_spmatrix *a, const gsl_spmatrix *b);
+
+/* spswap.c */
+int gsl_spmatrix_transpose_memcpy(gsl_spmatrix *dest, const gsl_spmatrix *src);
+
+__END_DECLS
+
+#endif /* __GSL_SPMATRIX_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics.h b/thirdparty/includes/GSL/gsl/gsl_statistics.h
new file mode 100644
index 0000000..9fb414f
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics.h
@@ -0,0 +1,20 @@
+#ifndef __GSL_STATISTICS_H__
+#define __GSL_STATISTICS_H__
+
+#include <gsl/gsl_statistics_long_double.h>
+#include <gsl/gsl_statistics_double.h>
+#include <gsl/gsl_statistics_float.h>
+
+#include <gsl/gsl_statistics_ulong.h>
+#include <gsl/gsl_statistics_long.h>
+
+#include <gsl/gsl_statistics_uint.h>
+#include <gsl/gsl_statistics_int.h>
+
+#include <gsl/gsl_statistics_ushort.h>
+#include <gsl/gsl_statistics_short.h>
+
+#include <gsl/gsl_statistics_uchar.h>
+#include <gsl/gsl_statistics_char.h>
+
+#endif /* __GSL_STATISTICS_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics_char.h b/thirdparty/includes/GSL/gsl/gsl_statistics_char.h
new file mode 100644
index 0000000..ad1eb4f
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics_char.h
@@ -0,0 +1,80 @@
+/* statistics/gsl_statistics_char.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, 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_STATISTICS_CHAR_H__
+#define __GSL_STATISTICS_CHAR_H__
+
+#include <stddef.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_stats_char_mean (const char data[], const size_t stride, const size_t n);
+double gsl_stats_char_variance (const char data[], const size_t stride, const size_t n);
+double gsl_stats_char_sd (const char data[], const size_t stride, const size_t n);
+double gsl_stats_char_variance_with_fixed_mean (const char data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_char_sd_with_fixed_mean (const char data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_char_tss (const char data[], const size_t stride, const size_t n);
+double gsl_stats_char_tss_m (const char data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_char_absdev (const char data[], const size_t stride, const size_t n);
+double gsl_stats_char_skew (const char data[], const size_t stride, const size_t n);
+double gsl_stats_char_kurtosis (const char data[], const size_t stride, const size_t n);
+double gsl_stats_char_lag1_autocorrelation (const char data[], const size_t stride, const size_t n);
+
+double gsl_stats_char_covariance (const char data1[], const size_t stride1,const char data2[], const size_t stride2, const size_t n);
+double gsl_stats_char_correlation (const char data1[], const size_t stride1,const char data2[], const size_t stride2, const size_t n);
+double gsl_stats_char_spearman (const char data1[], const size_t stride1, const char data2[], const size_t stride2, const size_t n, double work[]);
+
+double gsl_stats_char_variance_m (const char data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_char_sd_m (const char data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_char_absdev_m (const char data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_char_skew_m_sd (const char data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_char_kurtosis_m_sd (const char data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_char_lag1_autocorrelation_m (const char data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_char_covariance_m (const char data1[], const size_t stride1,const char data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
+
+
+double gsl_stats_char_pvariance (const char data1[], const size_t stride1, const size_t n1, const char data2[], const size_t stride2, const size_t n2);
+double gsl_stats_char_ttest (const char data1[], const size_t stride1, const size_t n1, const char data2[], const size_t stride2, const size_t n2);
+
+char gsl_stats_char_max (const char data[], const size_t stride, const size_t n);
+char gsl_stats_char_min (const char data[], const size_t stride, const size_t n);
+void gsl_stats_char_minmax (char * min, char * max, const char data[], const size_t stride, const size_t n);
+
+size_t gsl_stats_char_max_index (const char data[], const size_t stride, const size_t n);
+size_t gsl_stats_char_min_index (const char data[], const size_t stride, const size_t n);
+void gsl_stats_char_minmax_index (size_t * min_index, size_t * max_index, const char data[], const size_t stride, const size_t n);
+
+double gsl_stats_char_median_from_sorted_data (const char sorted_data[], const size_t stride, const size_t n) ;
+double gsl_stats_char_quantile_from_sorted_data (const char sorted_data[], const size_t stride, const size_t n, const double f) ;
+
+__END_DECLS
+
+#endif /* __GSL_STATISTICS_CHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics_double.h b/thirdparty/includes/GSL/gsl/gsl_statistics_double.h
new file mode 100644
index 0000000..43b2956
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics_double.h
@@ -0,0 +1,100 @@
+/* statistics/gsl_statistics_double.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, 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_STATISTICS_DOUBLE_H__
+#define __GSL_STATISTICS_DOUBLE_H__
+
+#include <stddef.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_stats_mean (const double data[], const size_t stride, const size_t n);
+double gsl_stats_variance (const double data[], const size_t stride, const size_t n);
+double gsl_stats_sd (const double data[], const size_t stride, const size_t n);
+double gsl_stats_variance_with_fixed_mean (const double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_sd_with_fixed_mean (const double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_tss (const double data[], const size_t stride, const size_t n);
+double gsl_stats_tss_m (const double data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_absdev (const double data[], const size_t stride, const size_t n);
+double gsl_stats_skew (const double data[], const size_t stride, const size_t n);
+double gsl_stats_kurtosis (const double data[], const size_t stride, const size_t n);
+double gsl_stats_lag1_autocorrelation (const double data[], const size_t stride, const size_t n);
+
+double gsl_stats_covariance (const double data1[], const size_t stride1,const double data2[], const size_t stride2, const size_t n);
+double gsl_stats_correlation (const double data1[], const size_t stride1,const double data2[], const size_t stride2, const size_t n);
+double gsl_stats_spearman (const double data1[], const size_t stride1, const double data2[], const size_t stride2, const size_t n, double work[]);
+
+double gsl_stats_variance_m (const double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_sd_m (const double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_absdev_m (const double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_skew_m_sd (const double data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_kurtosis_m_sd (const double data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_lag1_autocorrelation_m (const double data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_covariance_m (const double data1[], const size_t stride1,const double data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
+
+/* DEFINED FOR FLOATING POINT TYPES ONLY */
+
+double gsl_stats_wmean (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n);
+double gsl_stats_wvariance (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n);
+double gsl_stats_wsd (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n);
+double gsl_stats_wvariance_with_fixed_mean (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_wsd_with_fixed_mean (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_wtss (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n);
+double gsl_stats_wtss_m (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_wabsdev (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n);
+double gsl_stats_wskew (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n);
+double gsl_stats_wkurtosis (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n);
+
+double gsl_stats_wvariance_m (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_wsd_m (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_wabsdev_m (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_wskew_m_sd (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n, const double wmean, const double wsd);
+double gsl_stats_wkurtosis_m_sd (const double w[], const size_t wstride, const double data[], const size_t stride, const size_t n, const double wmean, const double wsd);
+
+/* END OF FLOATING POINT TYPES */
+
+double gsl_stats_pvariance (const double data1[], const size_t stride1, const size_t n1, const double data2[], const size_t stride2, const size_t n2);
+double gsl_stats_ttest (const double data1[], const size_t stride1, const size_t n1, const double data2[], const size_t stride2, const size_t n2);
+
+double gsl_stats_max (const double data[], const size_t stride, const size_t n);
+double gsl_stats_min (const double data[], const size_t stride, const size_t n);
+void gsl_stats_minmax (double * min, double * max, const double data[], const size_t stride, const size_t n);
+
+size_t gsl_stats_max_index (const double data[], const size_t stride, const size_t n);
+size_t gsl_stats_min_index (const double data[], const size_t stride, const size_t n);
+void gsl_stats_minmax_index (size_t * min_index, size_t * max_index, const double data[], const size_t stride, const size_t n);
+
+double gsl_stats_median_from_sorted_data (const double sorted_data[], const size_t stride, const size_t n) ;
+double gsl_stats_quantile_from_sorted_data (const double sorted_data[], const size_t stride, const size_t n, const double f) ;
+
+__END_DECLS
+
+#endif /* __GSL_STATISTICS_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics_float.h b/thirdparty/includes/GSL/gsl/gsl_statistics_float.h
new file mode 100644
index 0000000..fe7a62d
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics_float.h
@@ -0,0 +1,100 @@
+/* statistics/gsl_statistics_float.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, 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_STATISTICS_FLOAT_H__
+#define __GSL_STATISTICS_FLOAT_H__
+
+#include <stddef.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_stats_float_mean (const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_variance (const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_sd (const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_variance_with_fixed_mean (const float data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_float_sd_with_fixed_mean (const float data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_float_tss (const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_tss_m (const float data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_float_absdev (const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_skew (const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_kurtosis (const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_lag1_autocorrelation (const float data[], const size_t stride, const size_t n);
+
+double gsl_stats_float_covariance (const float data1[], const size_t stride1,const float data2[], const size_t stride2, const size_t n);
+double gsl_stats_float_correlation (const float data1[], const size_t stride1,const float data2[], const size_t stride2, const size_t n);
+double gsl_stats_float_spearman (const float data1[], const size_t stride1, const float data2[], const size_t stride2, const size_t n, double work[]);
+
+double gsl_stats_float_variance_m (const float data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_float_sd_m (const float data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_float_absdev_m (const float data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_float_skew_m_sd (const float data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_float_kurtosis_m_sd (const float data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_float_lag1_autocorrelation_m (const float data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_float_covariance_m (const float data1[], const size_t stride1,const float data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
+
+/* DEFINED FOR FLOATING POINT TYPES ONLY */
+
+double gsl_stats_float_wmean (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_wvariance (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_wsd (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_wvariance_with_fixed_mean (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_float_wsd_with_fixed_mean (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_float_wtss (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_wtss_m (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_float_wabsdev (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_wskew (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n);
+double gsl_stats_float_wkurtosis (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n);
+
+double gsl_stats_float_wvariance_m (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_float_wsd_m (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_float_wabsdev_m (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_float_wskew_m_sd (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n, const double wmean, const double wsd);
+double gsl_stats_float_wkurtosis_m_sd (const float w[], const size_t wstride, const float data[], const size_t stride, const size_t n, const double wmean, const double wsd);
+
+/* END OF FLOATING POINT TYPES */
+
+double gsl_stats_float_pvariance (const float data1[], const size_t stride1, const size_t n1, const float data2[], const size_t stride2, const size_t n2);
+double gsl_stats_float_ttest (const float data1[], const size_t stride1, const size_t n1, const float data2[], const size_t stride2, const size_t n2);
+
+float gsl_stats_float_max (const float data[], const size_t stride, const size_t n);
+float gsl_stats_float_min (const float data[], const size_t stride, const size_t n);
+void gsl_stats_float_minmax (float * min, float * max, const float data[], const size_t stride, const size_t n);
+
+size_t gsl_stats_float_max_index (const float data[], const size_t stride, const size_t n);
+size_t gsl_stats_float_min_index (const float data[], const size_t stride, const size_t n);
+void gsl_stats_float_minmax_index (size_t * min_index, size_t * max_index, const float data[], const size_t stride, const size_t n);
+
+double gsl_stats_float_median_from_sorted_data (const float sorted_data[], const size_t stride, const size_t n) ;
+double gsl_stats_float_quantile_from_sorted_data (const float sorted_data[], const size_t stride, const size_t n, const double f) ;
+
+__END_DECLS
+
+#endif /* __GSL_STATISTICS_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics_int.h b/thirdparty/includes/GSL/gsl/gsl_statistics_int.h
new file mode 100644
index 0000000..4c683e6
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics_int.h
@@ -0,0 +1,80 @@
+/* statistics/gsl_statistics_int.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, 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_STATISTICS_INT_H__
+#define __GSL_STATISTICS_INT_H__
+
+#include <stddef.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_stats_int_mean (const int data[], const size_t stride, const size_t n);
+double gsl_stats_int_variance (const int data[], const size_t stride, const size_t n);
+double gsl_stats_int_sd (const int data[], const size_t stride, const size_t n);
+double gsl_stats_int_variance_with_fixed_mean (const int data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_int_sd_with_fixed_mean (const int data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_int_tss (const int data[], const size_t stride, const size_t n);
+double gsl_stats_int_tss_m (const int data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_int_absdev (const int data[], const size_t stride, const size_t n);
+double gsl_stats_int_skew (const int data[], const size_t stride, const size_t n);
+double gsl_stats_int_kurtosis (const int data[], const size_t stride, const size_t n);
+double gsl_stats_int_lag1_autocorrelation (const int data[], const size_t stride, const size_t n);
+
+double gsl_stats_int_covariance (const int data1[], const size_t stride1,const int data2[], const size_t stride2, const size_t n);
+double gsl_stats_int_correlation (const int data1[], const size_t stride1,const int data2[], const size_t stride2, const size_t n);
+double gsl_stats_int_spearman (const int data1[], const size_t stride1, const int data2[], const size_t stride2, const size_t n, double work[]);
+
+double gsl_stats_int_variance_m (const int data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_int_sd_m (const int data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_int_absdev_m (const int data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_int_skew_m_sd (const int data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_int_kurtosis_m_sd (const int data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_int_lag1_autocorrelation_m (const int data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_int_covariance_m (const int data1[], const size_t stride1,const int data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
+
+
+double gsl_stats_int_pvariance (const int data1[], const size_t stride1, const size_t n1, const int data2[], const size_t stride2, const size_t n2);
+double gsl_stats_int_ttest (const int data1[], const size_t stride1, const size_t n1, const int data2[], const size_t stride2, const size_t n2);
+
+int gsl_stats_int_max (const int data[], const size_t stride, const size_t n);
+int gsl_stats_int_min (const int data[], const size_t stride, const size_t n);
+void gsl_stats_int_minmax (int * min, int * max, const int data[], const size_t stride, const size_t n);
+
+size_t gsl_stats_int_max_index (const int data[], const size_t stride, const size_t n);
+size_t gsl_stats_int_min_index (const int data[], const size_t stride, const size_t n);
+void gsl_stats_int_minmax_index (size_t * min_index, size_t * max_index, const int data[], const size_t stride, const size_t n);
+
+double gsl_stats_int_median_from_sorted_data (const int sorted_data[], const size_t stride, const size_t n) ;
+double gsl_stats_int_quantile_from_sorted_data (const int sorted_data[], const size_t stride, const size_t n, const double f) ;
+
+__END_DECLS
+
+#endif /* __GSL_STATISTICS_INT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics_long.h b/thirdparty/includes/GSL/gsl/gsl_statistics_long.h
new file mode 100644
index 0000000..95813e8
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics_long.h
@@ -0,0 +1,80 @@
+/* statistics/gsl_statistics_long.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, 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_STATISTICS_LONG_H__
+#define __GSL_STATISTICS_LONG_H__
+
+#include <stddef.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_stats_long_mean (const long data[], const size_t stride, const size_t n);
+double gsl_stats_long_variance (const long data[], const size_t stride, const size_t n);
+double gsl_stats_long_sd (const long data[], const size_t stride, const size_t n);
+double gsl_stats_long_variance_with_fixed_mean (const long data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_sd_with_fixed_mean (const long data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_tss (const long data[], const size_t stride, const size_t n);
+double gsl_stats_long_tss_m (const long data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_long_absdev (const long data[], const size_t stride, const size_t n);
+double gsl_stats_long_skew (const long data[], const size_t stride, const size_t n);
+double gsl_stats_long_kurtosis (const long data[], const size_t stride, const size_t n);
+double gsl_stats_long_lag1_autocorrelation (const long data[], const size_t stride, const size_t n);
+
+double gsl_stats_long_covariance (const long data1[], const size_t stride1,const long data2[], const size_t stride2, const size_t n);
+double gsl_stats_long_correlation (const long data1[], const size_t stride1,const long data2[], const size_t stride2, const size_t n);
+double gsl_stats_long_spearman (const long data1[], const size_t stride1, const long data2[], const size_t stride2, const size_t n, double work[]);
+
+double gsl_stats_long_variance_m (const long data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_sd_m (const long data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_absdev_m (const long data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_skew_m_sd (const long data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_long_kurtosis_m_sd (const long data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_long_lag1_autocorrelation_m (const long data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_long_covariance_m (const long data1[], const size_t stride1,const long data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
+
+
+double gsl_stats_long_pvariance (const long data1[], const size_t stride1, const size_t n1, const long data2[], const size_t stride2, const size_t n2);
+double gsl_stats_long_ttest (const long data1[], const size_t stride1, const size_t n1, const long data2[], const size_t stride2, const size_t n2);
+
+long gsl_stats_long_max (const long data[], const size_t stride, const size_t n);
+long gsl_stats_long_min (const long data[], const size_t stride, const size_t n);
+void gsl_stats_long_minmax (long * min, long * max, const long data[], const size_t stride, const size_t n);
+
+size_t gsl_stats_long_max_index (const long data[], const size_t stride, const size_t n);
+size_t gsl_stats_long_min_index (const long data[], const size_t stride, const size_t n);
+void gsl_stats_long_minmax_index (size_t * min_index, size_t * max_index, const long data[], const size_t stride, const size_t n);
+
+double gsl_stats_long_median_from_sorted_data (const long sorted_data[], const size_t stride, const size_t n) ;
+double gsl_stats_long_quantile_from_sorted_data (const long sorted_data[], const size_t stride, const size_t n, const double f) ;
+
+__END_DECLS
+
+#endif /* __GSL_STATISTICS_LONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics_long_double.h b/thirdparty/includes/GSL/gsl/gsl_statistics_long_double.h
new file mode 100644
index 0000000..e580d58
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics_long_double.h
@@ -0,0 +1,100 @@
+/* statistics/gsl_statistics_long_double.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, 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_STATISTICS_LONG_DOUBLE_H__
+#define __GSL_STATISTICS_LONG_DOUBLE_H__
+
+#include <stddef.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_stats_long_double_mean (const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_variance (const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_sd (const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_variance_with_fixed_mean (const long double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_double_sd_with_fixed_mean (const long double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_double_tss (const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_tss_m (const long double data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_long_double_absdev (const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_skew (const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_kurtosis (const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_lag1_autocorrelation (const long double data[], const size_t stride, const size_t n);
+
+double gsl_stats_long_double_covariance (const long double data1[], const size_t stride1,const long double data2[], const size_t stride2, const size_t n);
+double gsl_stats_long_double_correlation (const long double data1[], const size_t stride1,const long double data2[], const size_t stride2, const size_t n);
+double gsl_stats_long_double_spearman (const long double data1[], const size_t stride1, const long double data2[], const size_t stride2, const size_t n, double work[]);
+
+double gsl_stats_long_double_variance_m (const long double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_double_sd_m (const long double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_double_absdev_m (const long double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_double_skew_m_sd (const long double data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_long_double_kurtosis_m_sd (const long double data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_long_double_lag1_autocorrelation_m (const long double data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_long_double_covariance_m (const long double data1[], const size_t stride1,const long double data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
+
+/* DEFINED FOR FLOATING POINT TYPES ONLY */
+
+double gsl_stats_long_double_wmean (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_wvariance (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_wsd (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_wvariance_with_fixed_mean (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_double_wsd_with_fixed_mean (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_long_double_wtss (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_wtss_m (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_long_double_wabsdev (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_wskew (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n);
+double gsl_stats_long_double_wkurtosis (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n);
+
+double gsl_stats_long_double_wvariance_m (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_long_double_wsd_m (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_long_double_wabsdev_m (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n, const double wmean);
+double gsl_stats_long_double_wskew_m_sd (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n, const double wmean, const double wsd);
+double gsl_stats_long_double_wkurtosis_m_sd (const long double w[], const size_t wstride, const long double data[], const size_t stride, const size_t n, const double wmean, const double wsd);
+
+/* END OF FLOATING POINT TYPES */
+
+double gsl_stats_long_double_pvariance (const long double data1[], const size_t stride1, const size_t n1, const long double data2[], const size_t stride2, const size_t n2);
+double gsl_stats_long_double_ttest (const long double data1[], const size_t stride1, const size_t n1, const long double data2[], const size_t stride2, const size_t n2);
+
+long double gsl_stats_long_double_max (const long double data[], const size_t stride, const size_t n);
+long double gsl_stats_long_double_min (const long double data[], const size_t stride, const size_t n);
+void gsl_stats_long_double_minmax (long double * min, long double * max, const long double data[], const size_t stride, const size_t n);
+
+size_t gsl_stats_long_double_max_index (const long double data[], const size_t stride, const size_t n);
+size_t gsl_stats_long_double_min_index (const long double data[], const size_t stride, const size_t n);
+void gsl_stats_long_double_minmax_index (size_t * min_index, size_t * max_index, const long double data[], const size_t stride, const size_t n);
+
+double gsl_stats_long_double_median_from_sorted_data (const long double sorted_data[], const size_t stride, const size_t n) ;
+double gsl_stats_long_double_quantile_from_sorted_data (const long double sorted_data[], const size_t stride, const size_t n, const double f) ;
+
+__END_DECLS
+
+#endif /* __GSL_STATISTICS_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics_short.h b/thirdparty/includes/GSL/gsl/gsl_statistics_short.h
new file mode 100644
index 0000000..60b54b3
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics_short.h
@@ -0,0 +1,80 @@
+/* statistics/gsl_statistics_short.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, 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_STATISTICS_SHORT_H__
+#define __GSL_STATISTICS_SHORT_H__
+
+#include <stddef.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_stats_short_mean (const short data[], const size_t stride, const size_t n);
+double gsl_stats_short_variance (const short data[], const size_t stride, const size_t n);
+double gsl_stats_short_sd (const short data[], const size_t stride, const size_t n);
+double gsl_stats_short_variance_with_fixed_mean (const short data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_short_sd_with_fixed_mean (const short data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_short_tss (const short data[], const size_t stride, const size_t n);
+double gsl_stats_short_tss_m (const short data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_short_absdev (const short data[], const size_t stride, const size_t n);
+double gsl_stats_short_skew (const short data[], const size_t stride, const size_t n);
+double gsl_stats_short_kurtosis (const short data[], const size_t stride, const size_t n);
+double gsl_stats_short_lag1_autocorrelation (const short data[], const size_t stride, const size_t n);
+
+double gsl_stats_short_covariance (const short data1[], const size_t stride1,const short data2[], const size_t stride2, const size_t n);
+double gsl_stats_short_correlation (const short data1[], const size_t stride1,const short data2[], const size_t stride2, const size_t n);
+double gsl_stats_short_spearman (const short data1[], const size_t stride1, const short data2[], const size_t stride2, const size_t n, double work[]);
+
+double gsl_stats_short_variance_m (const short data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_short_sd_m (const short data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_short_absdev_m (const short data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_short_skew_m_sd (const short data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_short_kurtosis_m_sd (const short data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_short_lag1_autocorrelation_m (const short data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_short_covariance_m (const short data1[], const size_t stride1,const short data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
+
+
+double gsl_stats_short_pvariance (const short data1[], const size_t stride1, const size_t n1, const short data2[], const size_t stride2, const size_t n2);
+double gsl_stats_short_ttest (const short data1[], const size_t stride1, const size_t n1, const short data2[], const size_t stride2, const size_t n2);
+
+short gsl_stats_short_max (const short data[], const size_t stride, const size_t n);
+short gsl_stats_short_min (const short data[], const size_t stride, const size_t n);
+void gsl_stats_short_minmax (short * min, short * max, const short data[], const size_t stride, const size_t n);
+
+size_t gsl_stats_short_max_index (const short data[], const size_t stride, const size_t n);
+size_t gsl_stats_short_min_index (const short data[], const size_t stride, const size_t n);
+void gsl_stats_short_minmax_index (size_t * min_index, size_t * max_index, const short data[], const size_t stride, const size_t n);
+
+double gsl_stats_short_median_from_sorted_data (const short sorted_data[], const size_t stride, const size_t n) ;
+double gsl_stats_short_quantile_from_sorted_data (const short sorted_data[], const size_t stride, const size_t n, const double f) ;
+
+__END_DECLS
+
+#endif /* __GSL_STATISTICS_SHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics_uchar.h b/thirdparty/includes/GSL/gsl/gsl_statistics_uchar.h
new file mode 100644
index 0000000..d20d836
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics_uchar.h
@@ -0,0 +1,80 @@
+/* statistics/gsl_statistics_uchar.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, 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_STATISTICS_UCHAR_H__
+#define __GSL_STATISTICS_UCHAR_H__
+
+#include <stddef.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_stats_uchar_mean (const unsigned char data[], const size_t stride, const size_t n);
+double gsl_stats_uchar_variance (const unsigned char data[], const size_t stride, const size_t n);
+double gsl_stats_uchar_sd (const unsigned char data[], const size_t stride, const size_t n);
+double gsl_stats_uchar_variance_with_fixed_mean (const unsigned char data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_uchar_sd_with_fixed_mean (const unsigned char data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_uchar_tss (const unsigned char data[], const size_t stride, const size_t n);
+double gsl_stats_uchar_tss_m (const unsigned char data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_uchar_absdev (const unsigned char data[], const size_t stride, const size_t n);
+double gsl_stats_uchar_skew (const unsigned char data[], const size_t stride, const size_t n);
+double gsl_stats_uchar_kurtosis (const unsigned char data[], const size_t stride, const size_t n);
+double gsl_stats_uchar_lag1_autocorrelation (const unsigned char data[], const size_t stride, const size_t n);
+
+double gsl_stats_uchar_covariance (const unsigned char data1[], const size_t stride1,const unsigned char data2[], const size_t stride2, const size_t n);
+double gsl_stats_uchar_correlation (const unsigned char data1[], const size_t stride1,const unsigned char data2[], const size_t stride2, const size_t n);
+double gsl_stats_uchar_spearman (const unsigned char data1[], const size_t stride1, const unsigned char data2[], const size_t stride2, const size_t n, double work[]);
+
+double gsl_stats_uchar_variance_m (const unsigned char data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_uchar_sd_m (const unsigned char data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_uchar_absdev_m (const unsigned char data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_uchar_skew_m_sd (const unsigned char data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_uchar_kurtosis_m_sd (const unsigned char data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_uchar_lag1_autocorrelation_m (const unsigned char data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_uchar_covariance_m (const unsigned char data1[], const size_t stride1,const unsigned char data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
+
+
+double gsl_stats_uchar_pvariance (const unsigned char data1[], const size_t stride1, const size_t n1, const unsigned char data2[], const size_t stride2, const size_t n2);
+double gsl_stats_uchar_ttest (const unsigned char data1[], const size_t stride1, const size_t n1, const unsigned char data2[], const size_t stride2, const size_t n2);
+
+unsigned char gsl_stats_uchar_max (const unsigned char data[], const size_t stride, const size_t n);
+unsigned char gsl_stats_uchar_min (const unsigned char data[], const size_t stride, const size_t n);
+void gsl_stats_uchar_minmax (unsigned char * min, unsigned char * max, const unsigned char data[], const size_t stride, const size_t n);
+
+size_t gsl_stats_uchar_max_index (const unsigned char data[], const size_t stride, const size_t n);
+size_t gsl_stats_uchar_min_index (const unsigned char data[], const size_t stride, const size_t n);
+void gsl_stats_uchar_minmax_index (size_t * min_index, size_t * max_index, const unsigned char data[], const size_t stride, const size_t n);
+
+double gsl_stats_uchar_median_from_sorted_data (const unsigned char sorted_data[], const size_t stride, const size_t n) ;
+double gsl_stats_uchar_quantile_from_sorted_data (const unsigned char sorted_data[], const size_t stride, const size_t n, const double f) ;
+
+__END_DECLS
+
+#endif /* __GSL_STATISTICS_UCHAR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics_uint.h b/thirdparty/includes/GSL/gsl/gsl_statistics_uint.h
new file mode 100644
index 0000000..02001e9
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics_uint.h
@@ -0,0 +1,80 @@
+/* statistics/gsl_statistics_uint.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, 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_STATISTICS_UINT_H__
+#define __GSL_STATISTICS_UINT_H__
+
+#include <stddef.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_stats_uint_mean (const unsigned int data[], const size_t stride, const size_t n);
+double gsl_stats_uint_variance (const unsigned int data[], const size_t stride, const size_t n);
+double gsl_stats_uint_sd (const unsigned int data[], const size_t stride, const size_t n);
+double gsl_stats_uint_variance_with_fixed_mean (const unsigned int data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_uint_sd_with_fixed_mean (const unsigned int data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_uint_tss (const unsigned int data[], const size_t stride, const size_t n);
+double gsl_stats_uint_tss_m (const unsigned int data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_uint_absdev (const unsigned int data[], const size_t stride, const size_t n);
+double gsl_stats_uint_skew (const unsigned int data[], const size_t stride, const size_t n);
+double gsl_stats_uint_kurtosis (const unsigned int data[], const size_t stride, const size_t n);
+double gsl_stats_uint_lag1_autocorrelation (const unsigned int data[], const size_t stride, const size_t n);
+
+double gsl_stats_uint_covariance (const unsigned int data1[], const size_t stride1,const unsigned int data2[], const size_t stride2, const size_t n);
+double gsl_stats_uint_correlation (const unsigned int data1[], const size_t stride1,const unsigned int data2[], const size_t stride2, const size_t n);
+double gsl_stats_uint_spearman (const unsigned int data1[], const size_t stride1, const unsigned int data2[], const size_t stride2, const size_t n, double work[]);
+
+double gsl_stats_uint_variance_m (const unsigned int data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_uint_sd_m (const unsigned int data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_uint_absdev_m (const unsigned int data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_uint_skew_m_sd (const unsigned int data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_uint_kurtosis_m_sd (const unsigned int data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_uint_lag1_autocorrelation_m (const unsigned int data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_uint_covariance_m (const unsigned int data1[], const size_t stride1,const unsigned int data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
+
+
+double gsl_stats_uint_pvariance (const unsigned int data1[], const size_t stride1, const size_t n1, const unsigned int data2[], const size_t stride2, const size_t n2);
+double gsl_stats_uint_ttest (const unsigned int data1[], const size_t stride1, const size_t n1, const unsigned int data2[], const size_t stride2, const size_t n2);
+
+unsigned int gsl_stats_uint_max (const unsigned int data[], const size_t stride, const size_t n);
+unsigned int gsl_stats_uint_min (const unsigned int data[], const size_t stride, const size_t n);
+void gsl_stats_uint_minmax (unsigned int * min, unsigned int * max, const unsigned int data[], const size_t stride, const size_t n);
+
+size_t gsl_stats_uint_max_index (const unsigned int data[], const size_t stride, const size_t n);
+size_t gsl_stats_uint_min_index (const unsigned int data[], const size_t stride, const size_t n);
+void gsl_stats_uint_minmax_index (size_t * min_index, size_t * max_index, const unsigned int data[], const size_t stride, const size_t n);
+
+double gsl_stats_uint_median_from_sorted_data (const unsigned int sorted_data[], const size_t stride, const size_t n) ;
+double gsl_stats_uint_quantile_from_sorted_data (const unsigned int sorted_data[], const size_t stride, const size_t n, const double f) ;
+
+__END_DECLS
+
+#endif /* __GSL_STATISTICS_UINT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics_ulong.h b/thirdparty/includes/GSL/gsl/gsl_statistics_ulong.h
new file mode 100644
index 0000000..e6c970d
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics_ulong.h
@@ -0,0 +1,80 @@
+/* statistics/gsl_statistics_ulong.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, 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_STATISTICS_ULONG_H__
+#define __GSL_STATISTICS_ULONG_H__
+
+#include <stddef.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_stats_ulong_mean (const unsigned long data[], const size_t stride, const size_t n);
+double gsl_stats_ulong_variance (const unsigned long data[], const size_t stride, const size_t n);
+double gsl_stats_ulong_sd (const unsigned long data[], const size_t stride, const size_t n);
+double gsl_stats_ulong_variance_with_fixed_mean (const unsigned long data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_ulong_sd_with_fixed_mean (const unsigned long data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_ulong_tss (const unsigned long data[], const size_t stride, const size_t n);
+double gsl_stats_ulong_tss_m (const unsigned long data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_ulong_absdev (const unsigned long data[], const size_t stride, const size_t n);
+double gsl_stats_ulong_skew (const unsigned long data[], const size_t stride, const size_t n);
+double gsl_stats_ulong_kurtosis (const unsigned long data[], const size_t stride, const size_t n);
+double gsl_stats_ulong_lag1_autocorrelation (const unsigned long data[], const size_t stride, const size_t n);
+
+double gsl_stats_ulong_covariance (const unsigned long data1[], const size_t stride1,const unsigned long data2[], const size_t stride2, const size_t n);
+double gsl_stats_ulong_correlation (const unsigned long data1[], const size_t stride1,const unsigned long data2[], const size_t stride2, const size_t n);
+double gsl_stats_ulong_spearman (const unsigned long data1[], const size_t stride1, const unsigned long data2[], const size_t stride2, const size_t n, double work[]);
+
+double gsl_stats_ulong_variance_m (const unsigned long data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_ulong_sd_m (const unsigned long data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_ulong_absdev_m (const unsigned long data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_ulong_skew_m_sd (const unsigned long data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_ulong_kurtosis_m_sd (const unsigned long data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_ulong_lag1_autocorrelation_m (const unsigned long data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_ulong_covariance_m (const unsigned long data1[], const size_t stride1,const unsigned long data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
+
+
+double gsl_stats_ulong_pvariance (const unsigned long data1[], const size_t stride1, const size_t n1, const unsigned long data2[], const size_t stride2, const size_t n2);
+double gsl_stats_ulong_ttest (const unsigned long data1[], const size_t stride1, const size_t n1, const unsigned long data2[], const size_t stride2, const size_t n2);
+
+unsigned long gsl_stats_ulong_max (const unsigned long data[], const size_t stride, const size_t n);
+unsigned long gsl_stats_ulong_min (const unsigned long data[], const size_t stride, const size_t n);
+void gsl_stats_ulong_minmax (unsigned long * min, unsigned long * max, const unsigned long data[], const size_t stride, const size_t n);
+
+size_t gsl_stats_ulong_max_index (const unsigned long data[], const size_t stride, const size_t n);
+size_t gsl_stats_ulong_min_index (const unsigned long data[], const size_t stride, const size_t n);
+void gsl_stats_ulong_minmax_index (size_t * min_index, size_t * max_index, const unsigned long data[], const size_t stride, const size_t n);
+
+double gsl_stats_ulong_median_from_sorted_data (const unsigned long sorted_data[], const size_t stride, const size_t n) ;
+double gsl_stats_ulong_quantile_from_sorted_data (const unsigned long sorted_data[], const size_t stride, const size_t n, const double f) ;
+
+__END_DECLS
+
+#endif /* __GSL_STATISTICS_ULONG_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_statistics_ushort.h b/thirdparty/includes/GSL/gsl/gsl_statistics_ushort.h
new file mode 100644
index 0000000..73cd6de
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_statistics_ushort.h
@@ -0,0 +1,80 @@
+/* statistics/gsl_statistics_ushort.h
+ *
+ * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Jim Davies, 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_STATISTICS_USHORT_H__
+#define __GSL_STATISTICS_USHORT_H__
+
+#include <stddef.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_stats_ushort_mean (const unsigned short data[], const size_t stride, const size_t n);
+double gsl_stats_ushort_variance (const unsigned short data[], const size_t stride, const size_t n);
+double gsl_stats_ushort_sd (const unsigned short data[], const size_t stride, const size_t n);
+double gsl_stats_ushort_variance_with_fixed_mean (const unsigned short data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_ushort_sd_with_fixed_mean (const unsigned short data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_ushort_tss (const unsigned short data[], const size_t stride, const size_t n);
+double gsl_stats_ushort_tss_m (const unsigned short data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_ushort_absdev (const unsigned short data[], const size_t stride, const size_t n);
+double gsl_stats_ushort_skew (const unsigned short data[], const size_t stride, const size_t n);
+double gsl_stats_ushort_kurtosis (const unsigned short data[], const size_t stride, const size_t n);
+double gsl_stats_ushort_lag1_autocorrelation (const unsigned short data[], const size_t stride, const size_t n);
+
+double gsl_stats_ushort_covariance (const unsigned short data1[], const size_t stride1,const unsigned short data2[], const size_t stride2, const size_t n);
+double gsl_stats_ushort_correlation (const unsigned short data1[], const size_t stride1,const unsigned short data2[], const size_t stride2, const size_t n);
+double gsl_stats_ushort_spearman (const unsigned short data1[], const size_t stride1, const unsigned short data2[], const size_t stride2, const size_t n, double work[]);
+
+double gsl_stats_ushort_variance_m (const unsigned short data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_ushort_sd_m (const unsigned short data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_ushort_absdev_m (const unsigned short data[], const size_t stride, const size_t n, const double mean);
+double gsl_stats_ushort_skew_m_sd (const unsigned short data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_ushort_kurtosis_m_sd (const unsigned short data[], const size_t stride, const size_t n, const double mean, const double sd);
+double gsl_stats_ushort_lag1_autocorrelation_m (const unsigned short data[], const size_t stride, const size_t n, const double mean);
+
+double gsl_stats_ushort_covariance_m (const unsigned short data1[], const size_t stride1,const unsigned short data2[], const size_t stride2, const size_t n, const double mean1, const double mean2);
+
+
+double gsl_stats_ushort_pvariance (const unsigned short data1[], const size_t stride1, const size_t n1, const unsigned short data2[], const size_t stride2, const size_t n2);
+double gsl_stats_ushort_ttest (const unsigned short data1[], const size_t stride1, const size_t n1, const unsigned short data2[], const size_t stride2, const size_t n2);
+
+unsigned short gsl_stats_ushort_max (const unsigned short data[], const size_t stride, const size_t n);
+unsigned short gsl_stats_ushort_min (const unsigned short data[], const size_t stride, const size_t n);
+void gsl_stats_ushort_minmax (unsigned short * min, unsigned short * max, const unsigned short data[], const size_t stride, const size_t n);
+
+size_t gsl_stats_ushort_max_index (const unsigned short data[], const size_t stride, const size_t n);
+size_t gsl_stats_ushort_min_index (const unsigned short data[], const size_t stride, const size_t n);
+void gsl_stats_ushort_minmax_index (size_t * min_index, size_t * max_index, const unsigned short data[], const size_t stride, const size_t n);
+
+double gsl_stats_ushort_median_from_sorted_data (const unsigned short sorted_data[], const size_t stride, const size_t n) ;
+double gsl_stats_ushort_quantile_from_sorted_data (const unsigned short sorted_data[], const size_t stride, const size_t n, const double f) ;
+
+__END_DECLS
+
+#endif /* __GSL_STATISTICS_USHORT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sum.h b/thirdparty/includes/GSL/gsl/gsl_sum.h
new file mode 100644
index 0000000..d9c4da8
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sum.h
@@ -0,0 +1,162 @@
+/* sum/gsl_sum.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.
+ */
+
+/* Author: G. Jungman */
+
+
+#ifndef __GSL_SUM_H__
+#define __GSL_SUM_H__
+
+#include <stdlib.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
+
+/* Workspace for Levin U Transform with error estimation,
+ *
+ * size = number of terms the workspace can handle
+ * sum_plain = simple sum of series
+ * q_num = backward diagonal of numerator; length = size
+ * q_den = backward diagonal of denominator; length = size
+ * dq_num = table of numerator derivatives; length = size**2
+ * dq_den = table of denominator derivatives; length = size**2
+ * dsum = derivative of sum wrt term i; length = size
+ */
+
+typedef struct
+{
+ size_t size;
+ size_t i; /* position in array */
+ size_t terms_used; /* number of calls */
+ double sum_plain;
+ double *q_num;
+ double *q_den;
+ double *dq_num;
+ double *dq_den;
+ double *dsum;
+}
+gsl_sum_levin_u_workspace;
+
+gsl_sum_levin_u_workspace *gsl_sum_levin_u_alloc (size_t n);
+void gsl_sum_levin_u_free (gsl_sum_levin_u_workspace * w);
+
+/* Basic Levin-u acceleration method.
+ *
+ * array = array of series elements
+ * n = size of array
+ * sum_accel = result of summation acceleration
+ * err = estimated error
+ *
+ * See [Fessler et al., ACM TOMS 9, 346 (1983) and TOMS-602]
+ */
+
+int gsl_sum_levin_u_accel (const double *array,
+ const size_t n,
+ gsl_sum_levin_u_workspace * w,
+ double *sum_accel, double *abserr);
+
+/* Basic Levin-u acceleration method with constraints on the terms
+ * used,
+ *
+ * array = array of series elements
+ * n = size of array
+ * min_terms = minimum number of terms to sum
+ * max_terms = maximum number of terms to sum
+ * sum_accel = result of summation acceleration
+ * err = estimated error
+ *
+ * See [Fessler et al., ACM TOMS 9, 346 (1983) and TOMS-602]
+ */
+
+int gsl_sum_levin_u_minmax (const double *array,
+ const size_t n,
+ const size_t min_terms,
+ const size_t max_terms,
+ gsl_sum_levin_u_workspace * w,
+ double *sum_accel, double *abserr);
+
+/* Basic Levin-u step w/o reference to the array of terms.
+ * We only need to specify the value of the current term
+ * to execute the step. See TOMS-745.
+ *
+ * sum = t0 + ... + t_{n-1} + term; term = t_{n}
+ *
+ * term = value of the series term to be added
+ * n = position of term in series (starting from 0)
+ * sum_accel = result of summation acceleration
+ * sum_plain = simple sum of series
+ */
+
+int
+gsl_sum_levin_u_step (const double term,
+ const size_t n,
+ const size_t nmax,
+ gsl_sum_levin_u_workspace * w,
+ double *sum_accel);
+
+/* The following functions perform the same calculation without
+ estimating the errors. They require O(N) storage instead of O(N^2).
+ This may be useful for summing many similar series where the size
+ of the error has already been estimated reliably and is not
+ expected to change. */
+
+typedef struct
+{
+ size_t size;
+ size_t i; /* position in array */
+ size_t terms_used; /* number of calls */
+ double sum_plain;
+ double *q_num;
+ double *q_den;
+ double *dsum;
+}
+gsl_sum_levin_utrunc_workspace;
+
+gsl_sum_levin_utrunc_workspace *gsl_sum_levin_utrunc_alloc (size_t n);
+void gsl_sum_levin_utrunc_free (gsl_sum_levin_utrunc_workspace * w);
+
+int gsl_sum_levin_utrunc_accel (const double *array,
+ const size_t n,
+ gsl_sum_levin_utrunc_workspace * w,
+ double *sum_accel, double *abserr_trunc);
+
+int gsl_sum_levin_utrunc_minmax (const double *array,
+ const size_t n,
+ const size_t min_terms,
+ const size_t max_terms,
+ gsl_sum_levin_utrunc_workspace * w,
+ double *sum_accel, double *abserr_trunc);
+
+int gsl_sum_levin_utrunc_step (const double term,
+ const size_t n,
+ gsl_sum_levin_utrunc_workspace * w,
+ double *sum_accel);
+
+__END_DECLS
+
+#endif /* __GSL_SUM_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_sys.h b/thirdparty/includes/GSL/gsl/gsl_sys.h
new file mode 100644
index 0000000..25e1348
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_sys.h
@@ -0,0 +1,63 @@
+/* sys/gsl_sys.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_SYS_H__
+#define __GSL_SYS_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_log1p (const double x);
+double gsl_expm1 (const double x);
+double gsl_hypot (const double x, const double y);
+double gsl_hypot3 (const double x, const double y, const double z);
+double gsl_acosh (const double x);
+double gsl_asinh (const double x);
+double gsl_atanh (const double x);
+
+int gsl_isnan (const double x);
+int gsl_isinf (const double x);
+int gsl_finite (const double x);
+
+double gsl_nan (void);
+double gsl_posinf (void);
+double gsl_neginf (void);
+double gsl_fdiv (const double x, const double y);
+
+double gsl_coerce_double (const double x);
+float gsl_coerce_float (const float x);
+long double gsl_coerce_long_double (const long double x);
+
+double gsl_ldexp(const double x, const int e);
+double gsl_frexp(const double x, int * e);
+
+int gsl_fcmp (const double x1, const double x2, const double epsilon);
+
+__END_DECLS
+
+#endif /* __GSL_SYS_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_test.h b/thirdparty/includes/GSL/gsl/gsl_test.h
new file mode 100644
index 0000000..bb86896
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_test.h
@@ -0,0 +1,66 @@
+/* err/gsl_test.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_TEST_H__
+#define __GSL_TEST_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
+
+void
+ gsl_test (int status, const char *test_description, ...);
+
+void
+gsl_test_rel (double result, double expected, double relative_error,
+ const char *test_description, ...) ;
+
+void
+gsl_test_abs (double result, double expected, double absolute_error,
+ const char *test_description, ...) ;
+
+void
+gsl_test_factor (double result, double expected, double factor,
+ const char *test_description, ...) ;
+
+void
+gsl_test_int (int result, int expected, const char *test_description, ...) ;
+
+void
+gsl_test_str (const char * result, const char * expected,
+ const char *test_description, ...) ;
+
+void
+ gsl_test_verbose (int verbose) ;
+
+int
+ gsl_test_summary (void) ;
+
+
+__END_DECLS
+
+#endif /* __GSL_TEST_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_types.h b/thirdparty/includes/GSL/gsl/gsl_types.h
new file mode 100644
index 0000000..0330f55
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_types.h
@@ -0,0 +1,41 @@
+/* gsl_types.h
+ *
+ * Copyright (C) 2001, 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_TYPES_H__
+#define __GSL_TYPES_H__
+
+#ifndef GSL_VAR
+
+#ifdef WIN32
+# ifdef GSL_DLL
+# ifdef DLL_EXPORT
+# define GSL_VAR extern __declspec(dllexport)
+# else
+# define GSL_VAR extern __declspec(dllimport)
+# endif
+# else
+# define GSL_VAR extern
+# endif
+#else
+# define GSL_VAR extern
+#endif
+
+#endif
+
+#endif /* __GSL_TYPES_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector.h b/thirdparty/includes/GSL/gsl/gsl_vector.h
new file mode 100644
index 0000000..cf762e4
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector.h
@@ -0,0 +1,25 @@
+#ifndef __GSL_VECTOR_H__
+#define __GSL_VECTOR_H__
+
+#include <gsl/gsl_vector_complex_long_double.h>
+#include <gsl/gsl_vector_complex_double.h>
+#include <gsl/gsl_vector_complex_float.h>
+
+#include <gsl/gsl_vector_long_double.h>
+#include <gsl/gsl_vector_double.h>
+#include <gsl/gsl_vector_float.h>
+
+#include <gsl/gsl_vector_ulong.h>
+#include <gsl/gsl_vector_long.h>
+
+#include <gsl/gsl_vector_uint.h>
+#include <gsl/gsl_vector_int.h>
+
+#include <gsl/gsl_vector_ushort.h>
+#include <gsl/gsl_vector_short.h>
+
+#include <gsl/gsl_vector_uchar.h>
+#include <gsl/gsl_vector_char.h>
+
+
+#endif /* __GSL_VECTOR_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_char.h b/thirdparty/includes/GSL/gsl/gsl_vector_char.h
new file mode 100644
index 0000000..ab1107d
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_char.h
@@ -0,0 +1,230 @@
+/* vector/gsl_vector_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_VECTOR_CHAR_H__
+#define __GSL_VECTOR_CHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_block_char.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ char *data;
+ gsl_block_char *block;
+ int owner;
+}
+gsl_vector_char;
+
+typedef struct
+{
+ gsl_vector_char vector;
+} _gsl_vector_char_view;
+
+typedef _gsl_vector_char_view gsl_vector_char_view;
+
+typedef struct
+{
+ gsl_vector_char vector;
+} _gsl_vector_char_const_view;
+
+typedef const _gsl_vector_char_const_view gsl_vector_char_const_view;
+
+
+/* Allocation */
+
+gsl_vector_char *gsl_vector_char_alloc (const size_t n);
+gsl_vector_char *gsl_vector_char_calloc (const size_t n);
+
+gsl_vector_char *gsl_vector_char_alloc_from_block (gsl_block_char * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_char *gsl_vector_char_alloc_from_vector (gsl_vector_char * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_char_free (gsl_vector_char * v);
+
+/* Views */
+
+_gsl_vector_char_view
+gsl_vector_char_view_array (char *v, size_t n);
+
+_gsl_vector_char_view
+gsl_vector_char_view_array_with_stride (char *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_char_const_view
+gsl_vector_char_const_view_array (const char *v, size_t n);
+
+_gsl_vector_char_const_view
+gsl_vector_char_const_view_array_with_stride (const char *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_char_view
+gsl_vector_char_subvector (gsl_vector_char *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_char_view
+gsl_vector_char_subvector_with_stride (gsl_vector_char *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_char_const_view
+gsl_vector_char_const_subvector (const gsl_vector_char *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_char_const_view
+gsl_vector_char_const_subvector_with_stride (const gsl_vector_char *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+/* Operations */
+
+void gsl_vector_char_set_zero (gsl_vector_char * v);
+void gsl_vector_char_set_all (gsl_vector_char * v, char x);
+int gsl_vector_char_set_basis (gsl_vector_char * v, size_t i);
+
+int gsl_vector_char_fread (FILE * stream, gsl_vector_char * v);
+int gsl_vector_char_fwrite (FILE * stream, const gsl_vector_char * v);
+int gsl_vector_char_fscanf (FILE * stream, gsl_vector_char * v);
+int gsl_vector_char_fprintf (FILE * stream, const gsl_vector_char * v,
+ const char *format);
+
+int gsl_vector_char_memcpy (gsl_vector_char * dest, const gsl_vector_char * src);
+
+int gsl_vector_char_reverse (gsl_vector_char * v);
+
+int gsl_vector_char_swap (gsl_vector_char * v, gsl_vector_char * w);
+int gsl_vector_char_swap_elements (gsl_vector_char * v, const size_t i, const size_t j);
+
+char gsl_vector_char_max (const gsl_vector_char * v);
+char gsl_vector_char_min (const gsl_vector_char * v);
+void gsl_vector_char_minmax (const gsl_vector_char * v, char * min_out, char * max_out);
+
+size_t gsl_vector_char_max_index (const gsl_vector_char * v);
+size_t gsl_vector_char_min_index (const gsl_vector_char * v);
+void gsl_vector_char_minmax_index (const gsl_vector_char * v, size_t * imin, size_t * imax);
+
+int gsl_vector_char_add (gsl_vector_char * a, const gsl_vector_char * b);
+int gsl_vector_char_sub (gsl_vector_char * a, const gsl_vector_char * b);
+int gsl_vector_char_mul (gsl_vector_char * a, const gsl_vector_char * b);
+int gsl_vector_char_div (gsl_vector_char * a, const gsl_vector_char * b);
+int gsl_vector_char_scale (gsl_vector_char * a, const double x);
+int gsl_vector_char_add_constant (gsl_vector_char * a, const double x);
+
+int gsl_vector_char_equal (const gsl_vector_char * u,
+ const gsl_vector_char * v);
+
+int gsl_vector_char_isnull (const gsl_vector_char * v);
+int gsl_vector_char_ispos (const gsl_vector_char * v);
+int gsl_vector_char_isneg (const gsl_vector_char * v);
+int gsl_vector_char_isnonneg (const gsl_vector_char * v);
+
+INLINE_DECL char gsl_vector_char_get (const gsl_vector_char * v, const size_t i);
+INLINE_DECL void gsl_vector_char_set (gsl_vector_char * v, const size_t i, char x);
+INLINE_DECL char * gsl_vector_char_ptr (gsl_vector_char * v, const size_t i);
+INLINE_DECL const char * gsl_vector_char_const_ptr (const gsl_vector_char * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+char
+gsl_vector_char_get (const gsl_vector_char * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return v->data[i * v->stride];
+}
+
+INLINE_FUN
+void
+gsl_vector_char_set (gsl_vector_char * v, const size_t i, char x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ v->data[i * v->stride] = x;
+}
+
+INLINE_FUN
+char *
+gsl_vector_char_ptr (gsl_vector_char * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (char *) (v->data + i * v->stride);
+}
+
+INLINE_FUN
+const char *
+gsl_vector_char_const_ptr (const gsl_vector_char * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (const char *) (v->data + i * v->stride);
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_CHAR_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_complex.h b/thirdparty/includes/GSL/gsl/gsl_vector_complex.h
new file mode 100644
index 0000000..e56d6a6
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_complex.h
@@ -0,0 +1,17 @@
+#ifndef __GSL_VECTOR_COMPLEX_H__
+#define __GSL_VECTOR_COMPLEX_H__
+
+#define GSL_VECTOR_REAL(z, i) ((z)->data[2*(i)*(z)->stride])
+#define GSL_VECTOR_IMAG(z, i) ((z)->data[2*(i)*(z)->stride + 1])
+
+#if GSL_RANGE_CHECK
+#define GSL_VECTOR_COMPLEX(zv, i) (((i) >= (zv)->size ? (gsl_error ("index out of range", __FILE__, __LINE__, GSL_EINVAL), 0):0 , *GSL_COMPLEX_AT((zv),(i))))
+#else
+#define GSL_VECTOR_COMPLEX(zv, i) (*GSL_COMPLEX_AT((zv),(i)))
+#endif
+
+#define GSL_COMPLEX_AT(zv,i) ((gsl_complex*)&((zv)->data[2*(i)*(zv)->stride]))
+#define GSL_COMPLEX_FLOAT_AT(zv,i) ((gsl_complex_float*)&((zv)->data[2*(i)*(zv)->stride]))
+#define GSL_COMPLEX_LONG_DOUBLE_AT(zv,i) ((gsl_complex_long_double*)&((zv)->data[2*(i)*(zv)->stride]))
+
+#endif /* __GSL_VECTOR_COMPLEX_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_complex_double.h b/thirdparty/includes/GSL/gsl/gsl_vector_complex_double.h
new file mode 100644
index 0000000..2e53617
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_complex_double.h
@@ -0,0 +1,251 @@
+/* vector/gsl_vector_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_VECTOR_COMPLEX_DOUBLE_H__
+#define __GSL_VECTOR_COMPLEX_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_double.h>
+#include <gsl/gsl_vector_complex.h>
+#include <gsl/gsl_block_complex_double.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ double *data;
+ gsl_block_complex *block;
+ int owner;
+} gsl_vector_complex;
+
+typedef struct
+{
+ gsl_vector_complex vector;
+} _gsl_vector_complex_view;
+
+typedef _gsl_vector_complex_view gsl_vector_complex_view;
+
+typedef struct
+{
+ gsl_vector_complex vector;
+} _gsl_vector_complex_const_view;
+
+typedef const _gsl_vector_complex_const_view gsl_vector_complex_const_view;
+
+/* Allocation */
+
+gsl_vector_complex *gsl_vector_complex_alloc (const size_t n);
+gsl_vector_complex *gsl_vector_complex_calloc (const size_t n);
+
+gsl_vector_complex *
+gsl_vector_complex_alloc_from_block (gsl_block_complex * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_complex *
+gsl_vector_complex_alloc_from_vector (gsl_vector_complex * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_complex_free (gsl_vector_complex * v);
+
+/* Views */
+
+_gsl_vector_complex_view
+gsl_vector_complex_view_array (double *base,
+ size_t n);
+
+_gsl_vector_complex_view
+gsl_vector_complex_view_array_with_stride (double *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_complex_const_view
+gsl_vector_complex_const_view_array (const double *base,
+ size_t n);
+
+_gsl_vector_complex_const_view
+gsl_vector_complex_const_view_array_with_stride (const double *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_complex_view
+gsl_vector_complex_subvector (gsl_vector_complex *base,
+ size_t i,
+ size_t n);
+
+
+_gsl_vector_complex_view
+gsl_vector_complex_subvector_with_stride (gsl_vector_complex *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_complex_const_view
+gsl_vector_complex_const_subvector (const gsl_vector_complex *base,
+ size_t i,
+ size_t n);
+
+
+_gsl_vector_complex_const_view
+gsl_vector_complex_const_subvector_with_stride (const gsl_vector_complex *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_view
+gsl_vector_complex_real (gsl_vector_complex *v);
+
+_gsl_vector_view
+gsl_vector_complex_imag (gsl_vector_complex *v);
+
+_gsl_vector_const_view
+gsl_vector_complex_const_real (const gsl_vector_complex *v);
+
+_gsl_vector_const_view
+gsl_vector_complex_const_imag (const gsl_vector_complex *v);
+
+
+/* Operations */
+
+void gsl_vector_complex_set_zero (gsl_vector_complex * v);
+void gsl_vector_complex_set_all (gsl_vector_complex * v,
+ gsl_complex z);
+int gsl_vector_complex_set_basis (gsl_vector_complex * v, size_t i);
+
+int gsl_vector_complex_fread (FILE * stream,
+ gsl_vector_complex * v);
+int gsl_vector_complex_fwrite (FILE * stream,
+ const gsl_vector_complex * v);
+int gsl_vector_complex_fscanf (FILE * stream,
+ gsl_vector_complex * v);
+int gsl_vector_complex_fprintf (FILE * stream,
+ const gsl_vector_complex * v,
+ const char *format);
+
+int gsl_vector_complex_memcpy (gsl_vector_complex * dest, const gsl_vector_complex * src);
+
+int gsl_vector_complex_reverse (gsl_vector_complex * v);
+
+int gsl_vector_complex_swap (gsl_vector_complex * v, gsl_vector_complex * w);
+int gsl_vector_complex_swap_elements (gsl_vector_complex * v, const size_t i, const size_t j);
+
+int gsl_vector_complex_equal (const gsl_vector_complex * u,
+ const gsl_vector_complex * v);
+
+int gsl_vector_complex_isnull (const gsl_vector_complex * v);
+int gsl_vector_complex_ispos (const gsl_vector_complex * v);
+int gsl_vector_complex_isneg (const gsl_vector_complex * v);
+int gsl_vector_complex_isnonneg (const gsl_vector_complex * v);
+
+int gsl_vector_complex_add (gsl_vector_complex * a, const gsl_vector_complex * b);
+int gsl_vector_complex_sub (gsl_vector_complex * a, const gsl_vector_complex * b);
+int gsl_vector_complex_mul (gsl_vector_complex * a, const gsl_vector_complex * b);
+int gsl_vector_complex_div (gsl_vector_complex * a, const gsl_vector_complex * b);
+int gsl_vector_complex_scale (gsl_vector_complex * a, const gsl_complex x);
+int gsl_vector_complex_add_constant (gsl_vector_complex * a, const gsl_complex x);
+
+INLINE_DECL gsl_complex gsl_vector_complex_get (const gsl_vector_complex * v, const size_t i);
+INLINE_DECL void gsl_vector_complex_set (gsl_vector_complex * v, const size_t i, gsl_complex z);
+INLINE_DECL gsl_complex *gsl_vector_complex_ptr (gsl_vector_complex * v, const size_t i);
+INLINE_DECL const gsl_complex *gsl_vector_complex_const_ptr (const gsl_vector_complex * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+gsl_complex
+gsl_vector_complex_get (const gsl_vector_complex * v,
+ const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ gsl_complex zero = {{0, 0}};
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, zero);
+ }
+#endif
+ return *GSL_COMPLEX_AT (v, i);
+}
+
+INLINE_FUN
+void
+gsl_vector_complex_set (gsl_vector_complex * v,
+ const size_t i, gsl_complex z)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ *GSL_COMPLEX_AT (v, i) = z;
+}
+
+INLINE_FUN
+gsl_complex *
+gsl_vector_complex_ptr (gsl_vector_complex * v,
+ const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return GSL_COMPLEX_AT (v, i);
+}
+
+INLINE_FUN
+const gsl_complex *
+gsl_vector_complex_const_ptr (const gsl_vector_complex * v,
+ const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return GSL_COMPLEX_AT (v, i);
+}
+
+
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_COMPLEX_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_complex_float.h b/thirdparty/includes/GSL/gsl/gsl_vector_complex_float.h
new file mode 100644
index 0000000..182f487
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_complex_float.h
@@ -0,0 +1,251 @@
+/* vector/gsl_vector_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_VECTOR_COMPLEX_FLOAT_H__
+#define __GSL_VECTOR_COMPLEX_FLOAT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_float.h>
+#include <gsl/gsl_vector_complex.h>
+#include <gsl/gsl_block_complex_float.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ float *data;
+ gsl_block_complex_float *block;
+ int owner;
+} gsl_vector_complex_float;
+
+typedef struct
+{
+ gsl_vector_complex_float vector;
+} _gsl_vector_complex_float_view;
+
+typedef _gsl_vector_complex_float_view gsl_vector_complex_float_view;
+
+typedef struct
+{
+ gsl_vector_complex_float vector;
+} _gsl_vector_complex_float_const_view;
+
+typedef const _gsl_vector_complex_float_const_view gsl_vector_complex_float_const_view;
+
+/* Allocation */
+
+gsl_vector_complex_float *gsl_vector_complex_float_alloc (const size_t n);
+gsl_vector_complex_float *gsl_vector_complex_float_calloc (const size_t n);
+
+gsl_vector_complex_float *
+gsl_vector_complex_float_alloc_from_block (gsl_block_complex_float * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_complex_float *
+gsl_vector_complex_float_alloc_from_vector (gsl_vector_complex_float * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_complex_float_free (gsl_vector_complex_float * v);
+
+/* Views */
+
+_gsl_vector_complex_float_view
+gsl_vector_complex_float_view_array (float *base,
+ size_t n);
+
+_gsl_vector_complex_float_view
+gsl_vector_complex_float_view_array_with_stride (float *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_complex_float_const_view
+gsl_vector_complex_float_const_view_array (const float *base,
+ size_t n);
+
+_gsl_vector_complex_float_const_view
+gsl_vector_complex_float_const_view_array_with_stride (const float *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_complex_float_view
+gsl_vector_complex_float_subvector (gsl_vector_complex_float *base,
+ size_t i,
+ size_t n);
+
+
+_gsl_vector_complex_float_view
+gsl_vector_complex_float_subvector_with_stride (gsl_vector_complex_float *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_complex_float_const_view
+gsl_vector_complex_float_const_subvector (const gsl_vector_complex_float *base,
+ size_t i,
+ size_t n);
+
+
+_gsl_vector_complex_float_const_view
+gsl_vector_complex_float_const_subvector_with_stride (const gsl_vector_complex_float *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_float_view
+gsl_vector_complex_float_real (gsl_vector_complex_float *v);
+
+_gsl_vector_float_view
+gsl_vector_complex_float_imag (gsl_vector_complex_float *v);
+
+_gsl_vector_float_const_view
+gsl_vector_complex_float_const_real (const gsl_vector_complex_float *v);
+
+_gsl_vector_float_const_view
+gsl_vector_complex_float_const_imag (const gsl_vector_complex_float *v);
+
+
+/* Operations */
+
+void gsl_vector_complex_float_set_zero (gsl_vector_complex_float * v);
+void gsl_vector_complex_float_set_all (gsl_vector_complex_float * v,
+ gsl_complex_float z);
+int gsl_vector_complex_float_set_basis (gsl_vector_complex_float * v, size_t i);
+
+int gsl_vector_complex_float_fread (FILE * stream,
+ gsl_vector_complex_float * v);
+int gsl_vector_complex_float_fwrite (FILE * stream,
+ const gsl_vector_complex_float * v);
+int gsl_vector_complex_float_fscanf (FILE * stream,
+ gsl_vector_complex_float * v);
+int gsl_vector_complex_float_fprintf (FILE * stream,
+ const gsl_vector_complex_float * v,
+ const char *format);
+
+int gsl_vector_complex_float_memcpy (gsl_vector_complex_float * dest, const gsl_vector_complex_float * src);
+
+int gsl_vector_complex_float_reverse (gsl_vector_complex_float * v);
+
+int gsl_vector_complex_float_swap (gsl_vector_complex_float * v, gsl_vector_complex_float * w);
+int gsl_vector_complex_float_swap_elements (gsl_vector_complex_float * v, const size_t i, const size_t j);
+
+int gsl_vector_complex_float_equal (const gsl_vector_complex_float * u,
+ const gsl_vector_complex_float * v);
+
+int gsl_vector_complex_float_isnull (const gsl_vector_complex_float * v);
+int gsl_vector_complex_float_ispos (const gsl_vector_complex_float * v);
+int gsl_vector_complex_float_isneg (const gsl_vector_complex_float * v);
+int gsl_vector_complex_float_isnonneg (const gsl_vector_complex_float * v);
+
+int gsl_vector_complex_float_add (gsl_vector_complex_float * a, const gsl_vector_complex_float * b);
+int gsl_vector_complex_float_sub (gsl_vector_complex_float * a, const gsl_vector_complex_float * b);
+int gsl_vector_complex_float_mul (gsl_vector_complex_float * a, const gsl_vector_complex_float * b);
+int gsl_vector_complex_float_div (gsl_vector_complex_float * a, const gsl_vector_complex_float * b);
+int gsl_vector_complex_float_scale (gsl_vector_complex_float * a, const gsl_complex_float x);
+int gsl_vector_complex_float_add_constant (gsl_vector_complex_float * a, const gsl_complex_float x);
+
+INLINE_DECL gsl_complex_float gsl_vector_complex_float_get (const gsl_vector_complex_float * v, const size_t i);
+INLINE_DECL void gsl_vector_complex_float_set (gsl_vector_complex_float * v, const size_t i, gsl_complex_float z);
+INLINE_DECL gsl_complex_float *gsl_vector_complex_float_ptr (gsl_vector_complex_float * v, const size_t i);
+INLINE_DECL const gsl_complex_float *gsl_vector_complex_float_const_ptr (const gsl_vector_complex_float * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+gsl_complex_float
+gsl_vector_complex_float_get (const gsl_vector_complex_float * v,
+ const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ gsl_complex_float zero = {{0, 0}};
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, zero);
+ }
+#endif
+ return *GSL_COMPLEX_FLOAT_AT (v, i);
+}
+
+INLINE_FUN
+void
+gsl_vector_complex_float_set (gsl_vector_complex_float * v,
+ const size_t i, gsl_complex_float z)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ *GSL_COMPLEX_FLOAT_AT (v, i) = z;
+}
+
+INLINE_FUN
+gsl_complex_float *
+gsl_vector_complex_float_ptr (gsl_vector_complex_float * v,
+ const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return GSL_COMPLEX_FLOAT_AT (v, i);
+}
+
+INLINE_FUN
+const gsl_complex_float *
+gsl_vector_complex_float_const_ptr (const gsl_vector_complex_float * v,
+ const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return GSL_COMPLEX_FLOAT_AT (v, i);
+}
+
+
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_COMPLEX_FLOAT_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_complex_long_double.h b/thirdparty/includes/GSL/gsl/gsl_vector_complex_long_double.h
new file mode 100644
index 0000000..91755e0
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_complex_long_double.h
@@ -0,0 +1,251 @@
+/* vector/gsl_vector_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_VECTOR_COMPLEX_LONG_DOUBLE_H__
+#define __GSL_VECTOR_COMPLEX_LONG_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_complex.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_vector_long_double.h>
+#include <gsl/gsl_vector_complex.h>
+#include <gsl/gsl_block_complex_long_double.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ long double *data;
+ gsl_block_complex_long_double *block;
+ int owner;
+} gsl_vector_complex_long_double;
+
+typedef struct
+{
+ gsl_vector_complex_long_double vector;
+} _gsl_vector_complex_long_double_view;
+
+typedef _gsl_vector_complex_long_double_view gsl_vector_complex_long_double_view;
+
+typedef struct
+{
+ gsl_vector_complex_long_double vector;
+} _gsl_vector_complex_long_double_const_view;
+
+typedef const _gsl_vector_complex_long_double_const_view gsl_vector_complex_long_double_const_view;
+
+/* Allocation */
+
+gsl_vector_complex_long_double *gsl_vector_complex_long_double_alloc (const size_t n);
+gsl_vector_complex_long_double *gsl_vector_complex_long_double_calloc (const size_t n);
+
+gsl_vector_complex_long_double *
+gsl_vector_complex_long_double_alloc_from_block (gsl_block_complex_long_double * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_complex_long_double *
+gsl_vector_complex_long_double_alloc_from_vector (gsl_vector_complex_long_double * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_complex_long_double_free (gsl_vector_complex_long_double * v);
+
+/* Views */
+
+_gsl_vector_complex_long_double_view
+gsl_vector_complex_long_double_view_array (long double *base,
+ size_t n);
+
+_gsl_vector_complex_long_double_view
+gsl_vector_complex_long_double_view_array_with_stride (long double *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_complex_long_double_const_view
+gsl_vector_complex_long_double_const_view_array (const long double *base,
+ size_t n);
+
+_gsl_vector_complex_long_double_const_view
+gsl_vector_complex_long_double_const_view_array_with_stride (const long double *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_complex_long_double_view
+gsl_vector_complex_long_double_subvector (gsl_vector_complex_long_double *base,
+ size_t i,
+ size_t n);
+
+
+_gsl_vector_complex_long_double_view
+gsl_vector_complex_long_double_subvector_with_stride (gsl_vector_complex_long_double *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_complex_long_double_const_view
+gsl_vector_complex_long_double_const_subvector (const gsl_vector_complex_long_double *base,
+ size_t i,
+ size_t n);
+
+
+_gsl_vector_complex_long_double_const_view
+gsl_vector_complex_long_double_const_subvector_with_stride (const gsl_vector_complex_long_double *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_long_double_view
+gsl_vector_complex_long_double_real (gsl_vector_complex_long_double *v);
+
+_gsl_vector_long_double_view
+gsl_vector_complex_long_double_imag (gsl_vector_complex_long_double *v);
+
+_gsl_vector_long_double_const_view
+gsl_vector_complex_long_double_const_real (const gsl_vector_complex_long_double *v);
+
+_gsl_vector_long_double_const_view
+gsl_vector_complex_long_double_const_imag (const gsl_vector_complex_long_double *v);
+
+
+/* Operations */
+
+void gsl_vector_complex_long_double_set_zero (gsl_vector_complex_long_double * v);
+void gsl_vector_complex_long_double_set_all (gsl_vector_complex_long_double * v,
+ gsl_complex_long_double z);
+int gsl_vector_complex_long_double_set_basis (gsl_vector_complex_long_double * v, size_t i);
+
+int gsl_vector_complex_long_double_fread (FILE * stream,
+ gsl_vector_complex_long_double * v);
+int gsl_vector_complex_long_double_fwrite (FILE * stream,
+ const gsl_vector_complex_long_double * v);
+int gsl_vector_complex_long_double_fscanf (FILE * stream,
+ gsl_vector_complex_long_double * v);
+int gsl_vector_complex_long_double_fprintf (FILE * stream,
+ const gsl_vector_complex_long_double * v,
+ const char *format);
+
+int gsl_vector_complex_long_double_memcpy (gsl_vector_complex_long_double * dest, const gsl_vector_complex_long_double * src);
+
+int gsl_vector_complex_long_double_reverse (gsl_vector_complex_long_double * v);
+
+int gsl_vector_complex_long_double_swap (gsl_vector_complex_long_double * v, gsl_vector_complex_long_double * w);
+int gsl_vector_complex_long_double_swap_elements (gsl_vector_complex_long_double * v, const size_t i, const size_t j);
+
+int gsl_vector_complex_long_double_equal (const gsl_vector_complex_long_double * u,
+ const gsl_vector_complex_long_double * v);
+
+int gsl_vector_complex_long_double_isnull (const gsl_vector_complex_long_double * v);
+int gsl_vector_complex_long_double_ispos (const gsl_vector_complex_long_double * v);
+int gsl_vector_complex_long_double_isneg (const gsl_vector_complex_long_double * v);
+int gsl_vector_complex_long_double_isnonneg (const gsl_vector_complex_long_double * v);
+
+int gsl_vector_complex_long_double_add (gsl_vector_complex_long_double * a, const gsl_vector_complex_long_double * b);
+int gsl_vector_complex_long_double_sub (gsl_vector_complex_long_double * a, const gsl_vector_complex_long_double * b);
+int gsl_vector_complex_long_double_mul (gsl_vector_complex_long_double * a, const gsl_vector_complex_long_double * b);
+int gsl_vector_complex_long_double_div (gsl_vector_complex_long_double * a, const gsl_vector_complex_long_double * b);
+int gsl_vector_complex_long_double_scale (gsl_vector_complex_long_double * a, const gsl_complex_long_double x);
+int gsl_vector_complex_long_double_add_constant (gsl_vector_complex_long_double * a, const gsl_complex_long_double x);
+
+INLINE_DECL gsl_complex_long_double gsl_vector_complex_long_double_get (const gsl_vector_complex_long_double * v, const size_t i);
+INLINE_DECL void gsl_vector_complex_long_double_set (gsl_vector_complex_long_double * v, const size_t i, gsl_complex_long_double z);
+INLINE_DECL gsl_complex_long_double *gsl_vector_complex_long_double_ptr (gsl_vector_complex_long_double * v, const size_t i);
+INLINE_DECL const gsl_complex_long_double *gsl_vector_complex_long_double_const_ptr (const gsl_vector_complex_long_double * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+gsl_complex_long_double
+gsl_vector_complex_long_double_get (const gsl_vector_complex_long_double * v,
+ const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ gsl_complex_long_double zero = {{0, 0}};
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, zero);
+ }
+#endif
+ return *GSL_COMPLEX_LONG_DOUBLE_AT (v, i);
+}
+
+INLINE_FUN
+void
+gsl_vector_complex_long_double_set (gsl_vector_complex_long_double * v,
+ const size_t i, gsl_complex_long_double z)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ *GSL_COMPLEX_LONG_DOUBLE_AT (v, i) = z;
+}
+
+INLINE_FUN
+gsl_complex_long_double *
+gsl_vector_complex_long_double_ptr (gsl_vector_complex_long_double * v,
+ const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return GSL_COMPLEX_LONG_DOUBLE_AT (v, i);
+}
+
+INLINE_FUN
+const gsl_complex_long_double *
+gsl_vector_complex_long_double_const_ptr (const gsl_vector_complex_long_double * v,
+ const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return GSL_COMPLEX_LONG_DOUBLE_AT (v, i);
+}
+
+
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_COMPLEX_LONG_DOUBLE_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_double.h b/thirdparty/includes/GSL/gsl/gsl_vector_double.h
new file mode 100644
index 0000000..26a12d8
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_double.h
@@ -0,0 +1,230 @@
+/* vector/gsl_vector_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_VECTOR_DOUBLE_H__
+#define __GSL_VECTOR_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_block_double.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ double *data;
+ gsl_block *block;
+ int owner;
+}
+gsl_vector;
+
+typedef struct
+{
+ gsl_vector vector;
+} _gsl_vector_view;
+
+typedef _gsl_vector_view gsl_vector_view;
+
+typedef struct
+{
+ gsl_vector vector;
+} _gsl_vector_const_view;
+
+typedef const _gsl_vector_const_view gsl_vector_const_view;
+
+
+/* Allocation */
+
+gsl_vector *gsl_vector_alloc (const size_t n);
+gsl_vector *gsl_vector_calloc (const size_t n);
+
+gsl_vector *gsl_vector_alloc_from_block (gsl_block * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector *gsl_vector_alloc_from_vector (gsl_vector * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_free (gsl_vector * v);
+
+/* Views */
+
+_gsl_vector_view
+gsl_vector_view_array (double *v, size_t n);
+
+_gsl_vector_view
+gsl_vector_view_array_with_stride (double *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_const_view
+gsl_vector_const_view_array (const double *v, size_t n);
+
+_gsl_vector_const_view
+gsl_vector_const_view_array_with_stride (const double *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_view
+gsl_vector_subvector (gsl_vector *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_view
+gsl_vector_subvector_with_stride (gsl_vector *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_const_view
+gsl_vector_const_subvector (const gsl_vector *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_const_view
+gsl_vector_const_subvector_with_stride (const gsl_vector *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+/* Operations */
+
+void gsl_vector_set_zero (gsl_vector * v);
+void gsl_vector_set_all (gsl_vector * v, double x);
+int gsl_vector_set_basis (gsl_vector * v, size_t i);
+
+int gsl_vector_fread (FILE * stream, gsl_vector * v);
+int gsl_vector_fwrite (FILE * stream, const gsl_vector * v);
+int gsl_vector_fscanf (FILE * stream, gsl_vector * v);
+int gsl_vector_fprintf (FILE * stream, const gsl_vector * v,
+ const char *format);
+
+int gsl_vector_memcpy (gsl_vector * dest, const gsl_vector * src);
+
+int gsl_vector_reverse (gsl_vector * v);
+
+int gsl_vector_swap (gsl_vector * v, gsl_vector * w);
+int gsl_vector_swap_elements (gsl_vector * v, const size_t i, const size_t j);
+
+double gsl_vector_max (const gsl_vector * v);
+double gsl_vector_min (const gsl_vector * v);
+void gsl_vector_minmax (const gsl_vector * v, double * min_out, double * max_out);
+
+size_t gsl_vector_max_index (const gsl_vector * v);
+size_t gsl_vector_min_index (const gsl_vector * v);
+void gsl_vector_minmax_index (const gsl_vector * v, size_t * imin, size_t * imax);
+
+int gsl_vector_add (gsl_vector * a, const gsl_vector * b);
+int gsl_vector_sub (gsl_vector * a, const gsl_vector * b);
+int gsl_vector_mul (gsl_vector * a, const gsl_vector * b);
+int gsl_vector_div (gsl_vector * a, const gsl_vector * b);
+int gsl_vector_scale (gsl_vector * a, const double x);
+int gsl_vector_add_constant (gsl_vector * a, const double x);
+
+int gsl_vector_equal (const gsl_vector * u,
+ const gsl_vector * v);
+
+int gsl_vector_isnull (const gsl_vector * v);
+int gsl_vector_ispos (const gsl_vector * v);
+int gsl_vector_isneg (const gsl_vector * v);
+int gsl_vector_isnonneg (const gsl_vector * v);
+
+INLINE_DECL double gsl_vector_get (const gsl_vector * v, const size_t i);
+INLINE_DECL void gsl_vector_set (gsl_vector * v, const size_t i, double x);
+INLINE_DECL double * gsl_vector_ptr (gsl_vector * v, const size_t i);
+INLINE_DECL const double * gsl_vector_const_ptr (const gsl_vector * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+double
+gsl_vector_get (const gsl_vector * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return v->data[i * v->stride];
+}
+
+INLINE_FUN
+void
+gsl_vector_set (gsl_vector * v, const size_t i, double x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ v->data[i * v->stride] = x;
+}
+
+INLINE_FUN
+double *
+gsl_vector_ptr (gsl_vector * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (double *) (v->data + i * v->stride);
+}
+
+INLINE_FUN
+const double *
+gsl_vector_const_ptr (const gsl_vector * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (const double *) (v->data + i * v->stride);
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_DOUBLE_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_float.h b/thirdparty/includes/GSL/gsl/gsl_vector_float.h
new file mode 100644
index 0000000..2b499c8
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_float.h
@@ -0,0 +1,230 @@
+/* vector/gsl_vector_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_VECTOR_FLOAT_H__
+#define __GSL_VECTOR_FLOAT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_block_float.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ float *data;
+ gsl_block_float *block;
+ int owner;
+}
+gsl_vector_float;
+
+typedef struct
+{
+ gsl_vector_float vector;
+} _gsl_vector_float_view;
+
+typedef _gsl_vector_float_view gsl_vector_float_view;
+
+typedef struct
+{
+ gsl_vector_float vector;
+} _gsl_vector_float_const_view;
+
+typedef const _gsl_vector_float_const_view gsl_vector_float_const_view;
+
+
+/* Allocation */
+
+gsl_vector_float *gsl_vector_float_alloc (const size_t n);
+gsl_vector_float *gsl_vector_float_calloc (const size_t n);
+
+gsl_vector_float *gsl_vector_float_alloc_from_block (gsl_block_float * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_float *gsl_vector_float_alloc_from_vector (gsl_vector_float * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_float_free (gsl_vector_float * v);
+
+/* Views */
+
+_gsl_vector_float_view
+gsl_vector_float_view_array (float *v, size_t n);
+
+_gsl_vector_float_view
+gsl_vector_float_view_array_with_stride (float *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_float_const_view
+gsl_vector_float_const_view_array (const float *v, size_t n);
+
+_gsl_vector_float_const_view
+gsl_vector_float_const_view_array_with_stride (const float *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_float_view
+gsl_vector_float_subvector (gsl_vector_float *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_float_view
+gsl_vector_float_subvector_with_stride (gsl_vector_float *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_float_const_view
+gsl_vector_float_const_subvector (const gsl_vector_float *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_float_const_view
+gsl_vector_float_const_subvector_with_stride (const gsl_vector_float *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+/* Operations */
+
+void gsl_vector_float_set_zero (gsl_vector_float * v);
+void gsl_vector_float_set_all (gsl_vector_float * v, float x);
+int gsl_vector_float_set_basis (gsl_vector_float * v, size_t i);
+
+int gsl_vector_float_fread (FILE * stream, gsl_vector_float * v);
+int gsl_vector_float_fwrite (FILE * stream, const gsl_vector_float * v);
+int gsl_vector_float_fscanf (FILE * stream, gsl_vector_float * v);
+int gsl_vector_float_fprintf (FILE * stream, const gsl_vector_float * v,
+ const char *format);
+
+int gsl_vector_float_memcpy (gsl_vector_float * dest, const gsl_vector_float * src);
+
+int gsl_vector_float_reverse (gsl_vector_float * v);
+
+int gsl_vector_float_swap (gsl_vector_float * v, gsl_vector_float * w);
+int gsl_vector_float_swap_elements (gsl_vector_float * v, const size_t i, const size_t j);
+
+float gsl_vector_float_max (const gsl_vector_float * v);
+float gsl_vector_float_min (const gsl_vector_float * v);
+void gsl_vector_float_minmax (const gsl_vector_float * v, float * min_out, float * max_out);
+
+size_t gsl_vector_float_max_index (const gsl_vector_float * v);
+size_t gsl_vector_float_min_index (const gsl_vector_float * v);
+void gsl_vector_float_minmax_index (const gsl_vector_float * v, size_t * imin, size_t * imax);
+
+int gsl_vector_float_add (gsl_vector_float * a, const gsl_vector_float * b);
+int gsl_vector_float_sub (gsl_vector_float * a, const gsl_vector_float * b);
+int gsl_vector_float_mul (gsl_vector_float * a, const gsl_vector_float * b);
+int gsl_vector_float_div (gsl_vector_float * a, const gsl_vector_float * b);
+int gsl_vector_float_scale (gsl_vector_float * a, const double x);
+int gsl_vector_float_add_constant (gsl_vector_float * a, const double x);
+
+int gsl_vector_float_equal (const gsl_vector_float * u,
+ const gsl_vector_float * v);
+
+int gsl_vector_float_isnull (const gsl_vector_float * v);
+int gsl_vector_float_ispos (const gsl_vector_float * v);
+int gsl_vector_float_isneg (const gsl_vector_float * v);
+int gsl_vector_float_isnonneg (const gsl_vector_float * v);
+
+INLINE_DECL float gsl_vector_float_get (const gsl_vector_float * v, const size_t i);
+INLINE_DECL void gsl_vector_float_set (gsl_vector_float * v, const size_t i, float x);
+INLINE_DECL float * gsl_vector_float_ptr (gsl_vector_float * v, const size_t i);
+INLINE_DECL const float * gsl_vector_float_const_ptr (const gsl_vector_float * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+float
+gsl_vector_float_get (const gsl_vector_float * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return v->data[i * v->stride];
+}
+
+INLINE_FUN
+void
+gsl_vector_float_set (gsl_vector_float * v, const size_t i, float x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ v->data[i * v->stride] = x;
+}
+
+INLINE_FUN
+float *
+gsl_vector_float_ptr (gsl_vector_float * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (float *) (v->data + i * v->stride);
+}
+
+INLINE_FUN
+const float *
+gsl_vector_float_const_ptr (const gsl_vector_float * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (const float *) (v->data + i * v->stride);
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_FLOAT_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_int.h b/thirdparty/includes/GSL/gsl/gsl_vector_int.h
new file mode 100644
index 0000000..de04a44
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_int.h
@@ -0,0 +1,230 @@
+/* vector/gsl_vector_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_VECTOR_INT_H__
+#define __GSL_VECTOR_INT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_block_int.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ int *data;
+ gsl_block_int *block;
+ int owner;
+}
+gsl_vector_int;
+
+typedef struct
+{
+ gsl_vector_int vector;
+} _gsl_vector_int_view;
+
+typedef _gsl_vector_int_view gsl_vector_int_view;
+
+typedef struct
+{
+ gsl_vector_int vector;
+} _gsl_vector_int_const_view;
+
+typedef const _gsl_vector_int_const_view gsl_vector_int_const_view;
+
+
+/* Allocation */
+
+gsl_vector_int *gsl_vector_int_alloc (const size_t n);
+gsl_vector_int *gsl_vector_int_calloc (const size_t n);
+
+gsl_vector_int *gsl_vector_int_alloc_from_block (gsl_block_int * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_int *gsl_vector_int_alloc_from_vector (gsl_vector_int * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_int_free (gsl_vector_int * v);
+
+/* Views */
+
+_gsl_vector_int_view
+gsl_vector_int_view_array (int *v, size_t n);
+
+_gsl_vector_int_view
+gsl_vector_int_view_array_with_stride (int *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_int_const_view
+gsl_vector_int_const_view_array (const int *v, size_t n);
+
+_gsl_vector_int_const_view
+gsl_vector_int_const_view_array_with_stride (const int *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_int_view
+gsl_vector_int_subvector (gsl_vector_int *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_int_view
+gsl_vector_int_subvector_with_stride (gsl_vector_int *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_int_const_view
+gsl_vector_int_const_subvector (const gsl_vector_int *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_int_const_view
+gsl_vector_int_const_subvector_with_stride (const gsl_vector_int *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+/* Operations */
+
+void gsl_vector_int_set_zero (gsl_vector_int * v);
+void gsl_vector_int_set_all (gsl_vector_int * v, int x);
+int gsl_vector_int_set_basis (gsl_vector_int * v, size_t i);
+
+int gsl_vector_int_fread (FILE * stream, gsl_vector_int * v);
+int gsl_vector_int_fwrite (FILE * stream, const gsl_vector_int * v);
+int gsl_vector_int_fscanf (FILE * stream, gsl_vector_int * v);
+int gsl_vector_int_fprintf (FILE * stream, const gsl_vector_int * v,
+ const char *format);
+
+int gsl_vector_int_memcpy (gsl_vector_int * dest, const gsl_vector_int * src);
+
+int gsl_vector_int_reverse (gsl_vector_int * v);
+
+int gsl_vector_int_swap (gsl_vector_int * v, gsl_vector_int * w);
+int gsl_vector_int_swap_elements (gsl_vector_int * v, const size_t i, const size_t j);
+
+int gsl_vector_int_max (const gsl_vector_int * v);
+int gsl_vector_int_min (const gsl_vector_int * v);
+void gsl_vector_int_minmax (const gsl_vector_int * v, int * min_out, int * max_out);
+
+size_t gsl_vector_int_max_index (const gsl_vector_int * v);
+size_t gsl_vector_int_min_index (const gsl_vector_int * v);
+void gsl_vector_int_minmax_index (const gsl_vector_int * v, size_t * imin, size_t * imax);
+
+int gsl_vector_int_add (gsl_vector_int * a, const gsl_vector_int * b);
+int gsl_vector_int_sub (gsl_vector_int * a, const gsl_vector_int * b);
+int gsl_vector_int_mul (gsl_vector_int * a, const gsl_vector_int * b);
+int gsl_vector_int_div (gsl_vector_int * a, const gsl_vector_int * b);
+int gsl_vector_int_scale (gsl_vector_int * a, const double x);
+int gsl_vector_int_add_constant (gsl_vector_int * a, const double x);
+
+int gsl_vector_int_equal (const gsl_vector_int * u,
+ const gsl_vector_int * v);
+
+int gsl_vector_int_isnull (const gsl_vector_int * v);
+int gsl_vector_int_ispos (const gsl_vector_int * v);
+int gsl_vector_int_isneg (const gsl_vector_int * v);
+int gsl_vector_int_isnonneg (const gsl_vector_int * v);
+
+INLINE_DECL int gsl_vector_int_get (const gsl_vector_int * v, const size_t i);
+INLINE_DECL void gsl_vector_int_set (gsl_vector_int * v, const size_t i, int x);
+INLINE_DECL int * gsl_vector_int_ptr (gsl_vector_int * v, const size_t i);
+INLINE_DECL const int * gsl_vector_int_const_ptr (const gsl_vector_int * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+int
+gsl_vector_int_get (const gsl_vector_int * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return v->data[i * v->stride];
+}
+
+INLINE_FUN
+void
+gsl_vector_int_set (gsl_vector_int * v, const size_t i, int x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ v->data[i * v->stride] = x;
+}
+
+INLINE_FUN
+int *
+gsl_vector_int_ptr (gsl_vector_int * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (int *) (v->data + i * v->stride);
+}
+
+INLINE_FUN
+const int *
+gsl_vector_int_const_ptr (const gsl_vector_int * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (const int *) (v->data + i * v->stride);
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_INT_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_long.h b/thirdparty/includes/GSL/gsl/gsl_vector_long.h
new file mode 100644
index 0000000..f844a02
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_long.h
@@ -0,0 +1,230 @@
+/* vector/gsl_vector_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_VECTOR_LONG_H__
+#define __GSL_VECTOR_LONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_block_long.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ long *data;
+ gsl_block_long *block;
+ int owner;
+}
+gsl_vector_long;
+
+typedef struct
+{
+ gsl_vector_long vector;
+} _gsl_vector_long_view;
+
+typedef _gsl_vector_long_view gsl_vector_long_view;
+
+typedef struct
+{
+ gsl_vector_long vector;
+} _gsl_vector_long_const_view;
+
+typedef const _gsl_vector_long_const_view gsl_vector_long_const_view;
+
+
+/* Allocation */
+
+gsl_vector_long *gsl_vector_long_alloc (const size_t n);
+gsl_vector_long *gsl_vector_long_calloc (const size_t n);
+
+gsl_vector_long *gsl_vector_long_alloc_from_block (gsl_block_long * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_long *gsl_vector_long_alloc_from_vector (gsl_vector_long * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_long_free (gsl_vector_long * v);
+
+/* Views */
+
+_gsl_vector_long_view
+gsl_vector_long_view_array (long *v, size_t n);
+
+_gsl_vector_long_view
+gsl_vector_long_view_array_with_stride (long *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_long_const_view
+gsl_vector_long_const_view_array (const long *v, size_t n);
+
+_gsl_vector_long_const_view
+gsl_vector_long_const_view_array_with_stride (const long *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_long_view
+gsl_vector_long_subvector (gsl_vector_long *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_long_view
+gsl_vector_long_subvector_with_stride (gsl_vector_long *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_long_const_view
+gsl_vector_long_const_subvector (const gsl_vector_long *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_long_const_view
+gsl_vector_long_const_subvector_with_stride (const gsl_vector_long *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+/* Operations */
+
+void gsl_vector_long_set_zero (gsl_vector_long * v);
+void gsl_vector_long_set_all (gsl_vector_long * v, long x);
+int gsl_vector_long_set_basis (gsl_vector_long * v, size_t i);
+
+int gsl_vector_long_fread (FILE * stream, gsl_vector_long * v);
+int gsl_vector_long_fwrite (FILE * stream, const gsl_vector_long * v);
+int gsl_vector_long_fscanf (FILE * stream, gsl_vector_long * v);
+int gsl_vector_long_fprintf (FILE * stream, const gsl_vector_long * v,
+ const char *format);
+
+int gsl_vector_long_memcpy (gsl_vector_long * dest, const gsl_vector_long * src);
+
+int gsl_vector_long_reverse (gsl_vector_long * v);
+
+int gsl_vector_long_swap (gsl_vector_long * v, gsl_vector_long * w);
+int gsl_vector_long_swap_elements (gsl_vector_long * v, const size_t i, const size_t j);
+
+long gsl_vector_long_max (const gsl_vector_long * v);
+long gsl_vector_long_min (const gsl_vector_long * v);
+void gsl_vector_long_minmax (const gsl_vector_long * v, long * min_out, long * max_out);
+
+size_t gsl_vector_long_max_index (const gsl_vector_long * v);
+size_t gsl_vector_long_min_index (const gsl_vector_long * v);
+void gsl_vector_long_minmax_index (const gsl_vector_long * v, size_t * imin, size_t * imax);
+
+int gsl_vector_long_add (gsl_vector_long * a, const gsl_vector_long * b);
+int gsl_vector_long_sub (gsl_vector_long * a, const gsl_vector_long * b);
+int gsl_vector_long_mul (gsl_vector_long * a, const gsl_vector_long * b);
+int gsl_vector_long_div (gsl_vector_long * a, const gsl_vector_long * b);
+int gsl_vector_long_scale (gsl_vector_long * a, const double x);
+int gsl_vector_long_add_constant (gsl_vector_long * a, const double x);
+
+int gsl_vector_long_equal (const gsl_vector_long * u,
+ const gsl_vector_long * v);
+
+int gsl_vector_long_isnull (const gsl_vector_long * v);
+int gsl_vector_long_ispos (const gsl_vector_long * v);
+int gsl_vector_long_isneg (const gsl_vector_long * v);
+int gsl_vector_long_isnonneg (const gsl_vector_long * v);
+
+INLINE_DECL long gsl_vector_long_get (const gsl_vector_long * v, const size_t i);
+INLINE_DECL void gsl_vector_long_set (gsl_vector_long * v, const size_t i, long x);
+INLINE_DECL long * gsl_vector_long_ptr (gsl_vector_long * v, const size_t i);
+INLINE_DECL const long * gsl_vector_long_const_ptr (const gsl_vector_long * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+long
+gsl_vector_long_get (const gsl_vector_long * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return v->data[i * v->stride];
+}
+
+INLINE_FUN
+void
+gsl_vector_long_set (gsl_vector_long * v, const size_t i, long x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ v->data[i * v->stride] = x;
+}
+
+INLINE_FUN
+long *
+gsl_vector_long_ptr (gsl_vector_long * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (long *) (v->data + i * v->stride);
+}
+
+INLINE_FUN
+const long *
+gsl_vector_long_const_ptr (const gsl_vector_long * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (const long *) (v->data + i * v->stride);
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_LONG_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_long_double.h b/thirdparty/includes/GSL/gsl/gsl_vector_long_double.h
new file mode 100644
index 0000000..836b09a
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_long_double.h
@@ -0,0 +1,230 @@
+/* vector/gsl_vector_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_VECTOR_LONG_DOUBLE_H__
+#define __GSL_VECTOR_LONG_DOUBLE_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_block_long_double.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ long double *data;
+ gsl_block_long_double *block;
+ int owner;
+}
+gsl_vector_long_double;
+
+typedef struct
+{
+ gsl_vector_long_double vector;
+} _gsl_vector_long_double_view;
+
+typedef _gsl_vector_long_double_view gsl_vector_long_double_view;
+
+typedef struct
+{
+ gsl_vector_long_double vector;
+} _gsl_vector_long_double_const_view;
+
+typedef const _gsl_vector_long_double_const_view gsl_vector_long_double_const_view;
+
+
+/* Allocation */
+
+gsl_vector_long_double *gsl_vector_long_double_alloc (const size_t n);
+gsl_vector_long_double *gsl_vector_long_double_calloc (const size_t n);
+
+gsl_vector_long_double *gsl_vector_long_double_alloc_from_block (gsl_block_long_double * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_long_double *gsl_vector_long_double_alloc_from_vector (gsl_vector_long_double * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_long_double_free (gsl_vector_long_double * v);
+
+/* Views */
+
+_gsl_vector_long_double_view
+gsl_vector_long_double_view_array (long double *v, size_t n);
+
+_gsl_vector_long_double_view
+gsl_vector_long_double_view_array_with_stride (long double *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_long_double_const_view
+gsl_vector_long_double_const_view_array (const long double *v, size_t n);
+
+_gsl_vector_long_double_const_view
+gsl_vector_long_double_const_view_array_with_stride (const long double *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_long_double_view
+gsl_vector_long_double_subvector (gsl_vector_long_double *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_long_double_view
+gsl_vector_long_double_subvector_with_stride (gsl_vector_long_double *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_long_double_const_view
+gsl_vector_long_double_const_subvector (const gsl_vector_long_double *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_long_double_const_view
+gsl_vector_long_double_const_subvector_with_stride (const gsl_vector_long_double *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+/* Operations */
+
+void gsl_vector_long_double_set_zero (gsl_vector_long_double * v);
+void gsl_vector_long_double_set_all (gsl_vector_long_double * v, long double x);
+int gsl_vector_long_double_set_basis (gsl_vector_long_double * v, size_t i);
+
+int gsl_vector_long_double_fread (FILE * stream, gsl_vector_long_double * v);
+int gsl_vector_long_double_fwrite (FILE * stream, const gsl_vector_long_double * v);
+int gsl_vector_long_double_fscanf (FILE * stream, gsl_vector_long_double * v);
+int gsl_vector_long_double_fprintf (FILE * stream, const gsl_vector_long_double * v,
+ const char *format);
+
+int gsl_vector_long_double_memcpy (gsl_vector_long_double * dest, const gsl_vector_long_double * src);
+
+int gsl_vector_long_double_reverse (gsl_vector_long_double * v);
+
+int gsl_vector_long_double_swap (gsl_vector_long_double * v, gsl_vector_long_double * w);
+int gsl_vector_long_double_swap_elements (gsl_vector_long_double * v, const size_t i, const size_t j);
+
+long double gsl_vector_long_double_max (const gsl_vector_long_double * v);
+long double gsl_vector_long_double_min (const gsl_vector_long_double * v);
+void gsl_vector_long_double_minmax (const gsl_vector_long_double * v, long double * min_out, long double * max_out);
+
+size_t gsl_vector_long_double_max_index (const gsl_vector_long_double * v);
+size_t gsl_vector_long_double_min_index (const gsl_vector_long_double * v);
+void gsl_vector_long_double_minmax_index (const gsl_vector_long_double * v, size_t * imin, size_t * imax);
+
+int gsl_vector_long_double_add (gsl_vector_long_double * a, const gsl_vector_long_double * b);
+int gsl_vector_long_double_sub (gsl_vector_long_double * a, const gsl_vector_long_double * b);
+int gsl_vector_long_double_mul (gsl_vector_long_double * a, const gsl_vector_long_double * b);
+int gsl_vector_long_double_div (gsl_vector_long_double * a, const gsl_vector_long_double * b);
+int gsl_vector_long_double_scale (gsl_vector_long_double * a, const double x);
+int gsl_vector_long_double_add_constant (gsl_vector_long_double * a, const double x);
+
+int gsl_vector_long_double_equal (const gsl_vector_long_double * u,
+ const gsl_vector_long_double * v);
+
+int gsl_vector_long_double_isnull (const gsl_vector_long_double * v);
+int gsl_vector_long_double_ispos (const gsl_vector_long_double * v);
+int gsl_vector_long_double_isneg (const gsl_vector_long_double * v);
+int gsl_vector_long_double_isnonneg (const gsl_vector_long_double * v);
+
+INLINE_DECL long double gsl_vector_long_double_get (const gsl_vector_long_double * v, const size_t i);
+INLINE_DECL void gsl_vector_long_double_set (gsl_vector_long_double * v, const size_t i, long double x);
+INLINE_DECL long double * gsl_vector_long_double_ptr (gsl_vector_long_double * v, const size_t i);
+INLINE_DECL const long double * gsl_vector_long_double_const_ptr (const gsl_vector_long_double * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+long double
+gsl_vector_long_double_get (const gsl_vector_long_double * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return v->data[i * v->stride];
+}
+
+INLINE_FUN
+void
+gsl_vector_long_double_set (gsl_vector_long_double * v, const size_t i, long double x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ v->data[i * v->stride] = x;
+}
+
+INLINE_FUN
+long double *
+gsl_vector_long_double_ptr (gsl_vector_long_double * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (long double *) (v->data + i * v->stride);
+}
+
+INLINE_FUN
+const long double *
+gsl_vector_long_double_const_ptr (const gsl_vector_long_double * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (const long double *) (v->data + i * v->stride);
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_LONG_DOUBLE_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_short.h b/thirdparty/includes/GSL/gsl/gsl_vector_short.h
new file mode 100644
index 0000000..4f41f7a
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_short.h
@@ -0,0 +1,230 @@
+/* vector/gsl_vector_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_VECTOR_SHORT_H__
+#define __GSL_VECTOR_SHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_block_short.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ short *data;
+ gsl_block_short *block;
+ int owner;
+}
+gsl_vector_short;
+
+typedef struct
+{
+ gsl_vector_short vector;
+} _gsl_vector_short_view;
+
+typedef _gsl_vector_short_view gsl_vector_short_view;
+
+typedef struct
+{
+ gsl_vector_short vector;
+} _gsl_vector_short_const_view;
+
+typedef const _gsl_vector_short_const_view gsl_vector_short_const_view;
+
+
+/* Allocation */
+
+gsl_vector_short *gsl_vector_short_alloc (const size_t n);
+gsl_vector_short *gsl_vector_short_calloc (const size_t n);
+
+gsl_vector_short *gsl_vector_short_alloc_from_block (gsl_block_short * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_short *gsl_vector_short_alloc_from_vector (gsl_vector_short * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_short_free (gsl_vector_short * v);
+
+/* Views */
+
+_gsl_vector_short_view
+gsl_vector_short_view_array (short *v, size_t n);
+
+_gsl_vector_short_view
+gsl_vector_short_view_array_with_stride (short *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_short_const_view
+gsl_vector_short_const_view_array (const short *v, size_t n);
+
+_gsl_vector_short_const_view
+gsl_vector_short_const_view_array_with_stride (const short *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_short_view
+gsl_vector_short_subvector (gsl_vector_short *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_short_view
+gsl_vector_short_subvector_with_stride (gsl_vector_short *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_short_const_view
+gsl_vector_short_const_subvector (const gsl_vector_short *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_short_const_view
+gsl_vector_short_const_subvector_with_stride (const gsl_vector_short *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+/* Operations */
+
+void gsl_vector_short_set_zero (gsl_vector_short * v);
+void gsl_vector_short_set_all (gsl_vector_short * v, short x);
+int gsl_vector_short_set_basis (gsl_vector_short * v, size_t i);
+
+int gsl_vector_short_fread (FILE * stream, gsl_vector_short * v);
+int gsl_vector_short_fwrite (FILE * stream, const gsl_vector_short * v);
+int gsl_vector_short_fscanf (FILE * stream, gsl_vector_short * v);
+int gsl_vector_short_fprintf (FILE * stream, const gsl_vector_short * v,
+ const char *format);
+
+int gsl_vector_short_memcpy (gsl_vector_short * dest, const gsl_vector_short * src);
+
+int gsl_vector_short_reverse (gsl_vector_short * v);
+
+int gsl_vector_short_swap (gsl_vector_short * v, gsl_vector_short * w);
+int gsl_vector_short_swap_elements (gsl_vector_short * v, const size_t i, const size_t j);
+
+short gsl_vector_short_max (const gsl_vector_short * v);
+short gsl_vector_short_min (const gsl_vector_short * v);
+void gsl_vector_short_minmax (const gsl_vector_short * v, short * min_out, short * max_out);
+
+size_t gsl_vector_short_max_index (const gsl_vector_short * v);
+size_t gsl_vector_short_min_index (const gsl_vector_short * v);
+void gsl_vector_short_minmax_index (const gsl_vector_short * v, size_t * imin, size_t * imax);
+
+int gsl_vector_short_add (gsl_vector_short * a, const gsl_vector_short * b);
+int gsl_vector_short_sub (gsl_vector_short * a, const gsl_vector_short * b);
+int gsl_vector_short_mul (gsl_vector_short * a, const gsl_vector_short * b);
+int gsl_vector_short_div (gsl_vector_short * a, const gsl_vector_short * b);
+int gsl_vector_short_scale (gsl_vector_short * a, const double x);
+int gsl_vector_short_add_constant (gsl_vector_short * a, const double x);
+
+int gsl_vector_short_equal (const gsl_vector_short * u,
+ const gsl_vector_short * v);
+
+int gsl_vector_short_isnull (const gsl_vector_short * v);
+int gsl_vector_short_ispos (const gsl_vector_short * v);
+int gsl_vector_short_isneg (const gsl_vector_short * v);
+int gsl_vector_short_isnonneg (const gsl_vector_short * v);
+
+INLINE_DECL short gsl_vector_short_get (const gsl_vector_short * v, const size_t i);
+INLINE_DECL void gsl_vector_short_set (gsl_vector_short * v, const size_t i, short x);
+INLINE_DECL short * gsl_vector_short_ptr (gsl_vector_short * v, const size_t i);
+INLINE_DECL const short * gsl_vector_short_const_ptr (const gsl_vector_short * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+short
+gsl_vector_short_get (const gsl_vector_short * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return v->data[i * v->stride];
+}
+
+INLINE_FUN
+void
+gsl_vector_short_set (gsl_vector_short * v, const size_t i, short x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ v->data[i * v->stride] = x;
+}
+
+INLINE_FUN
+short *
+gsl_vector_short_ptr (gsl_vector_short * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (short *) (v->data + i * v->stride);
+}
+
+INLINE_FUN
+const short *
+gsl_vector_short_const_ptr (const gsl_vector_short * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (const short *) (v->data + i * v->stride);
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_SHORT_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_uchar.h b/thirdparty/includes/GSL/gsl/gsl_vector_uchar.h
new file mode 100644
index 0000000..b27096d
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_uchar.h
@@ -0,0 +1,230 @@
+/* vector/gsl_vector_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_VECTOR_UCHAR_H__
+#define __GSL_VECTOR_UCHAR_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_block_uchar.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ unsigned char *data;
+ gsl_block_uchar *block;
+ int owner;
+}
+gsl_vector_uchar;
+
+typedef struct
+{
+ gsl_vector_uchar vector;
+} _gsl_vector_uchar_view;
+
+typedef _gsl_vector_uchar_view gsl_vector_uchar_view;
+
+typedef struct
+{
+ gsl_vector_uchar vector;
+} _gsl_vector_uchar_const_view;
+
+typedef const _gsl_vector_uchar_const_view gsl_vector_uchar_const_view;
+
+
+/* Allocation */
+
+gsl_vector_uchar *gsl_vector_uchar_alloc (const size_t n);
+gsl_vector_uchar *gsl_vector_uchar_calloc (const size_t n);
+
+gsl_vector_uchar *gsl_vector_uchar_alloc_from_block (gsl_block_uchar * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_uchar *gsl_vector_uchar_alloc_from_vector (gsl_vector_uchar * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_uchar_free (gsl_vector_uchar * v);
+
+/* Views */
+
+_gsl_vector_uchar_view
+gsl_vector_uchar_view_array (unsigned char *v, size_t n);
+
+_gsl_vector_uchar_view
+gsl_vector_uchar_view_array_with_stride (unsigned char *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_uchar_const_view
+gsl_vector_uchar_const_view_array (const unsigned char *v, size_t n);
+
+_gsl_vector_uchar_const_view
+gsl_vector_uchar_const_view_array_with_stride (const unsigned char *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_uchar_view
+gsl_vector_uchar_subvector (gsl_vector_uchar *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_uchar_view
+gsl_vector_uchar_subvector_with_stride (gsl_vector_uchar *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_uchar_const_view
+gsl_vector_uchar_const_subvector (const gsl_vector_uchar *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_uchar_const_view
+gsl_vector_uchar_const_subvector_with_stride (const gsl_vector_uchar *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+/* Operations */
+
+void gsl_vector_uchar_set_zero (gsl_vector_uchar * v);
+void gsl_vector_uchar_set_all (gsl_vector_uchar * v, unsigned char x);
+int gsl_vector_uchar_set_basis (gsl_vector_uchar * v, size_t i);
+
+int gsl_vector_uchar_fread (FILE * stream, gsl_vector_uchar * v);
+int gsl_vector_uchar_fwrite (FILE * stream, const gsl_vector_uchar * v);
+int gsl_vector_uchar_fscanf (FILE * stream, gsl_vector_uchar * v);
+int gsl_vector_uchar_fprintf (FILE * stream, const gsl_vector_uchar * v,
+ const char *format);
+
+int gsl_vector_uchar_memcpy (gsl_vector_uchar * dest, const gsl_vector_uchar * src);
+
+int gsl_vector_uchar_reverse (gsl_vector_uchar * v);
+
+int gsl_vector_uchar_swap (gsl_vector_uchar * v, gsl_vector_uchar * w);
+int gsl_vector_uchar_swap_elements (gsl_vector_uchar * v, const size_t i, const size_t j);
+
+unsigned char gsl_vector_uchar_max (const gsl_vector_uchar * v);
+unsigned char gsl_vector_uchar_min (const gsl_vector_uchar * v);
+void gsl_vector_uchar_minmax (const gsl_vector_uchar * v, unsigned char * min_out, unsigned char * max_out);
+
+size_t gsl_vector_uchar_max_index (const gsl_vector_uchar * v);
+size_t gsl_vector_uchar_min_index (const gsl_vector_uchar * v);
+void gsl_vector_uchar_minmax_index (const gsl_vector_uchar * v, size_t * imin, size_t * imax);
+
+int gsl_vector_uchar_add (gsl_vector_uchar * a, const gsl_vector_uchar * b);
+int gsl_vector_uchar_sub (gsl_vector_uchar * a, const gsl_vector_uchar * b);
+int gsl_vector_uchar_mul (gsl_vector_uchar * a, const gsl_vector_uchar * b);
+int gsl_vector_uchar_div (gsl_vector_uchar * a, const gsl_vector_uchar * b);
+int gsl_vector_uchar_scale (gsl_vector_uchar * a, const double x);
+int gsl_vector_uchar_add_constant (gsl_vector_uchar * a, const double x);
+
+int gsl_vector_uchar_equal (const gsl_vector_uchar * u,
+ const gsl_vector_uchar * v);
+
+int gsl_vector_uchar_isnull (const gsl_vector_uchar * v);
+int gsl_vector_uchar_ispos (const gsl_vector_uchar * v);
+int gsl_vector_uchar_isneg (const gsl_vector_uchar * v);
+int gsl_vector_uchar_isnonneg (const gsl_vector_uchar * v);
+
+INLINE_DECL unsigned char gsl_vector_uchar_get (const gsl_vector_uchar * v, const size_t i);
+INLINE_DECL void gsl_vector_uchar_set (gsl_vector_uchar * v, const size_t i, unsigned char x);
+INLINE_DECL unsigned char * gsl_vector_uchar_ptr (gsl_vector_uchar * v, const size_t i);
+INLINE_DECL const unsigned char * gsl_vector_uchar_const_ptr (const gsl_vector_uchar * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+unsigned char
+gsl_vector_uchar_get (const gsl_vector_uchar * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return v->data[i * v->stride];
+}
+
+INLINE_FUN
+void
+gsl_vector_uchar_set (gsl_vector_uchar * v, const size_t i, unsigned char x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ v->data[i * v->stride] = x;
+}
+
+INLINE_FUN
+unsigned char *
+gsl_vector_uchar_ptr (gsl_vector_uchar * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (unsigned char *) (v->data + i * v->stride);
+}
+
+INLINE_FUN
+const unsigned char *
+gsl_vector_uchar_const_ptr (const gsl_vector_uchar * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (const unsigned char *) (v->data + i * v->stride);
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_UCHAR_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_uint.h b/thirdparty/includes/GSL/gsl/gsl_vector_uint.h
new file mode 100644
index 0000000..d2f6cb3
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_uint.h
@@ -0,0 +1,230 @@
+/* vector/gsl_vector_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_VECTOR_UINT_H__
+#define __GSL_VECTOR_UINT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_block_uint.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ unsigned int *data;
+ gsl_block_uint *block;
+ int owner;
+}
+gsl_vector_uint;
+
+typedef struct
+{
+ gsl_vector_uint vector;
+} _gsl_vector_uint_view;
+
+typedef _gsl_vector_uint_view gsl_vector_uint_view;
+
+typedef struct
+{
+ gsl_vector_uint vector;
+} _gsl_vector_uint_const_view;
+
+typedef const _gsl_vector_uint_const_view gsl_vector_uint_const_view;
+
+
+/* Allocation */
+
+gsl_vector_uint *gsl_vector_uint_alloc (const size_t n);
+gsl_vector_uint *gsl_vector_uint_calloc (const size_t n);
+
+gsl_vector_uint *gsl_vector_uint_alloc_from_block (gsl_block_uint * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_uint *gsl_vector_uint_alloc_from_vector (gsl_vector_uint * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_uint_free (gsl_vector_uint * v);
+
+/* Views */
+
+_gsl_vector_uint_view
+gsl_vector_uint_view_array (unsigned int *v, size_t n);
+
+_gsl_vector_uint_view
+gsl_vector_uint_view_array_with_stride (unsigned int *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_uint_const_view
+gsl_vector_uint_const_view_array (const unsigned int *v, size_t n);
+
+_gsl_vector_uint_const_view
+gsl_vector_uint_const_view_array_with_stride (const unsigned int *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_uint_view
+gsl_vector_uint_subvector (gsl_vector_uint *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_uint_view
+gsl_vector_uint_subvector_with_stride (gsl_vector_uint *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_uint_const_view
+gsl_vector_uint_const_subvector (const gsl_vector_uint *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_uint_const_view
+gsl_vector_uint_const_subvector_with_stride (const gsl_vector_uint *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+/* Operations */
+
+void gsl_vector_uint_set_zero (gsl_vector_uint * v);
+void gsl_vector_uint_set_all (gsl_vector_uint * v, unsigned int x);
+int gsl_vector_uint_set_basis (gsl_vector_uint * v, size_t i);
+
+int gsl_vector_uint_fread (FILE * stream, gsl_vector_uint * v);
+int gsl_vector_uint_fwrite (FILE * stream, const gsl_vector_uint * v);
+int gsl_vector_uint_fscanf (FILE * stream, gsl_vector_uint * v);
+int gsl_vector_uint_fprintf (FILE * stream, const gsl_vector_uint * v,
+ const char *format);
+
+int gsl_vector_uint_memcpy (gsl_vector_uint * dest, const gsl_vector_uint * src);
+
+int gsl_vector_uint_reverse (gsl_vector_uint * v);
+
+int gsl_vector_uint_swap (gsl_vector_uint * v, gsl_vector_uint * w);
+int gsl_vector_uint_swap_elements (gsl_vector_uint * v, const size_t i, const size_t j);
+
+unsigned int gsl_vector_uint_max (const gsl_vector_uint * v);
+unsigned int gsl_vector_uint_min (const gsl_vector_uint * v);
+void gsl_vector_uint_minmax (const gsl_vector_uint * v, unsigned int * min_out, unsigned int * max_out);
+
+size_t gsl_vector_uint_max_index (const gsl_vector_uint * v);
+size_t gsl_vector_uint_min_index (const gsl_vector_uint * v);
+void gsl_vector_uint_minmax_index (const gsl_vector_uint * v, size_t * imin, size_t * imax);
+
+int gsl_vector_uint_add (gsl_vector_uint * a, const gsl_vector_uint * b);
+int gsl_vector_uint_sub (gsl_vector_uint * a, const gsl_vector_uint * b);
+int gsl_vector_uint_mul (gsl_vector_uint * a, const gsl_vector_uint * b);
+int gsl_vector_uint_div (gsl_vector_uint * a, const gsl_vector_uint * b);
+int gsl_vector_uint_scale (gsl_vector_uint * a, const double x);
+int gsl_vector_uint_add_constant (gsl_vector_uint * a, const double x);
+
+int gsl_vector_uint_equal (const gsl_vector_uint * u,
+ const gsl_vector_uint * v);
+
+int gsl_vector_uint_isnull (const gsl_vector_uint * v);
+int gsl_vector_uint_ispos (const gsl_vector_uint * v);
+int gsl_vector_uint_isneg (const gsl_vector_uint * v);
+int gsl_vector_uint_isnonneg (const gsl_vector_uint * v);
+
+INLINE_DECL unsigned int gsl_vector_uint_get (const gsl_vector_uint * v, const size_t i);
+INLINE_DECL void gsl_vector_uint_set (gsl_vector_uint * v, const size_t i, unsigned int x);
+INLINE_DECL unsigned int * gsl_vector_uint_ptr (gsl_vector_uint * v, const size_t i);
+INLINE_DECL const unsigned int * gsl_vector_uint_const_ptr (const gsl_vector_uint * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+unsigned int
+gsl_vector_uint_get (const gsl_vector_uint * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return v->data[i * v->stride];
+}
+
+INLINE_FUN
+void
+gsl_vector_uint_set (gsl_vector_uint * v, const size_t i, unsigned int x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ v->data[i * v->stride] = x;
+}
+
+INLINE_FUN
+unsigned int *
+gsl_vector_uint_ptr (gsl_vector_uint * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (unsigned int *) (v->data + i * v->stride);
+}
+
+INLINE_FUN
+const unsigned int *
+gsl_vector_uint_const_ptr (const gsl_vector_uint * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (const unsigned int *) (v->data + i * v->stride);
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_UINT_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_ulong.h b/thirdparty/includes/GSL/gsl/gsl_vector_ulong.h
new file mode 100644
index 0000000..01bf242
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_ulong.h
@@ -0,0 +1,230 @@
+/* vector/gsl_vector_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_VECTOR_ULONG_H__
+#define __GSL_VECTOR_ULONG_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_block_ulong.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ unsigned long *data;
+ gsl_block_ulong *block;
+ int owner;
+}
+gsl_vector_ulong;
+
+typedef struct
+{
+ gsl_vector_ulong vector;
+} _gsl_vector_ulong_view;
+
+typedef _gsl_vector_ulong_view gsl_vector_ulong_view;
+
+typedef struct
+{
+ gsl_vector_ulong vector;
+} _gsl_vector_ulong_const_view;
+
+typedef const _gsl_vector_ulong_const_view gsl_vector_ulong_const_view;
+
+
+/* Allocation */
+
+gsl_vector_ulong *gsl_vector_ulong_alloc (const size_t n);
+gsl_vector_ulong *gsl_vector_ulong_calloc (const size_t n);
+
+gsl_vector_ulong *gsl_vector_ulong_alloc_from_block (gsl_block_ulong * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_ulong *gsl_vector_ulong_alloc_from_vector (gsl_vector_ulong * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_ulong_free (gsl_vector_ulong * v);
+
+/* Views */
+
+_gsl_vector_ulong_view
+gsl_vector_ulong_view_array (unsigned long *v, size_t n);
+
+_gsl_vector_ulong_view
+gsl_vector_ulong_view_array_with_stride (unsigned long *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_ulong_const_view
+gsl_vector_ulong_const_view_array (const unsigned long *v, size_t n);
+
+_gsl_vector_ulong_const_view
+gsl_vector_ulong_const_view_array_with_stride (const unsigned long *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_ulong_view
+gsl_vector_ulong_subvector (gsl_vector_ulong *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_ulong_view
+gsl_vector_ulong_subvector_with_stride (gsl_vector_ulong *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_ulong_const_view
+gsl_vector_ulong_const_subvector (const gsl_vector_ulong *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_ulong_const_view
+gsl_vector_ulong_const_subvector_with_stride (const gsl_vector_ulong *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+/* Operations */
+
+void gsl_vector_ulong_set_zero (gsl_vector_ulong * v);
+void gsl_vector_ulong_set_all (gsl_vector_ulong * v, unsigned long x);
+int gsl_vector_ulong_set_basis (gsl_vector_ulong * v, size_t i);
+
+int gsl_vector_ulong_fread (FILE * stream, gsl_vector_ulong * v);
+int gsl_vector_ulong_fwrite (FILE * stream, const gsl_vector_ulong * v);
+int gsl_vector_ulong_fscanf (FILE * stream, gsl_vector_ulong * v);
+int gsl_vector_ulong_fprintf (FILE * stream, const gsl_vector_ulong * v,
+ const char *format);
+
+int gsl_vector_ulong_memcpy (gsl_vector_ulong * dest, const gsl_vector_ulong * src);
+
+int gsl_vector_ulong_reverse (gsl_vector_ulong * v);
+
+int gsl_vector_ulong_swap (gsl_vector_ulong * v, gsl_vector_ulong * w);
+int gsl_vector_ulong_swap_elements (gsl_vector_ulong * v, const size_t i, const size_t j);
+
+unsigned long gsl_vector_ulong_max (const gsl_vector_ulong * v);
+unsigned long gsl_vector_ulong_min (const gsl_vector_ulong * v);
+void gsl_vector_ulong_minmax (const gsl_vector_ulong * v, unsigned long * min_out, unsigned long * max_out);
+
+size_t gsl_vector_ulong_max_index (const gsl_vector_ulong * v);
+size_t gsl_vector_ulong_min_index (const gsl_vector_ulong * v);
+void gsl_vector_ulong_minmax_index (const gsl_vector_ulong * v, size_t * imin, size_t * imax);
+
+int gsl_vector_ulong_add (gsl_vector_ulong * a, const gsl_vector_ulong * b);
+int gsl_vector_ulong_sub (gsl_vector_ulong * a, const gsl_vector_ulong * b);
+int gsl_vector_ulong_mul (gsl_vector_ulong * a, const gsl_vector_ulong * b);
+int gsl_vector_ulong_div (gsl_vector_ulong * a, const gsl_vector_ulong * b);
+int gsl_vector_ulong_scale (gsl_vector_ulong * a, const double x);
+int gsl_vector_ulong_add_constant (gsl_vector_ulong * a, const double x);
+
+int gsl_vector_ulong_equal (const gsl_vector_ulong * u,
+ const gsl_vector_ulong * v);
+
+int gsl_vector_ulong_isnull (const gsl_vector_ulong * v);
+int gsl_vector_ulong_ispos (const gsl_vector_ulong * v);
+int gsl_vector_ulong_isneg (const gsl_vector_ulong * v);
+int gsl_vector_ulong_isnonneg (const gsl_vector_ulong * v);
+
+INLINE_DECL unsigned long gsl_vector_ulong_get (const gsl_vector_ulong * v, const size_t i);
+INLINE_DECL void gsl_vector_ulong_set (gsl_vector_ulong * v, const size_t i, unsigned long x);
+INLINE_DECL unsigned long * gsl_vector_ulong_ptr (gsl_vector_ulong * v, const size_t i);
+INLINE_DECL const unsigned long * gsl_vector_ulong_const_ptr (const gsl_vector_ulong * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+unsigned long
+gsl_vector_ulong_get (const gsl_vector_ulong * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return v->data[i * v->stride];
+}
+
+INLINE_FUN
+void
+gsl_vector_ulong_set (gsl_vector_ulong * v, const size_t i, unsigned long x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ v->data[i * v->stride] = x;
+}
+
+INLINE_FUN
+unsigned long *
+gsl_vector_ulong_ptr (gsl_vector_ulong * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (unsigned long *) (v->data + i * v->stride);
+}
+
+INLINE_FUN
+const unsigned long *
+gsl_vector_ulong_const_ptr (const gsl_vector_ulong * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (const unsigned long *) (v->data + i * v->stride);
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_ULONG_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_vector_ushort.h b/thirdparty/includes/GSL/gsl/gsl_vector_ushort.h
new file mode 100644
index 0000000..7b7e664
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_vector_ushort.h
@@ -0,0 +1,230 @@
+/* vector/gsl_vector_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_VECTOR_USHORT_H__
+#define __GSL_VECTOR_USHORT_H__
+
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_inline.h>
+#include <gsl/gsl_check_range.h>
+#include <gsl/gsl_block_ushort.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
+
+typedef struct
+{
+ size_t size;
+ size_t stride;
+ unsigned short *data;
+ gsl_block_ushort *block;
+ int owner;
+}
+gsl_vector_ushort;
+
+typedef struct
+{
+ gsl_vector_ushort vector;
+} _gsl_vector_ushort_view;
+
+typedef _gsl_vector_ushort_view gsl_vector_ushort_view;
+
+typedef struct
+{
+ gsl_vector_ushort vector;
+} _gsl_vector_ushort_const_view;
+
+typedef const _gsl_vector_ushort_const_view gsl_vector_ushort_const_view;
+
+
+/* Allocation */
+
+gsl_vector_ushort *gsl_vector_ushort_alloc (const size_t n);
+gsl_vector_ushort *gsl_vector_ushort_calloc (const size_t n);
+
+gsl_vector_ushort *gsl_vector_ushort_alloc_from_block (gsl_block_ushort * b,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+gsl_vector_ushort *gsl_vector_ushort_alloc_from_vector (gsl_vector_ushort * v,
+ const size_t offset,
+ const size_t n,
+ const size_t stride);
+
+void gsl_vector_ushort_free (gsl_vector_ushort * v);
+
+/* Views */
+
+_gsl_vector_ushort_view
+gsl_vector_ushort_view_array (unsigned short *v, size_t n);
+
+_gsl_vector_ushort_view
+gsl_vector_ushort_view_array_with_stride (unsigned short *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_ushort_const_view
+gsl_vector_ushort_const_view_array (const unsigned short *v, size_t n);
+
+_gsl_vector_ushort_const_view
+gsl_vector_ushort_const_view_array_with_stride (const unsigned short *base,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_ushort_view
+gsl_vector_ushort_subvector (gsl_vector_ushort *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_ushort_view
+gsl_vector_ushort_subvector_with_stride (gsl_vector_ushort *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+_gsl_vector_ushort_const_view
+gsl_vector_ushort_const_subvector (const gsl_vector_ushort *v,
+ size_t i,
+ size_t n);
+
+_gsl_vector_ushort_const_view
+gsl_vector_ushort_const_subvector_with_stride (const gsl_vector_ushort *v,
+ size_t i,
+ size_t stride,
+ size_t n);
+
+/* Operations */
+
+void gsl_vector_ushort_set_zero (gsl_vector_ushort * v);
+void gsl_vector_ushort_set_all (gsl_vector_ushort * v, unsigned short x);
+int gsl_vector_ushort_set_basis (gsl_vector_ushort * v, size_t i);
+
+int gsl_vector_ushort_fread (FILE * stream, gsl_vector_ushort * v);
+int gsl_vector_ushort_fwrite (FILE * stream, const gsl_vector_ushort * v);
+int gsl_vector_ushort_fscanf (FILE * stream, gsl_vector_ushort * v);
+int gsl_vector_ushort_fprintf (FILE * stream, const gsl_vector_ushort * v,
+ const char *format);
+
+int gsl_vector_ushort_memcpy (gsl_vector_ushort * dest, const gsl_vector_ushort * src);
+
+int gsl_vector_ushort_reverse (gsl_vector_ushort * v);
+
+int gsl_vector_ushort_swap (gsl_vector_ushort * v, gsl_vector_ushort * w);
+int gsl_vector_ushort_swap_elements (gsl_vector_ushort * v, const size_t i, const size_t j);
+
+unsigned short gsl_vector_ushort_max (const gsl_vector_ushort * v);
+unsigned short gsl_vector_ushort_min (const gsl_vector_ushort * v);
+void gsl_vector_ushort_minmax (const gsl_vector_ushort * v, unsigned short * min_out, unsigned short * max_out);
+
+size_t gsl_vector_ushort_max_index (const gsl_vector_ushort * v);
+size_t gsl_vector_ushort_min_index (const gsl_vector_ushort * v);
+void gsl_vector_ushort_minmax_index (const gsl_vector_ushort * v, size_t * imin, size_t * imax);
+
+int gsl_vector_ushort_add (gsl_vector_ushort * a, const gsl_vector_ushort * b);
+int gsl_vector_ushort_sub (gsl_vector_ushort * a, const gsl_vector_ushort * b);
+int gsl_vector_ushort_mul (gsl_vector_ushort * a, const gsl_vector_ushort * b);
+int gsl_vector_ushort_div (gsl_vector_ushort * a, const gsl_vector_ushort * b);
+int gsl_vector_ushort_scale (gsl_vector_ushort * a, const double x);
+int gsl_vector_ushort_add_constant (gsl_vector_ushort * a, const double x);
+
+int gsl_vector_ushort_equal (const gsl_vector_ushort * u,
+ const gsl_vector_ushort * v);
+
+int gsl_vector_ushort_isnull (const gsl_vector_ushort * v);
+int gsl_vector_ushort_ispos (const gsl_vector_ushort * v);
+int gsl_vector_ushort_isneg (const gsl_vector_ushort * v);
+int gsl_vector_ushort_isnonneg (const gsl_vector_ushort * v);
+
+INLINE_DECL unsigned short gsl_vector_ushort_get (const gsl_vector_ushort * v, const size_t i);
+INLINE_DECL void gsl_vector_ushort_set (gsl_vector_ushort * v, const size_t i, unsigned short x);
+INLINE_DECL unsigned short * gsl_vector_ushort_ptr (gsl_vector_ushort * v, const size_t i);
+INLINE_DECL const unsigned short * gsl_vector_ushort_const_ptr (const gsl_vector_ushort * v, const size_t i);
+
+#ifdef HAVE_INLINE
+
+INLINE_FUN
+unsigned short
+gsl_vector_ushort_get (const gsl_vector_ushort * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VAL ("index out of range", GSL_EINVAL, 0);
+ }
+#endif
+ return v->data[i * v->stride];
+}
+
+INLINE_FUN
+void
+gsl_vector_ushort_set (gsl_vector_ushort * v, const size_t i, unsigned short x)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_VOID ("index out of range", GSL_EINVAL);
+ }
+#endif
+ v->data[i * v->stride] = x;
+}
+
+INLINE_FUN
+unsigned short *
+gsl_vector_ushort_ptr (gsl_vector_ushort * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (unsigned short *) (v->data + i * v->stride);
+}
+
+INLINE_FUN
+const unsigned short *
+gsl_vector_ushort_const_ptr (const gsl_vector_ushort * v, const size_t i)
+{
+#if GSL_RANGE_CHECK
+ if (GSL_RANGE_COND(i >= v->size))
+ {
+ GSL_ERROR_NULL ("index out of range", GSL_EINVAL);
+ }
+#endif
+ return (const unsigned short *) (v->data + i * v->stride);
+}
+#endif /* HAVE_INLINE */
+
+__END_DECLS
+
+#endif /* __GSL_VECTOR_USHORT_H__ */
+
+
diff --git a/thirdparty/includes/GSL/gsl/gsl_version.h b/thirdparty/includes/GSL/gsl/gsl_version.h
new file mode 100644
index 0000000..6fd5ede
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_version.h
@@ -0,0 +1,26 @@
+#ifndef __GSL_VERSION_H__
+#define __GSL_VERSION_H__
+
+#include <gsl/gsl_types.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
+
+
+#define GSL_VERSION "2.1"
+#define GSL_MAJOR_VERSION 2
+#define GSL_MINOR_VERSION 1
+
+GSL_VAR const char * gsl_version;
+
+__END_DECLS
+
+#endif /* __GSL_VERSION_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_wavelet.h b/thirdparty/includes/GSL/gsl/gsl_wavelet.h
new file mode 100644
index 0000000..5e1ec2b
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_wavelet.h
@@ -0,0 +1,100 @@
+/* wavelet/gsl_wavelet.h
+ *
+ * Copyright (C) 2004 Ivo Alxneit
+ *
+ * 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_WAVELET_H__
+#define __GSL_WAVELET_H__
+#include <stdlib.h>
+#include <gsl/gsl_types.h>
+#include <gsl/gsl_errno.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
+
+typedef enum {
+ gsl_wavelet_forward = 1, gsl_wavelet_backward = -1
+}
+gsl_wavelet_direction;
+
+typedef struct
+{
+ const char *name;
+ int (*init) (const double **h1, const double **g1,
+ const double **h2, const double **g2, size_t * nc,
+ size_t * offset, size_t member);
+}
+gsl_wavelet_type;
+
+typedef struct
+{
+ const gsl_wavelet_type *type;
+ const double *h1;
+ const double *g1;
+ const double *h2;
+ const double *g2;
+ size_t nc;
+ size_t offset;
+}
+gsl_wavelet;
+
+typedef struct
+{
+ double *scratch;
+ size_t n;
+}
+gsl_wavelet_workspace;
+
+GSL_VAR const gsl_wavelet_type *gsl_wavelet_daubechies;
+GSL_VAR const gsl_wavelet_type *gsl_wavelet_daubechies_centered;
+GSL_VAR const gsl_wavelet_type *gsl_wavelet_haar;
+GSL_VAR const gsl_wavelet_type *gsl_wavelet_haar_centered;
+GSL_VAR const gsl_wavelet_type *gsl_wavelet_bspline;
+GSL_VAR const gsl_wavelet_type *gsl_wavelet_bspline_centered;
+
+gsl_wavelet *gsl_wavelet_alloc (const gsl_wavelet_type * T, size_t k);
+void gsl_wavelet_free (gsl_wavelet * w);
+const char *gsl_wavelet_name (const gsl_wavelet * w);
+
+gsl_wavelet_workspace *gsl_wavelet_workspace_alloc (size_t n);
+void gsl_wavelet_workspace_free (gsl_wavelet_workspace * work);
+
+int gsl_wavelet_transform (const gsl_wavelet * w,
+ double *data, size_t stride, size_t n,
+ gsl_wavelet_direction dir,
+ gsl_wavelet_workspace * work);
+
+int gsl_wavelet_transform_forward (const gsl_wavelet * w,
+ double *data, size_t stride, size_t n,
+ gsl_wavelet_workspace * work);
+
+int gsl_wavelet_transform_inverse (const gsl_wavelet * w,
+ double *data, size_t stride, size_t n,
+ gsl_wavelet_workspace * work);
+
+__END_DECLS
+
+#endif /* __GSL_WAVELET_H__ */
diff --git a/thirdparty/includes/GSL/gsl/gsl_wavelet2d.h b/thirdparty/includes/GSL/gsl/gsl_wavelet2d.h
new file mode 100644
index 0000000..173f43e
--- /dev/null
+++ b/thirdparty/includes/GSL/gsl/gsl_wavelet2d.h
@@ -0,0 +1,107 @@
+/* wavelet/gsl_wavelet.h
+ *
+ * Copyright (C) 2004 Ivo Alxneit
+ *
+ * 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_WAVELET2D_H__
+#define __GSL_WAVELET2D_H__
+#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_vector_double.h>
+#include <gsl/gsl_matrix_double.h>
+#include <gsl/gsl_wavelet.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
+
+int gsl_wavelet2d_transform (const gsl_wavelet * w,
+ double *data,
+ size_t tda, size_t size1, size_t size2,
+ gsl_wavelet_direction dir,
+ gsl_wavelet_workspace * work);
+
+int gsl_wavelet2d_transform_forward (const gsl_wavelet * w,
+ double *data,
+ size_t tda, size_t size1, size_t size2,
+ gsl_wavelet_workspace * work);
+
+int gsl_wavelet2d_transform_inverse (const gsl_wavelet * w,
+ double *data,
+ size_t tda, size_t size1, size_t size2,
+ gsl_wavelet_workspace * work);
+
+int gsl_wavelet2d_nstransform (const gsl_wavelet * w,
+ double *data,
+ size_t tda, size_t size1, size_t size2,
+ gsl_wavelet_direction dir,
+ gsl_wavelet_workspace * work);
+
+int gsl_wavelet2d_nstransform_forward (const gsl_wavelet * w,
+ double *data,
+ size_t tda, size_t size1, size_t size2,
+ gsl_wavelet_workspace * work);
+
+int gsl_wavelet2d_nstransform_inverse (const gsl_wavelet * w,
+ double *data,
+ size_t tda, size_t size1, size_t size2,
+ gsl_wavelet_workspace * work);
+
+int
+gsl_wavelet2d_transform_matrix (const gsl_wavelet * w,
+ gsl_matrix * a,
+ gsl_wavelet_direction dir,
+ gsl_wavelet_workspace * work);
+
+int
+gsl_wavelet2d_transform_matrix_forward (const gsl_wavelet * w,
+ gsl_matrix * a,
+ gsl_wavelet_workspace * work);
+
+int
+gsl_wavelet2d_transform_matrix_inverse (const gsl_wavelet * w,
+ gsl_matrix * a,
+ gsl_wavelet_workspace * work);
+
+
+int
+gsl_wavelet2d_nstransform_matrix (const gsl_wavelet * w,
+ gsl_matrix * a,
+ gsl_wavelet_direction dir,
+ gsl_wavelet_workspace * work);
+
+int
+gsl_wavelet2d_nstransform_matrix_forward (const gsl_wavelet * w,
+ gsl_matrix * a,
+ gsl_wavelet_workspace * work);
+
+int
+gsl_wavelet2d_nstransform_matrix_inverse (const gsl_wavelet * w,
+ gsl_matrix * a,
+ gsl_wavelet_workspace * work);
+
+__END_DECLS
+
+#endif /* __GSL_WAVELET2D_H__ */
diff --git a/thirdparty/includes/WiringPi/gertboard.h b/thirdparty/includes/WiringPi/gertboard.h
new file mode 100644
index 0000000..3fa1919
--- /dev/null
+++ b/thirdparty/includes/WiringPi/gertboard.h
@@ -0,0 +1,45 @@
+/*
+ * gertboard.h:
+ * Access routines for the SPI devices on the Gertboard
+ * Copyright (c) 2012 Gordon Henderson
+ *
+ * The Gertboard has an MCP4802 dual-channel D to A convertor
+ * connected to the SPI bus, selected via chip-select B.
+ *
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// Old routines
+
+extern void gertboardAnalogWrite (const int chan, const int value) ;
+extern int gertboardAnalogRead (const int chan) ;
+extern int gertboardSPISetup (void) ;
+
+// New
+
+extern int gertboardAnalogSetup (const int pinBase) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/lcd.h b/thirdparty/includes/WiringPi/lcd.h
new file mode 100644
index 0000000..0a0e598
--- /dev/null
+++ b/thirdparty/includes/WiringPi/lcd.h
@@ -0,0 +1,52 @@
+/*
+ * lcd.h:
+ * Text-based LCD driver.
+ * This is designed to drive the parallel interface LCD drivers
+ * based in the Hitachi HD44780U controller and compatables.
+ *
+ * Copyright (c) 2012 Gordon Henderson.
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#define MAX_LCDS 8
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void lcdHome (const int fd) ;
+extern void lcdClear (const int fd) ;
+extern void lcdDisplay (const int fd, int state) ;
+extern void lcdCursor (const int fd, int state) ;
+extern void lcdCursorBlink (const int fd, int state) ;
+extern void lcdSendCommand (const int fd, unsigned char command) ;
+extern void lcdPosition (const int fd, int x, int y) ;
+extern void lcdCharDef (const int fd, int index, unsigned char data [8]) ;
+extern void lcdPutchar (const int fd, unsigned char data) ;
+extern void lcdPuts (const int fd, const char *string) ;
+extern void lcdPrintf (const int fd, const char *message, ...) ;
+
+extern int lcdInit (const int rows, const int cols, const int bits,
+ const int rs, const int strb,
+ const int d0, const int d1, const int d2, const int d3, const int d4,
+ const int d5, const int d6, const int d7) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/mcp23008.h b/thirdparty/includes/WiringPi/mcp23008.h
new file mode 100644
index 0000000..e9299a8
--- /dev/null
+++ b/thirdparty/includes/WiringPi/mcp23008.h
@@ -0,0 +1,33 @@
+/*
+ * 23008.h:
+ * Extend wiringPi with the MCP 23008 I2C GPIO expander chip
+ * Copyright (c) 2013 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int mcp23008Setup (const int pinBase, const int i2cAddress) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/mcp23016.h b/thirdparty/includes/WiringPi/mcp23016.h
new file mode 100644
index 0000000..f9b5cc5
--- /dev/null
+++ b/thirdparty/includes/WiringPi/mcp23016.h
@@ -0,0 +1,33 @@
+/*
+ * mcp23016.h:
+ * Extend wiringPi with the MCP 23016 I2C GPIO expander chip
+ * Copyright (c) 2013 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int mcp23016Setup (const int pinBase, const int i2cAddress) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/mcp23017.h b/thirdparty/includes/WiringPi/mcp23017.h
new file mode 100644
index 0000000..79b4d7b
--- /dev/null
+++ b/thirdparty/includes/WiringPi/mcp23017.h
@@ -0,0 +1,33 @@
+/*
+ * 23017.h:
+ * Extend wiringPi with the MCP 23017 I2C GPIO expander chip
+ * Copyright (c) 2013 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int mcp23017Setup (const int pinBase, const int i2cAddress) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/mcp23s08.h b/thirdparty/includes/WiringPi/mcp23s08.h
new file mode 100644
index 0000000..ebf93d1
--- /dev/null
+++ b/thirdparty/includes/WiringPi/mcp23s08.h
@@ -0,0 +1,33 @@
+/*
+ * 23s08.h:
+ * Extend wiringPi with the MCP 23s08 SPI GPIO expander chip
+ * Copyright (c) 2013 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int mcp23s08Setup (const int pinBase, const int spiPort, const int devId) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/mcp23s17.h b/thirdparty/includes/WiringPi/mcp23s17.h
new file mode 100644
index 0000000..3b2a808
--- /dev/null
+++ b/thirdparty/includes/WiringPi/mcp23s17.h
@@ -0,0 +1,33 @@
+/*
+ * 23s17.h:
+ * Extend wiringPi with the MCP 23s17 SPI GPIO expander chip
+ * Copyright (c) 2013 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int mcp23s17Setup (int pinBase, int spiPort, int devId) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/pcf8574.h b/thirdparty/includes/WiringPi/pcf8574.h
new file mode 100644
index 0000000..8e2d818
--- /dev/null
+++ b/thirdparty/includes/WiringPi/pcf8574.h
@@ -0,0 +1,33 @@
+/*
+ * pcf8574.h:
+ * Extend wiringPi with the PCF8574 I2C GPIO expander chip
+ * Copyright (c) 2013 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int pcf8574Setup (const int pinBase, const int i2cAddress) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/pcf8591.h b/thirdparty/includes/WiringPi/pcf8591.h
new file mode 100644
index 0000000..6b44ccf
--- /dev/null
+++ b/thirdparty/includes/WiringPi/pcf8591.h
@@ -0,0 +1,33 @@
+/*
+ * pcf8591.h:
+ * Extend wiringPi with the PCF8591 I2C GPIO Analog expander chip
+ * Copyright (c) 2013 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int pcf8591Setup (const int pinBase, const int i2cAddress) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/piGlow.h b/thirdparty/includes/WiringPi/piGlow.h
new file mode 100644
index 0000000..500ad92
--- /dev/null
+++ b/thirdparty/includes/WiringPi/piGlow.h
@@ -0,0 +1,45 @@
+/*
+ * piglow.h:
+ * Easy access to the Pimoroni PiGlow board.
+ *
+ * Copyright (c) 2013 Gordon Henderson.
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+
+#define PIGLOW_RED 0
+#define PIGLOW_ORANGE 1
+#define PIGLOW_YELLOW 2
+#define PIGLOW_GREEN 3
+#define PIGLOW_BLUE 4
+#define PIGLOW_WHITE 5
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void piGlow1 (const int leg, const int ring, const int intensity) ;
+extern void piGlowLeg (const int leg, const int intensity) ;
+extern void piGlowRing (const int ring, const int intensity) ;
+extern void piGlowSetup (int clear) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/sn3218.h b/thirdparty/includes/WiringPi/sn3218.h
new file mode 100644
index 0000000..580d5f9
--- /dev/null
+++ b/thirdparty/includes/WiringPi/sn3218.h
@@ -0,0 +1,33 @@
+/*
+ * sn3218.c:
+ * Extend wiringPi with the SN3218 I2C LED driver board.
+ * Copyright (c) 2012-2013 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int sn3218Setup (int pinBase) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/softPwm.h b/thirdparty/includes/WiringPi/softPwm.h
new file mode 100644
index 0000000..0351da5
--- /dev/null
+++ b/thirdparty/includes/WiringPi/softPwm.h
@@ -0,0 +1,35 @@
+/*
+ * softPwm.h:
+ * Provide 2 channels of software driven PWM.
+ * Copyright (c) 2012 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int softPwmCreate (int pin, int value, int range) ;
+extern void softPwmWrite (int pin, int value) ;
+extern void softPwmStop (int pin) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/softTone.h b/thirdparty/includes/WiringPi/softTone.h
new file mode 100644
index 0000000..a93c5af
--- /dev/null
+++ b/thirdparty/includes/WiringPi/softTone.h
@@ -0,0 +1,39 @@
+/*
+ * softTone.c:
+ * For that authentic retro sound...
+ * Er... A little experiment to produce tones out of a Pi using
+ * one (or 2) GPIO pins and a piezeo "speaker" element.
+ * (Or a high impedance speaker, but don'y blame me if you blow-up
+ * the GPIO pins!)
+ * Copyright (c) 2012 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int softToneCreate (int pin) ;
+extern void softToneStop (int pin) ;
+extern void softToneWrite (int pin, int freq) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/sr595.h b/thirdparty/includes/WiringPi/sr595.h
new file mode 100644
index 0000000..4a26dc7
--- /dev/null
+++ b/thirdparty/includes/WiringPi/sr595.h
@@ -0,0 +1,34 @@
+/*
+ * sr595.h:
+ * Extend wiringPi with the 74x595 shift registers.
+ * Copyright (c) 2013 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int sr595Setup (const int pinBase, const int numPins,
+ const int dataPin, const int clockPin, const int latchPin) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/wiringPiI2C.h b/thirdparty/includes/WiringPi/wiringPiI2C.h
new file mode 100644
index 0000000..6db8c68
--- /dev/null
+++ b/thirdparty/includes/WiringPi/wiringPiI2C.h
@@ -0,0 +1,42 @@
+/*
+ * wiringPiI2C.h:
+ * Simplified I2C access routines
+ * Copyright (c) 2013 Gordon Henderson
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with wiringPi.
+ * If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int wiringPiI2CRead (int fd) ;
+extern int wiringPiI2CReadReg8 (int fd, int reg) ;
+extern int wiringPiI2CReadReg16 (int fd, int reg) ;
+
+extern int wiringPiI2CWrite (int fd, int data) ;
+extern int wiringPiI2CWriteReg8 (int fd, int reg, int data) ;
+extern int wiringPiI2CWriteReg16 (int fd, int reg, int data) ;
+
+extern int wiringPiI2CSetupInterface (const char *device, int devId) ;
+extern int wiringPiI2CSetup (const int devId) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/includes/WiringPi/wiringShift.h b/thirdparty/includes/WiringPi/wiringShift.h
new file mode 100644
index 0000000..419ade4
--- /dev/null
+++ b/thirdparty/includes/WiringPi/wiringShift.h
@@ -0,0 +1,41 @@
+/*
+ * wiringShift.h:
+ * Emulate some of the Arduino wiring functionality.
+ *
+ * Copyright (c) 2009-2012 Gordon Henderson.
+ ***********************************************************************
+ * This file is part of wiringPi:
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
+ *
+ * wiringPi is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * wiringPi 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 Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
+ ***********************************************************************
+ */
+
+#define LSBFIRST 0
+#define MSBFIRST 1
+
+#ifndef _STDINT_H
+# include <stdint.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern uint8_t shiftIn (uint8_t dPin, uint8_t cPin, uint8_t order) ;
+extern void shiftOut (uint8_t dPin, uint8_t cPin, uint8_t order, uint8_t val) ;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/thirdparty/lib/raspberrypi/libcblas.a b/thirdparty/lib/raspberrypi/libcblas.a
index 7a460be..719376d 100644
--- a/thirdparty/lib/raspberrypi/libcblas.a
+++ b/thirdparty/lib/raspberrypi/libcblas.a
Binary files differ
diff --git a/thirdparty/lib/raspberrypi/liblapack.a b/thirdparty/lib/raspberrypi/liblapack.a
index 726f2b9..9af700f 100644
--- a/thirdparty/lib/raspberrypi/liblapack.a
+++ b/thirdparty/lib/raspberrypi/liblapack.a
Binary files differ
diff --git a/thirdparty/lib/raspberrypi/librefblas.a b/thirdparty/lib/raspberrypi/librefblas.a
index 300a0db..0307f90 100644
--- a/thirdparty/lib/raspberrypi/librefblas.a
+++ b/thirdparty/lib/raspberrypi/librefblas.a
Binary files differ
diff --git a/thirdparty/lib/raspberrypi/libwiringPi.a b/thirdparty/lib/raspberrypi/libwiringPi.a
new file mode 100644
index 0000000..c83d3b5
--- /dev/null
+++ b/thirdparty/lib/raspberrypi/libwiringPi.a
Binary files differ
diff --git a/thirdparty/lib/raspberrypi/libwiringPiDev.a b/thirdparty/lib/raspberrypi/libwiringPiDev.a
new file mode 100644
index 0000000..7b4db14
--- /dev/null
+++ b/thirdparty/lib/raspberrypi/libwiringPiDev.a
Binary files differ
diff --git a/thirdparty/lib/raspberrypi/libwiringPiDev.so b/thirdparty/lib/raspberrypi/libwiringPiDev.so
new file mode 100644
index 0000000..b52f791
--- /dev/null
+++ b/thirdparty/lib/raspberrypi/libwiringPiDev.so
Binary files differ