Update repo

This commit is contained in:
2026-08-30 23:04:35 -07:00
parent 749dab5721
commit ce65a0f59a
14950 changed files with 4408250 additions and 1 deletions
@@ -0,0 +1,42 @@
<projectSpec>
<project
name="dsp_fpu_fft_fpu64_f2838x"
device="TMS320F28388D"
cgtVersion="22.6.1.LTS"
products="sysconfig;C2000WARE"
outputFormat="ELF"
launchWizard="False"
linkerCommandFile=""
enableSysConfigTool="true"
sysConfigBuildOptions="--product ${C2000WARE_ROOT}/.metadata/sdk.json --device F2838x --package 337bga --part F2838x_337bga"
postBuildStep="
echo &quot;========= Build of the CLB simulation has moved to the CLB Tool. Click the '?' icon by the _Generate CLB Simulation File_ enable for more details (located in the Global Parameters of the Tile Design SysConfig module) =============&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/dot_file_libraries/clbDotUtility.js&quot; &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/&quot; &quot;${BuildDirectory}/syscfg&quot; &quot;${BuildDirectory}/syscfg/clb.dot&quot;
;if ${GENERATE_DIAGRAM} == 1 mkdir &quot;${BuildDirectory}/diagrams&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/driverlib/.meta/generate_diagrams.js&quot; &quot;${C2000WARE_ROOT}&quot; &quot;${BuildDirectory}/diagrams&quot; &quot;${BuildDirectory}/syscfg&quot;
"
>
<configuration name="CPU1_RAM" compilerBuildOptions= "--opt_level=off -I${C2000WARE_ROOT} -I${PROJECT_ROOT}/device -I${C2000WARE_DLIB_ROOT} -v28 -ml -mt --cla_support=cla2 --define=RAM --float_support=fpu64 --tmu_support=tmu0 --define=DEBUG --define=CPU1 --gen_func_subsections=on --diag_warning=225 --diag_suppress=10063" linkerBuildOptions="--entry_point code_start --stack_size=0x3F8 --heap_size=0x200 --define=RAM --define=FFT_ALIGN=4096 -i${C2000WARE_ROOT} -i${PROJECT_BUILD_DIR}/syscfg -lc2000ware_libraries.cmd.genlibs " />
<pathVariable name="C2000WARE_DLIB_ROOT" path="../../../../../../driverlib/f2838x/driverlib/" scope="project" />
<pathVariable name="C2000WARE_ROOT" path="../../../../../../" scope="project" />
<pathVariable name="CLB_SYSCFG_ROOT" path="../../../../../../utilities/clb_tool/clb_syscfg/" scope="project" />
<pathVariable name="SYSTEMC_INSTALL" path="../../../../../../utilities/clb_tool/clb_syscfg/systemc-2.3.3" scope="project" />
<pathVariable name="CLB_SIM_COMPILER" path="C:/TDM-GCC-64/bin" scope="project" />
<buildVariable name="CLB_DEBUG" value="0" scope="project" />
<buildVariable name="GENERATE_DIAGRAM" value="0" scope="project" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/driverlib.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/device.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/device.c" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/targetConfigs/TMS320F28388D.ccxml" targetDirectory="targetConfigs" />
<file action="copy" path="../../../../../../device_support/f2838x/common/cmd/2838x_dsp_fpu_fft.cmd" targetDirectory="" applicableConfigurations="CPU1_RAM" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/f2838x_codestartbranch.asm" targetDirectory="device" />
<file action="link" path="../../../../../../driverlib/f2838x/driverlib/ccs/Debug/driverlib.lib" targetDirectory="" />
<file action="copy" path="../../../../../../driverlib/f2838x/driverlib/" targetDirectory="device" excludeFromBuild="True" />
<file action="copy" path="../dsp_fpu_fft_fpu64_f2838x.c" targetDirectory="" />
<file action="copy" path="../dsp_fpu_fft_fpu64_f2838x.syscfg" targetDirectory="" />
<file action="copy" path="../dsp_examples_setup.c" targetDirectory="" />
<file action="copy" path="../dsp_examples_setup.h" targetDirectory="" />
<file action="copy" path="../fpu.h" targetDirectory="" />
</project>
</projectSpec>
@@ -0,0 +1,41 @@
<projectSpec>
<project
name="dsp_fpu_fir_filter_fpu64_f2838x"
device="TMS320F28388D"
cgtVersion="22.6.1.LTS"
products="sysconfig;C2000WARE"
outputFormat="ELF"
launchWizard="False"
linkerCommandFile=""
enableSysConfigTool="true"
sysConfigBuildOptions="--product ${C2000WARE_ROOT}/.metadata/sdk.json --device F2838x --package 337bga --part F2838x_337bga"
postBuildStep="
echo &quot;========= Build of the CLB simulation has moved to the CLB Tool. Click the '?' icon by the _Generate CLB Simulation File_ enable for more details (located in the Global Parameters of the Tile Design SysConfig module) =============&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/dot_file_libraries/clbDotUtility.js&quot; &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/&quot; &quot;${BuildDirectory}/syscfg&quot; &quot;${BuildDirectory}/syscfg/clb.dot&quot;
;if ${GENERATE_DIAGRAM} == 1 mkdir &quot;${BuildDirectory}/diagrams&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/driverlib/.meta/generate_diagrams.js&quot; &quot;${C2000WARE_ROOT}&quot; &quot;${BuildDirectory}/diagrams&quot; &quot;${BuildDirectory}/syscfg&quot;
"
>
<configuration name="CPU1_RAM" compilerBuildOptions= "--opt_level=off -I${C2000WARE_ROOT} -I${PROJECT_ROOT}/device -I${C2000WARE_DLIB_ROOT} -v28 -ml -mt --cla_support=cla2 --define=RAM --float_support=fpu64 --tmu_support=tmu0 --define=DEBUG --define=CPU1 --gen_func_subsections=on --diag_warning=225 --diag_suppress=10063" linkerBuildOptions="--entry_point code_start --stack_size=0x3F8 --heap_size=0x200 --define=RAM -i${C2000WARE_ROOT} -i${PROJECT_BUILD_DIR}/syscfg -lc2000ware_libraries.cmd.genlibs " />
<pathVariable name="C2000WARE_DLIB_ROOT" path="../../../../../../driverlib/f2838x/driverlib/" scope="project" />
<pathVariable name="C2000WARE_ROOT" path="../../../../../../" scope="project" />
<pathVariable name="CLB_SYSCFG_ROOT" path="../../../../../../utilities/clb_tool/clb_syscfg/" scope="project" />
<pathVariable name="SYSTEMC_INSTALL" path="../../../../../../utilities/clb_tool/clb_syscfg/systemc-2.3.3" scope="project" />
<pathVariable name="CLB_SIM_COMPILER" path="C:/TDM-GCC-64/bin" scope="project" />
<buildVariable name="GENERATE_DIAGRAM" value="0" scope="project" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/driverlib.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/device.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/device.c" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/targetConfigs/TMS320F28388D.ccxml" targetDirectory="targetConfigs" />
<file action="copy" path="../../../../../../device_support/f2838x/common/cmd/2838x_dsp_fpu_fir_filter.cmd" targetDirectory="" applicableConfigurations="CPU1_RAM" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/f2838x_codestartbranch.asm" targetDirectory="device" />
<file action="link" path="../../../../../../driverlib/f2838x/driverlib/ccs/Debug/driverlib.lib" targetDirectory="" />
<file action="copy" path="../../../../../../driverlib/f2838x/driverlib/" targetDirectory="device" excludeFromBuild="True" />
<file action="copy" path="../dsp_fpu_fir_filter_fpu64_f2838x.c" targetDirectory="" />
<file action="copy" path="../dsp_fpu_fir_filter_fpu64_f2838x.syscfg" targetDirectory="" />
<file action="copy" path="../dsp_examples_setup.c" targetDirectory="" />
<file action="copy" path="../dsp_examples_setup.h" targetDirectory="" />
<file action="copy" path="../fpu.h" targetDirectory="" />
</project>
</projectSpec>
@@ -0,0 +1,39 @@
<projectSpec>
<project
name="dsp_fpu_iir_filter_fpu64_f2838x"
device="TMS320F28388D"
cgtVersion="22.6.1.LTS"
products="sysconfig;C2000WARE"
outputFormat="ELF"
launchWizard="False"
linkerCommandFile=""
enableSysConfigTool="true"
sysConfigBuildOptions="--product ${C2000WARE_ROOT}/.metadata/sdk.json --device F2838x --package 337bga --part F2838x_337bga"
postBuildStep="
echo &quot;========= Build of the CLB simulation has moved to the CLB Tool. Click the '?' icon by the _Generate CLB Simulation File_ enable for more details (located in the Global Parameters of the Tile Design SysConfig module) =============&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/dot_file_libraries/clbDotUtility.js&quot; &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/&quot; &quot;${BuildDirectory}/syscfg&quot; &quot;${BuildDirectory}/syscfg/clb.dot&quot;
;if ${GENERATE_DIAGRAM} == 1 mkdir &quot;${BuildDirectory}/diagrams&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/driverlib/.meta/generate_diagrams.js&quot; &quot;${C2000WARE_ROOT}&quot; &quot;${BuildDirectory}/diagrams&quot; &quot;${BuildDirectory}/syscfg&quot;
"
>
<configuration name="CPU1_RAM" compilerBuildOptions= "--opt_level=off -I${C2000WARE_ROOT} -I${PROJECT_ROOT}/device -I${C2000WARE_DLIB_ROOT} -v28 -ml -mt --cla_support=cla2 --define=RAM --float_support=fpu64 --tmu_support=tmu0 --define=DEBUG --define=CPU1 --gen_func_subsections=on --diag_warning=225 --diag_suppress=10063" linkerBuildOptions="--entry_point code_start --stack_size=0x3F8 --heap_size=0x200 --define=RAM -i${C2000WARE_ROOT} -i${PROJECT_BUILD_DIR}/syscfg -lc2000ware_libraries.cmd.genlibs " />
<pathVariable name="C2000WARE_DLIB_ROOT" path="../../../../../../driverlib/f2838x/driverlib/" scope="project" />
<pathVariable name="C2000WARE_ROOT" path="../../../../../../" scope="project" />
<pathVariable name="CLB_SYSCFG_ROOT" path="../../../../../../utilities/clb_tool/clb_syscfg/" scope="project" />
<pathVariable name="SYSTEMC_INSTALL" path="../../../../../../utilities/clb_tool/clb_syscfg/systemc-2.3.3" scope="project" />
<pathVariable name="CLB_SIM_COMPILER" path="C:/TDM-GCC-64/bin" scope="project" />
<buildVariable name="GENERATE_DIAGRAM" value="0" scope="project" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/driverlib.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/device.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/device.c" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/targetConfigs/TMS320F28388D.ccxml" targetDirectory="targetConfigs" />
<file action="copy" path="../../../../../../device_support/f2838x/common/cmd/2838x_dsp_fpu_iir_filter.cmd" targetDirectory="" applicableConfigurations="CPU1_RAM" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/f2838x_codestartbranch.asm" targetDirectory="device" />
<file action="link" path="../../../../../../driverlib/f2838x/driverlib/ccs/Debug/driverlib.lib" targetDirectory="" />
<file action="copy" path="../../../../../../driverlib/f2838x/driverlib/" targetDirectory="device" excludeFromBuild="True" />
<file action="copy" path="../dsp_fpu_iir_filter_fpu64_f2838x.c" targetDirectory="" />
<file action="copy" path="../dsp_fpu_iir_filter_fpu64_f2838x.syscfg" targetDirectory="" />
<file action="copy" path="../fpu.h" targetDirectory="" />
</project>
</projectSpec>
@@ -0,0 +1,39 @@
<projectSpec>
<project
name="dsp_fpu_rfft_adc_fpu64_f2838x"
device="TMS320F28388D"
cgtVersion="22.6.1.LTS"
products="sysconfig;C2000WARE"
outputFormat="ELF"
launchWizard="False"
linkerCommandFile=""
enableSysConfigTool="true"
sysConfigBuildOptions="--product ${C2000WARE_ROOT}/.metadata/sdk.json --device F2838x --package 337bga --part F2838x_337bga"
postBuildStep="
echo &quot;========= Build of the CLB simulation has moved to the CLB Tool. Click the '?' icon by the _Generate CLB Simulation File_ enable for more details (located in the Global Parameters of the Tile Design SysConfig module) =============&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/dot_file_libraries/clbDotUtility.js&quot; &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/&quot; &quot;${BuildDirectory}/syscfg&quot; &quot;${BuildDirectory}/syscfg/clb.dot&quot;
;if ${GENERATE_DIAGRAM} == 1 mkdir &quot;${BuildDirectory}/diagrams&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/driverlib/.meta/generate_diagrams.js&quot; &quot;${C2000WARE_ROOT}&quot; &quot;${BuildDirectory}/diagrams&quot; &quot;${BuildDirectory}/syscfg&quot;
"
>
<configuration name="CPU1_RAM" compilerBuildOptions= "--opt_level=off -I${C2000WARE_ROOT} -I${PROJECT_ROOT}/device -I${C2000WARE_DLIB_ROOT} -v28 -ml -mt --cla_support=cla2 --define=RAM --float_support=fpu64 --tmu_support=tmu0 --define=DEBUG --define=CPU1 --gen_func_subsections=on --diag_warning=225 --diag_suppress=10063" linkerBuildOptions="--entry_point code_start --stack_size=0x3F8 --heap_size=0x200 --define=RAM --define=FFT_ALIGN=4096 -i${C2000WARE_ROOT} -i${PROJECT_BUILD_DIR}/syscfg -lc2000ware_libraries.cmd.genlibs " />
<pathVariable name="C2000WARE_DLIB_ROOT" path="../../../../../../driverlib/f2838x/driverlib/" scope="project" />
<pathVariable name="C2000WARE_ROOT" path="../../../../../../" scope="project" />
<pathVariable name="CLB_SYSCFG_ROOT" path="../../../../../../utilities/clb_tool/clb_syscfg/" scope="project" />
<pathVariable name="SYSTEMC_INSTALL" path="../../../../../../utilities/clb_tool/clb_syscfg/systemc-2.3.3" scope="project" />
<pathVariable name="CLB_SIM_COMPILER" path="C:/TDM-GCC-64/bin" scope="project" />
<buildVariable name="CLB_DEBUG" value="0" scope="project" />
<buildVariable name="GENERATE_DIAGRAM" value="0" scope="project" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/driverlib.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/device.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/device.c" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/targetConfigs/TMS320F28388D.ccxml" targetDirectory="targetConfigs" />
<file action="copy" path="../../../../../../device_support/f2838x/common/cmd/2838x_dsp_fpu_fft.cmd" targetDirectory="" applicableConfigurations="CPU1_RAM" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/f2838x_codestartbranch.asm" targetDirectory="device" />
<file action="link" path="../../../../../../driverlib/f2838x/driverlib/ccs/Debug/driverlib.lib" targetDirectory="" />
<file action="copy" path="../../../../../../driverlib/f2838x/driverlib/" targetDirectory="device" excludeFromBuild="True" />
<file action="copy" path="../dsp_fpu_rfft_adc_fpu64_f2838x.c" targetDirectory="" />
<file action="copy" path="../dsp_fpu_rfft_adc_fpu64_f2838x.syscfg" targetDirectory="" />
</project>
</projectSpec>
@@ -0,0 +1,39 @@
<projectSpec>
<project
name="dsp_fpu_rfft_fpu64_f2838x"
device="TMS320F28388D"
cgtVersion="22.6.1.LTS"
products="sysconfig;C2000WARE"
outputFormat="ELF"
launchWizard="False"
linkerCommandFile=""
enableSysConfigTool="true"
sysConfigBuildOptions="--product ${C2000WARE_ROOT}/.metadata/sdk.json --device F2838x --package 337bga --part F2838x_337bga"
postBuildStep="
echo &quot;========= Build of the CLB simulation has moved to the CLB Tool. Click the '?' icon by the _Generate CLB Simulation File_ enable for more details (located in the Global Parameters of the Tile Design SysConfig module) =============&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/dot_file_libraries/clbDotUtility.js&quot; &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/&quot; &quot;${BuildDirectory}/syscfg&quot; &quot;${BuildDirectory}/syscfg/clb.dot&quot;
;if ${GENERATE_DIAGRAM} == 1 mkdir &quot;${BuildDirectory}/diagrams&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/driverlib/.meta/generate_diagrams.js&quot; &quot;${C2000WARE_ROOT}&quot; &quot;${BuildDirectory}/diagrams&quot; &quot;${BuildDirectory}/syscfg&quot;
"
>
<configuration name="CPU1_RAM" compilerBuildOptions= "--opt_level=off -I${C2000WARE_ROOT} -I${PROJECT_ROOT}/device -I${C2000WARE_DLIB_ROOT} -v28 -ml -mt --cla_support=cla2 --define=RAM --float_support=fpu64 --tmu_support=tmu0 --define=DEBUG --define=CPU1 --gen_func_subsections=on --diag_warning=225 --diag_suppress=10063" linkerBuildOptions="--entry_point code_start --stack_size=0x3F8 --heap_size=0x200 --define=RAM --define=FFT_ALIGN=4096 -i${C2000WARE_ROOT} -i${PROJECT_BUILD_DIR}/syscfg -lc2000ware_libraries.cmd.genlibs " />
<pathVariable name="C2000WARE_DLIB_ROOT" path="../../../../../../driverlib/f2838x/driverlib/" scope="project" />
<pathVariable name="C2000WARE_ROOT" path="../../../../../../" scope="project" />
<pathVariable name="CLB_SYSCFG_ROOT" path="../../../../../../utilities/clb_tool/clb_syscfg/" scope="project" />
<pathVariable name="SYSTEMC_INSTALL" path="../../../../../../utilities/clb_tool/clb_syscfg/systemc-2.3.3" scope="project" />
<pathVariable name="CLB_SIM_COMPILER" path="C:/TDM-GCC-64/bin" scope="project" />
<buildVariable name="CLB_DEBUG" value="0" scope="project" />
<buildVariable name="GENERATE_DIAGRAM" value="0" scope="project" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/driverlib.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/device.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/device.c" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/targetConfigs/TMS320F28388D.ccxml" targetDirectory="targetConfigs" />
<file action="copy" path="../../../../../../device_support/f2838x/common/cmd/2838x_dsp_fpu_rfft.cmd" targetDirectory="" applicableConfigurations="CPU1_RAM" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/f2838x_codestartbranch.asm" targetDirectory="device" />
<file action="link" path="../../../../../../driverlib/f2838x/driverlib/ccs/Debug/driverlib.lib" targetDirectory="" />
<file action="copy" path="../../../../../../driverlib/f2838x/driverlib/" targetDirectory="device" excludeFromBuild="True" />
<file action="copy" path="../dsp_fpu_rfft_fpu64_f2838x.c" targetDirectory="" />
<file action="copy" path="../dsp_fpu_rfft_fpu64_f2838x.syscfg" targetDirectory="" />
</project>
</projectSpec>
@@ -0,0 +1,41 @@
<projectSpec>
<project
name="dsp_fpu_vector_fpu64_f2838x"
device="TMS320F28388D"
cgtVersion="22.6.1.LTS"
products="sysconfig;C2000WARE"
outputFormat="ELF"
launchWizard="False"
linkerCommandFile=""
enableSysConfigTool="true"
sysConfigBuildOptions="--product ${C2000WARE_ROOT}/.metadata/sdk.json --device F2838x --package 337bga --part F2838x_337bga"
postBuildStep="
echo &quot;========= Build of the CLB simulation has moved to the CLB Tool. Click the '?' icon by the _Generate CLB Simulation File_ enable for more details (located in the Global Parameters of the Tile Design SysConfig module) =============&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/dot_file_libraries/clbDotUtility.js&quot; &quot;${C2000WARE_ROOT}/utilities/clb_tool/clb_syscfg/&quot; &quot;${BuildDirectory}/syscfg&quot; &quot;${BuildDirectory}/syscfg/clb.dot&quot;
;if ${GENERATE_DIAGRAM} == 1 mkdir &quot;${BuildDirectory}/diagrams&quot;
;if ${GENERATE_DIAGRAM} == 1 ${NODE_TOOL} &quot;${C2000WARE_ROOT}/driverlib/.meta/generate_diagrams.js&quot; &quot;${C2000WARE_ROOT}&quot; &quot;${BuildDirectory}/diagrams&quot; &quot;${BuildDirectory}/syscfg&quot;
"
>
<configuration name="CPU1_RAM" compilerBuildOptions= "--opt_level=off -I${C2000WARE_ROOT} -I${PROJECT_ROOT}/device -I${C2000WARE_DLIB_ROOT} -v28 -ml -mt --cla_support=cla2 --define=RAM --float_support=fpu64 --tmu_support=tmu0 --define=DEBUG --define=CPU1 --gen_func_subsections=on --diag_warning=225 --diag_suppress=10063" linkerBuildOptions="--entry_point code_start --stack_size=0x3F8 --heap_size=0x200 --define=RAM -i${C2000WARE_ROOT} -i${PROJECT_BUILD_DIR}/syscfg -lc2000ware_libraries.cmd.genlibs " />
<pathVariable name="C2000WARE_DLIB_ROOT" path="../../../../../../driverlib/f2838x/driverlib/" scope="project" />
<pathVariable name="C2000WARE_ROOT" path="../../../../../../" scope="project" />
<pathVariable name="CLB_SYSCFG_ROOT" path="../../../../../../utilities/clb_tool/clb_syscfg/" scope="project" />
<pathVariable name="SYSTEMC_INSTALL" path="../../../../../../utilities/clb_tool/clb_syscfg/systemc-2.3.3" scope="project" />
<pathVariable name="CLB_SIM_COMPILER" path="C:/TDM-GCC-64/bin" scope="project" />
<buildVariable name="GENERATE_DIAGRAM" value="0" scope="project" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/driverlib.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/include/device.h" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/device.c" targetDirectory="device" />
<file action="copy" path="../../../../../../device_support/f2838x/common/targetConfigs/TMS320F28388D.ccxml" targetDirectory="targetConfigs" />
<file action="copy" path="../../../../../../device_support/f2838x/common/cmd/2838x_dsp_fpu_vector.cmd" targetDirectory="" applicableConfigurations="CPU1_RAM" />
<file action="copy" path="../../../../../../device_support/f2838x/common/source/f2838x_codestartbranch.asm" targetDirectory="device" />
<file action="link" path="../../../../../../driverlib/f2838x/driverlib/ccs/Debug/driverlib.lib" targetDirectory="" />
<file action="copy" path="../../../../../../driverlib/f2838x/driverlib/" targetDirectory="device" excludeFromBuild="True" />
<file action="copy" path="../dsp_fpu_vector_fpu64_f2838x.c" targetDirectory="" />
<file action="copy" path="../dsp_fpu_vector_fpu64_f2838x.syscfg" targetDirectory="" />
<file action="copy" path="../dsp_examples_setup.c" targetDirectory="" />
<file action="copy" path="../dsp_examples_setup.h" targetDirectory="" />
<file action="copy" path="../fpu.h" targetDirectory="" />
</project>
</projectSpec>
@@ -0,0 +1,50 @@
//#############################################################################
//
//! \file dsp_examples_setup.c
//!
//! \brief DSP Examples Common Code
//! \author Ritvik Sadana
//! \date Jan 8, 2018
//
// Group: C2000
//
//#############################################################################
//
//
// $Copyright: Copyright (C) 2022 Texas Instruments Incorporated -
// http://www.ti.com/ ALL RIGHTS RESERVED $
//#############################################################################
//*****************************************************************************
// the includes
//*****************************************************************************
#include "dsp_examples_setup.h"
#include "sysctl.h"
#include "fpu.h"
//*****************************************************************************
// the defines
//*****************************************************************************
#if defined(ADC_INPUT)
#define TEST_SIZE (256U) //must be same as dsp_rfft_adc.c
//fpu32 examples, set to 512U
//fpu64 examples, set to 512U
#endif //defined(ADC_INPUT)
//*****************************************************************************
// the globals
//*****************************************************************************
#ifdef __cplusplus
#pragma DATA_SECTION("FpuRegsFile")
#else
#pragma DATA_SECTION(FpuRegs,"FpuRegsFile");
#endif
//! \brief FPU Register object
//
volatile struct FPU_REG FpuRegs;
// End of File
@@ -0,0 +1,242 @@
#ifndef _DSP_EXAMPLES_SETUP_H_
#define _DSP_EXAMPLES_SETUP_H_
//#############################################################################
//
//! \file dsp_examples_setup.h
//!
//! \brief DSP Examples Common Code
//! \author Vishal Coelho
//! \date Jan 8, 2016
//
// Group: C2000
//
//#############################################################################
//
//
// $Copyright: Copyright (C) 2022 Texas Instruments Incorporated -
// http://www.ti.com/ ALL RIGHTS RESERVED $
//#############################################################################
//*****************************************************************************
// the includes
//*****************************************************************************
#include <stdint.h>
#include <float.h>
#include <math.h>
#include "device.h"
#include "inc/hw_types.h"
//!
//! \defgroup DSP_EXAMPLES_SETUP DSP Examples Setup Code
//!
//! \ingroup DSP_EXAMPLES_SETUP
//@{
#ifdef __cplusplus
extern "C" {
#endif
//*****************************************************************************
//defines
//*****************************************************************************
//For f2838x, EPWM_CLK = DEVICE_SYSCLK_FREQ/2. For f28002x, EPWM_CLK = DEVICE_SYSCLK_FRE//shNTY DD IFDEF
#ifndef f2838x
#define EPWM_CLK DEVICE_SYSCLK_FREQ
#else
#define EPWM_CLK DEVICE_SYSCLK_FREQ/2
#endif
#define EPWM_CLKDIV 32UL // TBCTL_CLKDIV(4)*TBCTL_HSPCLKDIV(8)
#define EPWM1_FREQ 10000UL
#define EPWM2_FREQ 1000UL
#define EPWM1_PERIOD (uint16_t)(EPWM_CLK/(EPWM_CLKDIV*EPWM1_FREQ))
#define EPWM2_PERIOD (uint16_t)(EPWM_CLK/(2UL*EPWM_CLKDIV*EPWM2_FREQ))
#define EPWM2_DUTY_CYCLE (EPWM2_PERIOD/2)
#define USE_REAL_ADC_INPUT 0U
//*****************************************************************************
// typedefs
//*****************************************************************************
//*****************************************************************************
//globals
//*****************************************************************************
#if defined(_FLASH)
extern uint16_t RamfuncsRunStart, RamfuncsLoadStart, RamfuncsLoadSize;
#if defined(__TMS320C28XX_FPU64__)
extern uint16_t FPU64fftTablesRunStart, FPU64fftTablesLoadStart,
FPU64fftTablesLoadSize;
extern uint16_t FPU64mathTablesRunStart, FPU64mathTablesLoadStart,
FPU64mathTablesLoadSize;
#else
extern uint16_t FPUfftTablesRunStart, FPUfftTablesLoadStart,
FPUfftTablesLoadSize;
extern uint16_t FPUmathTablesRunStart, FPUmathTablesLoadStart,
FPUmathTablesLoadSize;
#endif
#endif //defined(_FLASH)
// Each test will define these variables
extern uint16_t pass, fail;
#if defined(__TMS320C28XX_FPU64__)
extern float64_t tolerance;
extern uint64_t toleranceLSBMantissa;
#if defined(ADC_INPUT)
extern uint16_t test_input[];
#else
extern float64_t test_input[];
#endif //defined(ADC_INPUT)
extern const float64_t test_golden[];
extern float64_t test_output[];
extern float64_t test_error[];
#elif defined (__TMS320C28XX_FPU32__)
extern float tolerance;
extern uint32_t toleranceLSBMantissa;
#if defined(ADC_INPUT)
extern uint16_t test_input[];
#else
extern float test_input[];
#endif //defined(ADC_INPUT)
extern const float test_golden[];
extern float test_output[];
extern float test_error[];
#else
#error "--float_support=fpu64 option must be set to build the FPU64 \
version of the library. --float_support=fpu32 must be set to build the \
FPU32 version of the DSP library"
#endif
#if defined(ADC_INPUT)
// Used in the RFFT ADC examples
//
// Flag to signal the ADC has finished sampling, and storing,
// N points in the FFT input buffer
extern volatile uint16_t flagInputReady;
// Index into the FFT input buffer
extern volatile uint16_t sampleIndex;
// Maximum Frequency component index
extern uint32_t max_idx;
#endif// ADC_INPUT
//*****************************************************************************
// the function prototypes
//*****************************************************************************
//! \brief Setup system controls
//!
extern void DSP_Example_setupSysCtrl( void );
//! \brief Function to disable pin locks and enable pullups on GPIOs.
//!
extern void DSP_Example_initGPIO(void);
//! \brief Setup flash
//!
extern void DSP_Example_setupFlash( void );
//! \brief Run a particular Fast RTS routine
//!
extern void DSP_runTest( void );
//! \brief Initialize ADCA
//! Function to configure and power up ADC A
//
void DSP_Example_initADCA(void);
//! \breif ADC SOC Initialization
//!
//! This function will configure the ADC, channel A0 to start its conversion
//! on a trigger from EPWM1 (EPMW1SOCA). The ADC will sample this channel
//! continuously. After each conversion it will assert ADCINT1, which
//! is then used to trigger task 1 of the CLA (the filter)
//
void DSP_Example_initADCSOC(void);
//! \brief EPWM Initialization
//!
//! EPWM1A will run at EPWM1_FREQ Hz and serves as the sampling
//! clock for ADC channel A1 which will be sampling the slower running EPWM2A
//! (at EPWM2_FREQ Hz). The default time base for the EPWM module is half the
//! system clock i.e.
//! TBCLK = SYSCLKOUT/2
//! EPWM1A will be setup in count-up mode and an event generated every period
//! this event will trigger the ADC to start sampling on channel A1
//! EPWM2A is setup for updown count mode with CMPA level at the half period
//! point giving a 50% duty cycle square wave at EPWM2_FREQ Hz
//! For a desired PWM frequency F_pwm (1/T_pwm), we have
//! T_pwm = 2 x TBPRD / TBCLK
//! TBPRD = TBCLK/(2*F_pwm)
//! For e.g. F_pwm = 10KHz, TBCLK = 50e6
//! TBPRD = 50e6/(2*10e3)
//! = 2500
//! For e.g. F_pwm = 1KHz, TBCLK = 50e6
//! TBPRD = 50e6/(2*1e3)
//! = 25000
//! For e.g. F_pwm = 100Hz, TBCLK = 50e6
//! TBPRD = 50e6/(2*1e2)
//! = 250000
//
void DSP_Example_initEPWM(void);
//! \brief ADC Interrupt Service Routine
//! The ISR will store each sampled value in the FFT buffer, and
//! raise the flag once the buffer is full
//!
__interrupt void DSP_Example_adcaIsr()
#if __TI_COMPILER_VERSION__ >= 15009000
__attribute__((section(".TI.ramfunc")));
#else
__attribute__((section(".ramfuncs")));
#endif
#if defined(__TMS320C28XX_FPU64__)
//! \brief Error calculation
//!
//! This function computes the double precision error between the output
//! obtained from running one of the library routines on the target
//! devices and the golden reference obtained from running a similar
//! routine in MATLAB on an x86 platform.
//!
//! The error is stored to an array and then compared against a user provided
//! tolerance value. If the error is found to be within bounds the function
//! returns a 1, else a -1. It also calculates how many ULPs of difference
//! exist between the output and golden and returns it in a user passed
//! variable. If the ULPs are within tolerance the function returns 2
//!
//! \param[in] p_out , pointer to the calculated output
//! \param[in] p_gold , pointer to the golden reference
//! \param[out] p_lderr , pointer to the double precision error
//! \param[out] p_ullerr , pointer to the unsigned long long error
//! \param[in] ldtol , double precision tolerance
//! \param[in] ulltol , Erroneous ULPs
//!
//! \returns
//! - 1 , if the double precision error is within tolerable limits
//! - 2 , additionally if the ULP of the error is withing limits
//! - -1 , if either check fails
//!
int16_t DSP_Example_calcError(const float64_t *p_out,
const float64_t *p_gold,
const float64_t *p_lderr,
const uint64_t *p_ullerr,
const float64_t *p_ldtol,
const uint64_t ulltol);
#endif //__TMS320C28XX_FPU64__
//! \brief Function indicating end of test (Autobot regression)
//!
extern void done( void );
#ifdef __cplusplus
}
#endif // extern "C"
//@} // ingroup
#endif // end of _DSP_EXAMPLES_SETUP_H_ definition
// End of File
@@ -0,0 +1,900 @@
#include "c2000ware_libraries.h"
#include "driverlib.h"
#include "device.h"
#include "board.h"
#include "fpu.h"
#include "dsp.h"
#include "dsp_examples_setup.h"
float64_t test_input[1024] = {
31.000000000000L, 0.000000000000L, 29.769646610604L, 8.638242341660L,
26.177014608406L, 16.588199639409L, 20.509450684819L, 23.216865592711L,
13.220052022653L, 27.997315603134L, 4.891151290503L, 30.550923522639L,
-3.812578540813L, 30.677582417811L, -12.197592243420L, 28.371497884005L,
-19.597177032425L, 23.821297975689L, -25.424883361015L, 17.394480016814L,
-29.221365118585L, 9.607486724863L, -30.690858009203L, 1.083868053987L,
-29.724376467653L, -7.496054112218L, -26.407796620237L, -15.449921912405L,
-21.014225814088L, -22.148038328150L, -13.981336715817L, -27.063604894209L,
-5.875561213969L, -29.814460211369L, 2.653903000737L, -30.192986618897L,
10.927508081499L, -28.181828060795L, 18.289927272099L, -23.954225006747L,
24.162363728021L, -17.859026204082L, 28.088388090930L, -10.391679000709L,
29.769646610604L, -2.153628504621L, 29.088626517476L, 6.196520638700L,
26.116733567402L, 13.996081730289L, 21.107139358960L, 20.631290235795L,
14.473093893824L, 25.585961054555L, 6.753570481104L, 28.481911402048L,
-1.430879738947L, 29.107961195275L, -9.428418857422L, 27.435275499291L,
-16.608249790346L, 23.617939572670L, -22.410745530774L, 17.978862788147L,
-26.391364902565L, 10.982293958583L, -28.254883577036L, 3.195300666632L,
-27.877289510855L, -4.758567133555L, -25.313718920727L, -12.249612423554L,
-20.791956303629L, -18.692228830925L, -14.692194784638L, -23.591000655514L,
-7.514855174267L, -26.579009095295L, 0.160795577026L, -27.445364749525L,
7.723778250183L, -26.149896022511L, 14.580421124700L, -22.823988672166L,
20.201300754623L, -17.757704368047L, 24.162363728021L, -11.374412367043L,
26.177014608406L, -4.195158362009L, 26.116733567402L, 3.204210884008L,
24.018751268030L, 10.239611235086L, 20.080376776407L, 16.365177192133L,
14.640657817410L, 21.115886034709L, 8.151062864373L, 24.142998727191L,
1.137730164495L, 25.239604483528L, -5.841537285874L, 24.354402883940L,
-12.241987355770L, 21.592840311749L, -17.574731331896L, 17.205753514438L,
-21.444263989224L, 11.566676729916L, -23.577796404216L, 5.139858771041L,
-23.844226030109L, -1.558257644704L, -22.261449194246L, -8.000874052075L,
-18.991687891276L, -13.692574750918L, -14.325474762079L, -18.207633032011L,
-8.655837993642L, -21.221905193669L, -2.444979924821L, -22.535918498909L,
3.813708620228L, -22.087525360896L, 9.635151732707L, -19.953375383811L,
14.580421124700L, -16.339374835126L, 18.289927272099L, -11.561183729348L,
20.509450684819L, -6.016572978414L, 21.107139358960L, -0.152067765622L,
20.080376776407L, 5.573306345852L, 17.552269726480L, 10.724207034000L,
13.758345746956L, 14.922214864769L, 9.024817500802L, 17.873579116189L,
3.740405317446L, 19.389440415856L, -1.675838333853L, 19.397169295985L,
-6.808018827424L, 17.942216825708L, -11.275505814220L, 15.180654253518L,
-14.761162833548L, 11.363318326896L, -17.033606442297L, 6.813118418580L,
-17.961956087608L, 1.897551852521L, -17.522195000658L, -3.001219972068L,
-15.794967652696L, -7.516278253161L, -12.955331100281L, -11.323479289073L,
-9.255599512633L, -14.164542435625L, -5.002924950441L, -15.864065805041L,
-0.533606442297L, -16.339397860209L, 3.813708620228L, -15.602911523856L,
7.723778250182L, -13.756854745111L, 10.927508081499L, -10.981535446498L,
13.220052022653L, -7.518093132961L, 14.473093893824L, -3.647477516570L,
14.640657817410L, 0.332528033291L, 13.758345746956L, 4.130344018488L,
11.936429409872L, 7.481900115480L, 9.347688200029L, 10.168656553433L,
6.211249002453L, 12.031143928646L, 2.773923775897L, 12.977254357624L,
-0.709356792303L, 12.984983237754L, -3.994450329075L, 12.099781638166L,
-6.864848267293L, 10.427095942182L, -9.145322516939L, 8.121011408376L,
-10.711575412847L, 5.370156091216L, -11.495474546058L, 2.382147651435L,
-11.485838209663L, -0.632124510223L, -10.725092403251L, -3.473187656775L,
-9.302418057079L, -5.965639900445L, -7.344226030109L, -7.968021796925L,
-5.002924950441L, -9.379451968001L, -2.444979924822L, -10.142877221509L,
0.160795577026L, -10.245072135228L, 2.653903000737L, -9.713764148724L,
4.891151290503L, -8.612439984653L, 6.753570481103L, -7.033497334048L,
8.151062864373L, -5.090439843934L, 9.024817500802L, -2.909778885229L,
9.347688200029L, -0.623214292848L, 9.122860911524L, 1.639464927938L,
8.381206658480L, 3.756470495202L, 7.177730544003L, 5.618957870415L,
5.587492274245L, 7.134819170082L, 3.701300754623L, 8.231424926419L,
1.621389987533L, 8.857474719646L, -0.542817237843L, 8.984133614818L,
-2.678840975389L, 8.605607207290L, -4.675218621851L, 7.739251553061L,
-6.425599296612L, 6.425238247821L, -7.832925166461L, 4.725714878405L,
-8.813718920727L, 2.723332981925L, -9.302418057079L, 0.518973936595L,
-9.255599512633L, -1.771501158225L, -8.655837993642L, -4.021612579373L,
-7.514855174267L, -6.099786625122L, -5.875561213969L, -7.875976673383L,
-3.812578540813L, -9.229168349811L, -1.430879738948L, -10.055402312018L,
1.137730164495L, -10.275804252568L, 3.740405317446L, -9.843998155270L,
6.211249002453L, -8.752214072771L, 8.381206658480L, -7.035400351079L,
10.089342453073L, -4.772721130293L, 11.194775156828L, -2.085964692340L,
11.588388090930L, 0.865399559080L, 11.203332590854L, 3.892512251562L,
10.023331784074L, 6.788462599054L, 8.087871529083L, 9.342070518560L,
5.493539553153L, 11.353229076663L, 2.391034274056L, 12.648697803677L,
-1.022305578650L, 13.097090941689L, -4.514225814088L, 12.621758886521L,
-7.832925166462L, 11.210328715445L, -10.725092403251L, 8.919853620625L,
-12.955331100281L, 5.876813325224L, -14.325474762079L, 2.271589438162L,
-14.692194784638L, -1.652517117528L, -13.981336715817L, -5.615190826209L,
-12.197592243420L, -9.318939000748L, -9.428418857422L, -12.471475268331L,
-5.841537285874L, -14.808960623353L, -1.675838333853L, -16.118239440110L,
2.773923775897L, -16.256184213501L, 7.177730544003L, -15.164400131002L,
11.194775156828L, -12.877835538621L, 14.500000000000L, -9.526279441629L,
16.810615473437L, -5.328271610860L, 17.910419120381L, -0.577562768284L,
17.669814132404L, 4.377108050476L, 16.059688575069L, 9.157558060899L,
13.157746778529L, 13.385161114947L, 9.146452596354L, 16.711068465291L,
4.302407756580L, 18.845218442377L, -1.022305578650L, 19.581704778729L,
-6.425599296612L, 18.818279525221L, -11.485838209663L, 16.568168104073L,
-15.794967652696L, 12.962944217011L, -18.991687891276L, 8.245908787068L,
-20.791956303629L, 2.756185237075L, -21.014225814089L, -3.095479444892L,
-19.597177032426L, -8.857497744729L, -16.608249790347L, -14.072497312083L,
-12.241987355770L, -18.313910455873L, -6.808018827424L, -21.221146681585L,
-0.709356792304L, -22.530425498341L, 5.587492274245L, -22.098619401043L,
11.588388090930L, -19.917958442338L, 16.810615473437L, -16.120142457141L,
20.822031029451L, -10.969241768993L, 23.277097014987L, -4.843675811946L,
23.946775911376L, 1.791532693560L, 22.739689381849L, 8.420198646863L,
19.712601618271L, 14.515397449528L, 15.069120261053L, 19.581681753647L,
9.146452596354L, 23.195682302331L, 2.391034274056L, 25.041739081076L,
-4.675218621851L, 24.939544167357L, -11.495474546058L, 22.861370121607L,
-17.522195000659L, 18.937263565918L, -22.261449194246L, 13.447540015925L,
-25.313718920727L, 6.802946459704L, -26.407796620237L, -0.486121681445L,
-25.424883361015L, -7.849037756228L, -22.410745530774L, -14.699932932271L,
-17.574731331896L, -20.484683370314L, -11.275505814220L, -24.726096514104L,
-3.994450329075L, -27.063581869127L, 3.701300754623L, -27.283983809676L,
11.203332590854L, -25.340926319563L, 17.910419120381L, -21.360920769702L,
23.277097014986L, -15.635546658227L, 26.858387820446L, -8.600146307148L,
28.346972264432L, -0.800585215559L, 27.599688954577L, 7.149372082189L,
24.651062864373L, 14.616719285563L, 19.712601618271L, 21.000011286568L,
13.157746778529L, 25.778202392346L, 5.493539553153L, 28.553521690959L,
-2.678840975389L, 29.084829677463L, -10.711575412847L, 27.308639629202L,
-17.961956087608L, 23.345965920521L, -23.844226030109L, 17.494301238554L,
-27.877289510855L, 10.205233097405L, -29.724376467653L, 2.049388148368L,
-29.221365118586L, -6.328556868987L, -26.391364902565L, -14.261223814459L,
-21.444263989224L, -21.112118990502L, -14.761162833548L, -26.327118557857L,
-6.864848267293L, -29.479654825440L, 1.621389987533L, -30.305888787647L,
10.023331784074L, -28.726946137041L, 17.669814132403L, -24.856330520649L,
23.946775911376L, -18.991825307857L, 28.346972264432L, -11.592456061840L,
30.511300863648L, -3.242306918520L, 30.258345746956L, 5.395935423141L,
27.599688954577L, 13.633985919229L, 22.739689381849L, 20.813239924262L,
16.059688575069L, 26.357850675196L, 8.087871529083L, 29.821292988733L,
-0.542817237843L, 30.922617152804L, -9.145322516939L, 29.569425476376L,
-17.033606442297L, 25.865677301838L, -23.577796404217L, 20.103659002001L,
-28.254883577036L, 12.740742927218L, -30.690858009203L, 4.362797909863L,
-30.690858009203L, -4.362797909863L, -28.254883577036L, -12.740742927218L,
-23.577796404216L, -20.103659002001L, -17.033606442297L, -25.865677301838L,
-9.145322516939L, -29.569425476376L, -0.542817237843L, -30.922617152804L,
8.087871529083L, -29.821292988733L, 16.059688575069L, -26.357850675196L,
22.739689381849L, -20.813239924262L, 27.599688954577L, -13.633985919229L,
30.258345746956L, -5.395935423140L, 30.511300863647L, 3.242306918520L,
28.346972264432L, 11.592456061840L, 23.946775911376L, 18.991825307857L,
17.669814132403L, 24.856330520649L, 10.023331784074L, 28.726946137040L,
1.621389987533L, 30.305888787646L, -6.864848267293L, 29.479654825440L,
-14.761162833548L, 26.327118557856L, -21.444263989224L, 21.112118990502L,
-26.391364902565L, 14.261223814459L, -29.221365118585L, 6.328556868987L,
-29.724376467653L, -2.049388148368L, -27.877289510855L, -10.205233097405L,
-23.844226030109L, -17.494301238554L, -17.961956087608L, -23.345965920521L,
-10.711575412847L, -27.308639629202L, -2.678840975389L, -29.084829677463L,
5.493539553153L, -28.553521690959L, 13.157746778529L, -25.778202392346L,
19.712601618270L, -21.000011286567L, 24.651062864373L, -14.616719285562L,
27.599688954577L, -7.149372082189L, 28.346972264432L, 0.800585215559L,
26.858387820446L, 8.600146307148L, 23.277097014986L, 15.635546658227L,
17.910419120380L, 21.360920769701L, 11.203332590854L, 25.340926319562L,
3.701300754623L, 27.283983809676L, -3.994450329075L, 27.063581869126L,
-11.275505814220L, 24.726096514104L, -17.574731331896L, 20.484683370314L,
-22.410745530774L, 14.699932932271L, -25.424883361015L, 7.849037756228L,
-26.407796620237L, 0.486121681445L, -25.313718920726L, -6.802946459704L,
-22.261449194246L, -13.447540015925L, -17.522195000658L, -18.937263565918L,
-11.495474546058L, -22.861370121607L, -4.675218621851L, -24.939544167357L,
2.391034274056L, -25.041739081076L, 9.146452596354L, -23.195682302330L,
15.069120261052L, -19.581681753646L, 19.712601618270L, -14.515397449527L,
22.739689381849L, -8.420198646863L, 23.946775911376L, -1.791532693560L,
23.277097014986L, 4.843675811946L, 20.822031029450L, 10.969241768993L,
16.810615473436L, 16.120142457140L, 11.588388090930L, 19.917958442337L,
5.587492274245L, 22.098619401042L, -0.709356792303L, 22.530425498340L,
-6.808018827424L, 21.221146681584L, -12.241987355770L, 18.313910455873L,
-16.608249790346L, 14.072497312083L, -19.597177032425L, 8.857497744729L,
-21.014225814088L, 3.095479444892L, -20.791956303628L, -2.756185237075L,
-18.991687891276L, -8.245908787068L, -15.794967652696L, -12.962944217011L,
-11.485838209663L, -16.568168104073L, -6.425599296612L, -18.818279525220L,
-1.022305578650L, -19.581704778728L, 4.302407756580L, -18.845218442376L,
9.146452596354L, -16.711068465291L, 13.157746778528L, -13.385161114946L,
16.059688575069L, -9.157558060899L, 17.669814132403L, -4.377108050476L,
17.910419120380L, 0.577562768284L, 16.810615473436L, 5.328271610859L,
14.500000000000L, 9.526279441628L, 11.194775156828L, 12.877835538620L,
7.177730544003L, 15.164400131001L, 2.773923775897L, 16.256184213500L,
-1.675838333853L, 16.118239440109L, -5.841537285874L, 14.808960623353L,
-9.428418857421L, 12.471475268330L, -12.197592243419L, 9.318939000748L,
-13.981336715816L, 5.615190826209L, -14.692194784637L, 1.652517117528L,
-14.325474762078L, -2.271589438161L, -12.955331100280L, -5.876813325223L,
-10.725092403251L, -8.919853620624L, -7.832925166462L, -11.210328715444L,
-4.514225814089L, -12.621758886521L, -1.022305578650L, -13.097090941688L,
2.391034274056L, -12.648697803676L, 5.493539553152L, -11.353229076662L,
8.087871529082L, -9.342070518560L, 10.023331784073L, -6.788462599055L,
11.203332590853L, -3.892512251563L, 11.588388090929L, -0.865399559080L,
11.194775156828L, 2.085964692339L, 10.089342453073L, 4.772721130293L,
8.381206658480L, 7.035400351078L, 6.211249002454L, 8.752214072770L,
3.740405317447L, 9.843998155269L, 1.137730164495L, 10.275804252567L,
-1.430879738947L, 10.055402312017L, -3.812578540812L, 9.229168349811L,
-5.875561213969L, 7.875976673384L, -7.514855174266L, 6.099786625123L,
-8.655837993642L, 4.021612579373L, -9.255599512633L, 1.771501158225L,
-9.302418057079L, -0.518973936594L, -8.813718920727L, -2.723332981924L,
-7.832925166462L, -4.725714878404L, -6.425599296613L, -6.425238247821L,
-4.675218621852L, -7.739251553060L, -2.678840975390L, -8.605607207290L,
-0.542817237843L, -8.984133614818L, 1.621389987533L, -8.857474719647L,
3.701300754623L, -8.231424926419L, 5.587492274245L, -7.134819170083L,
7.177730544003L, -5.618957870416L, 8.381206658479L, -3.756470495203L,
9.122860911524L, -1.639464927939L, 9.347688200030L, 0.623214292847L,
9.024817500802L, 2.909778885228L, 8.151062864374L, 5.090439843933L,
6.753570481104L, 7.033497334047L, 4.891151290504L, 8.612439984653L,
2.653903000738L, 9.713764148725L, 0.160795577027L, 10.245072135228L,
-2.444979924821L, 10.142877221509L, -5.002924950441L, 9.379451968002L,
-7.344226030109L, 7.968021796925L, -9.302418057079L, 5.965639900445L,
-10.725092403251L, 3.473187656775L, -11.485838209663L, 0.632124510224L,
-11.495474546059L, -2.382147651434L, -10.711575412847L, -5.370156091216L,
-9.145322516940L, -8.121011408376L, -6.864848267294L, -10.427095942182L,
-3.994450329076L, -12.099781638167L, -0.709356792304L, -12.984983237755L,
2.773923775896L, -12.977254357625L, 6.211249002453L, -12.031143928647L,
9.347688200029L, -10.168656553434L, 11.936429409872L, -7.481900115481L,
13.758345746956L, -4.130344018489L, 14.640657817411L, -0.332528033292L,
14.473093893824L, 3.647477516569L, 13.220052022654L, 7.518093132961L,
10.927508081499L, 10.981535446498L, 7.723778250183L, 13.756854745111L,
3.813708620228L, 15.602911523857L, -0.533606442297L, 16.339397860209L,
-5.002924950441L, 15.864065805042L, -9.255599512633L, 14.164542435625L,
-12.955331100281L, 11.323479289074L, -15.794967652697L, 7.516278253162L,
-17.522195000659L, 3.001219972068L, -17.961956087608L, -1.897551852521L,
-17.033606442298L, -6.813118418580L, -14.761162833548L, -11.363318326896L,
-11.275505814221L, -15.180654253518L, -6.808018827424L, -17.942216825709L,
-1.675838333854L, -19.397169295986L, 3.740405317446L, -19.389440415856L,
9.024817500802L, -17.873579116189L, 13.758345746956L, -14.922214864770L,
17.552269726481L, -10.724207034000L, 20.080376776407L, -5.573306345853L,
21.107139358961L, 0.152067765622L, 20.509450684820L, 6.016572978414L,
18.289927272099L, 11.561183729348L, 14.580421124701L, 16.339374835127L,
9.635151732707L, 19.953375383811L, 3.813708620228L, 22.087525360897L,
-2.444979924821L, 22.535918498909L, -8.655837993642L, 21.221905193670L,
-14.325474762079L, 18.207633032012L, -18.991687891276L, 13.692574750918L,
-22.261449194247L, 8.000874052075L, -23.844226030110L, 1.558257644704L,
-23.577796404217L, -5.139858771041L, -21.444263989224L, -11.566676729916L,
-17.574731331897L, -17.205753514439L, -12.241987355770L, -21.592840311749L,
-5.841537285874L, -24.354402883940L, 1.137730164495L, -25.239604483528L,
8.151062864373L, -24.142998727192L, 14.640657817411L, -21.115886034709L,
20.080376776407L, -16.365177192134L, 24.018751268031L, -10.239611235086L,
26.116733567402L, -3.204210884008L, 26.177014608406L, 4.195158362009L,
24.162363728021L, 11.374412367043L, 20.201300754623L, 17.757704368048L,
14.580421124700L, 22.823988672167L, 7.723778250183L, 26.149896022511L,
0.160795577026L, 27.445364749525L, -7.514855174267L, 26.579009095295L,
-14.692194784638L, 23.591000655514L, -20.791956303629L, 18.692228830925L,
-25.313718920727L, 12.249612423554L, -27.877289510855L, 4.758567133555L,
-28.254883577036L, -3.195300666632L, -26.391364902565L, -10.982293958583L,
-22.410745530774L, -17.978862788147L, -16.608249790346L, -23.617939572670L,
-9.428418857422L, -27.435275499291L, -1.430879738947L, -29.107961195276L,
6.753570481104L, -28.481911402048L, 14.473093893824L, -25.585961054556L,
21.107139358960L, -20.631290235795L, 26.116733567402L, -13.996081730289L,
29.088626517476L, -6.196520638700L, 29.769646610604L, 2.153628504621L,
28.088388090930L, 10.391679000709L, 24.162363728021L, 17.859026204083L,
18.289927272099L, 23.954225006748L, 10.927508081499L, 28.181828060795L,
2.653903000737L, 30.192986618897L, -5.875561213969L, 29.814460211370L,
-13.981336715817L, 27.063604894209L, -21.014225814089L, 22.148038328150L,
-26.407796620237L, 15.449921912405L, -29.724376467653L, 7.496054112218L,
-30.690858009203L, -1.083868053987L, -29.221365118586L, -9.607486724863L,
-25.424883361015L, -17.394480016814L, -19.597177032425L, -23.821297975689L,
-12.197592243420L, -28.371497884005L, -3.812578540813L, -30.677582417811L,
4.891151290503L, -30.550923522639L, 13.220052022653L, -27.997315603134L,
20.509450684819L, -23.216865592711L, 26.177014608406L, -16.588199639408L,
29.769646610604L, -8.638242341660L, 31.000000000000L, 0.000000000000L,
29.769646610604L, 8.638242341661L, 26.177014608406L, 16.588199639409L,
20.509450684819L, 23.216865592711L, 13.220052022653L, 27.997315603134L,
4.891151290503L, 30.550923522639L, -3.812578540813L, 30.677582417811L,
-12.197592243420L, 28.371497884005L, -19.597177032425L, 23.821297975689L,
-25.424883361015L, 17.394480016814L, -29.221365118585L, 9.607486724863L,
-30.690858009203L, 1.083868053987L, -29.724376467653L, -7.496054112218L,
-26.407796620237L, -15.449921912405L, -21.014225814088L, -22.148038328150L,
-13.981336715817L, -27.063604894209L, -5.875561213969L, -29.814460211369L,
2.653903000737L, -30.192986618897L, 10.927508081499L, -28.181828060795L,
18.289927272099L, -23.954225006747L, 24.162363728020L, -17.859026204082L,
28.088388090930L, -10.391679000709L, 29.769646610603L, -2.153628504620L,
29.088626517476L, 6.196520638700L, 26.116733567402L, 13.996081730289L,
21.107139358960L, 20.631290235795L, 14.473093893824L, 25.585961054555L,
6.753570481103L, 28.481911402047L, -1.430879738947L, 29.107961195275L,
};
const float64_t test_golden[2048] = {
117.619584943462L, 127.242033175182L, 122.152715752133L, 133.687099634118L,
127.120532885294L, 140.738781568502L, 132.589267225241L, 148.487804903146L,
138.639351712989L, 157.043990157556L, 145.369451897035L, 166.541571131583L,
152.901954792613L, 177.146402471586L, 161.390572562403L, 189.065890930191L,
171.031079335451L, 202.562936929641L, 182.076802762112L, 217.975921074026L,
194.861530540112L, 235.748048327442L, 209.834346665073L, 256.471625868494L,
227.614365086097L, 280.957027188816L, 249.080078287504L, 310.344180780178L,
275.522012629059L, 346.290987314120L, 308.918374109699L, 391.309393734066L,
352.468137771088L, 449.406424011788L, 411.716548644928L, 527.416619098102L,
497.225186173212L, 638.108021871189L, 632.033708613183L, 808.694263606146L,
878.469654713117L, 1110.778971519350L, 1490.034930848489L, 1826.421831229780L,
6509.054287883688L, 7312.371922633241L, -1738.099865227832L, -1244.246461125538L,
685.737268288577L, 3063.037015212825L, -1558.192774163421L, -3158.638164269519L,
-791.110574975655L, -1438.688477457563L, -555.545775080599L, -974.053939551695L,
-431.414209454572L, -746.111402200683L, -352.875108348188L, -608.128626224547L,
-298.181549489710L, -514.854617875921L, -257.720390452005L, -447.304740657774L,
-226.499162968640L, -396.004915948199L, -201.640992361091L, -355.662278582961L,
-181.361753398661L, -323.074055362930L, -164.492370897649L, -296.182869784439L,
-150.233103890763L, -273.604144280813L, -138.017555117918L, -254.370601080814L,
-127.432936739502L, -237.785411348240L, -118.171079420787L, -223.333493743650L,
-109.997138343705L, -210.625685143494L, -102.728936307431L, -199.362359701892L,
-96.222938943556L, -189.309006234690L, -90.364497167049L, -180.279405702513L,
-85.060911417360L, -172.123779647563L, -80.236407258215L, -164.720272892233L,
-75.828433523534L, -157.968723093854L, -71.784893158676L, -151.786030251529L,
-68.062043165326L, -146.102665725603L, -64.622882029699L, -140.860006007058L,
-61.435897336733L, -136.008272204096L, -58.474082949829L, -131.504920348102L,
-55.714160322112L, -127.313371350652L, -53.135956071054L, -123.401999742202L,
-50.721900375484L, -119.743321628209L, -48.456619661756L, -116.313337484126L,
-46.326603509118L, -113.090996371375L, -44.319930447030L, -110.057756160060L,
-42.426040834142L, -107.197220252240L, -40.635547642280L, -104.494835704852L,
-38.940077959112L, -101.937640967313L, -37.332139540330L, -99.514053966867L,
-35.805007908011L, -97.213693202878L, -34.352630394507L, -95.027225999173L,
-32.969544235194L, -92.946239220284L, -31.650806366156L, -90.963128662933L,
-30.391933019651L, -89.071004047590L, -29.188847557445L, -87.263607100709L,
-28.037835259780L, -85.535240669414L, -26.935504010991L, -83.880707172353L,
-25.878750003170L, -82.295254982207L, -24.864727725900L, -80.774531571890L,
-23.890823629616L, -79.314542449056L, -22.954632948230L, -77.911615061087L,
-22.053939247378L, -76.562366982289L, -21.186696331392L, -75.263677801814L,
-20.351012197482L, -74.012664219431L, -19.545134771809L, -72.806657929897L,
-18.767439200691L, -71.643185938172L, -18.016416502615L, -70.519952999267L,
-17.290663413982L, -69.434825919814L, -16.588873284559L, -68.385819495012L,
-15.909827898165L, -67.371083885511L, -15.252390110662L, -66.388893265060L,
-14.615497211535L, -65.437635592088L, -13.998154927385L, -64.515803377467L,
-13.399431996058L, -63.621985337037L, -12.818455249027L, -62.754858831501L,
-12.254405147329L, -61.913183008369L, -11.706511722971L, -61.095792571014L,
-11.174050883478L, -60.301592108939L, -10.656341042221L, -59.529550931137L,
-10.152740041495L, -58.778698351204L, -9.662642339095L, -58.048119378785L,
-9.185476432426L, -57.336950777048L, -8.720702497072L, -56.644377450427L,
-8.267810219270L, -55.969629130778L, -7.826316803966L, -55.311977333578L,
-7.395765142075L, -54.670732558831L, -6.975722122286L, -54.045241714022L,
-6.565777074295L, -53.434885738846L, -6.165540331665L, -52.839077413495L,
-5.774641903733L, -52.257259334179L, -5.392730247025L, -51.688902041160L,
-5.019471127584L, -51.133502286079L, -4.654546566463L, -50.590581426601L,
-4.297653861367L, -50.059683937628L, -3.948504678108L, -49.540376029287L,
-3.606824206130L, -49.032244362886L, -3.272350372886L, -48.534894856817L,
-2.944833112339L, -48.047951575144L, -2.624033683298L, -47.571055692269L,
-2.309724033641L, -47.103864527660L, -2.001686206899L, -46.646050645192L,
-1.699711787910L, -46.197301012076L, -1.403601384594L, -45.757316212862L,
-1.113164143124L, -45.325809714323L, -0.828217294014L, -44.902507177437L,
-0.548585726837L, -44.487145812971L, -0.274101591498L, -44.079473777481L,
-0.004603924144L, -43.679249606805L, 0.260061704052L, -43.286241684349L,
0.520043516843L, -42.900227741708L, 0.775483843086L, -42.520994389346L,
1.026519408515L, -42.148336675243L, 1.273281610371L, -41.782057669586L,
1.515896776056L, -41.421968073726L, 1.754486406879L, -41.067885851763L,
1.989167407892L, -40.719635883247L, 2.220052304735L, -40.377049635584L,
2.447249448334L, -40.039964854881L, 2.670863208244L, -39.708225273994L,
2.890994155363L, -39.381680336704L, 3.107739234691L, -39.060184936971L,
3.321191928767L, -38.743599172318L, 3.531442412364L, -38.431788110463L,
3.738577698974L, -38.124621568367L, 3.942681779604L, -37.821973902943L,
4.143835754338L, -37.523723812708L, 4.342117957105L, -37.229754149713L,
4.537604074057L, -36.939951741145L, 4.730367255940L, -36.654207220012L,
4.920478224811L, -36.372414864385L, 5.108005375425L, -36.094472444691L,
5.293014871602L, -35.820281078597L, 5.475570737874L, -35.549745093031L,
5.655734946654L, -35.282771892960L, 5.833567501214L, -35.019271836514L,
6.009126514672L, -34.759158116118L, 6.182468285238L, -34.502346645292L,
6.353647367905L, -34.248755950803L, 6.522716642796L, -33.998307069879L,
6.689727380328L, -33.750923452206L, 6.854729303391L, -33.506530866457L,
7.017770646671L, -33.265057311099L, 7.178898213302L, -33.026432929258L,
7.338157428951L, -32.790589927429L, 7.495592393501L, -32.557462497824L,
7.651245930444L, -32.326986744168L, 7.805159634096L, -32.099100610777L,
7.957373914756L, -31.873743814733L, 8.107928041909L, -31.650857781008L,
8.256860185566L, -31.430385580391L, 8.404207455850L, -31.212271870070L,
8.550005940897L, -30.996462836733L, 8.694290743158L, -30.782906142083L,
8.837096014201L, -30.571550870623L, 8.978454988054L, -30.362347479622L,
9.118400013183L, -30.155247751140L, 9.256962583165L, -29.950204746020L,
9.394173366110L, -29.747172759762L, 9.530062232906L, -29.546107280168L,
9.664658284321L, -29.346964946690L, 9.797989877045L, -29.149703511409L,
9.930084648690L, -28.954281801538L, 10.060969541818L, -28.760659683420L,
10.190670827035L, -28.568798027913L, 10.319214125188L, -28.378658677126L,
10.446624428711L, -28.190204412433L, 10.572926122165L, -28.003398923710L,
10.698143001992L, -27.818206779739L, 10.822298295527L, -27.634593399723L,
10.945414679310L, -27.452525025879L, 11.067514296705L, -27.271968697036L,
11.188618774884L, -27.092892223218L, 11.308749241180L, -26.915264161154L,
11.427926338852L, -26.739053790683L, 11.546170242277L, -26.564231092011L,
11.663500671604L, -26.390766723781L, 11.779936906879L, -26.218632001934L,
11.895497801679L, -26.047798879313L, 12.010201796259L, -25.878239925985L,
12.124066930251L, -25.709928310252L, 12.237110854915L, -25.542837780322L,
12.349350844972L, -25.376942646606L, 12.460803810033L, -25.212217764634L,
12.571486305645L, -25.048638518533L, 12.681414543959L, -24.886180805080L,
12.790604404040L, -24.724821018277L, 12.899071441849L, -24.564536034449L,
13.006830899876L, -24.405303197823L, 13.113897716475L, -24.247100306594L,
13.220286534887L, -24.089905599431L, 13.326011711974L, -23.933697742429L,
13.431087326676L, -23.778455816475L, 13.535527188197L, -23.624159305018L,
13.639344843931L, -23.470788082226L, 13.742553587149L, -23.318322401509L,
13.845166464434L, -23.166742884414L, 13.947196282900L, -23.016030509841L,
14.048655617183L, -22.866166603613L, 14.149556816219L, -22.717132828344L,
14.249912009826L, -22.568911173626L, 14.349733115083L, -22.421483946499L,
14.449031842520L, -22.274833762216L, 14.547819702133L, -22.128943535266L,
14.646108009215L, -21.983796470672L, 14.743907890030L, -21.839376055528L,
14.841230287311L, -21.695666050792L, 14.938085965619L, -21.552650483298L,
15.034485516537L, -21.410313638007L, 15.130439363727L, -21.268640050462L,
15.225957767849L, -21.127614499460L, 15.321050831340L, -20.987221999919L,
15.415728503074L, -20.847447795940L, 15.510000582883L, -20.708277354055L,
15.603876725975L, -20.569696356657L, 15.697366447226L, -20.431690695594L,
15.790479125363L, -20.294246465939L, 15.883224007043L, -20.157349959915L,
15.975610210828L, -20.020987660971L, 16.067646731057L, -19.885146238013L,
16.159342441631L, -19.749812539773L, 16.250706099699L, -19.614973589319L,
16.341746349255L, -19.480616578692L, 16.432471724658L, -19.346728863676L,
16.522890654062L, -19.213297958689L, 16.613011462770L, -19.080311531790L,
16.702842376513L, -18.947757399803L, 16.792391524654L, -18.815623523547L,
16.881666943323L, -18.683898003175L, 16.970676578485L, -18.552569073610L,
17.059428288944L, -18.421625100080L, 17.147929849280L, -18.291054573752L,
17.236188952728L, -18.160846107442L, 17.324213214005L, -18.030988431431L,
17.412010172074L, -17.901470389343L, 17.499587292858L, -17.772280934120L,
17.586951971904L, -17.643409124062L, 17.674111536994L, -17.514844118949L,
17.761073250719L, -17.386575176223L, 17.847844312993L, -17.258591647247L,
17.934431863539L, -17.130882973625L, 18.020842984326L, -17.003438683581L,
18.107084701966L, -16.876248388399L, 18.193163990078L, -16.749301778922L,
18.279087771614L, -16.622588622097L, 18.364862921151L, -16.496098757582L,
18.450496267152L, -16.369822094393L, 18.535994594192L, -16.243748607597L,
18.621364645163L, -16.117868335057L, 18.706613123441L, -15.992171374211L,
18.791746695037L, -15.866647878894L, 18.876771990717L, -15.741288056193L,
18.961695608098L, -15.616082163345L, 19.046524113732L, -15.491020504658L,
19.131264045155L, -15.366093428471L, 19.215921912929L, -15.241291324138L,
19.300504202663L, -15.116604619039L, 19.385017377016L, -14.992023775620L,
19.469467877684L, -14.867539288446L, 19.553862127379L, -14.743141681290L,
19.638206531792L, -14.618821504224L, 19.722507481544L, -14.494569330739L,
19.806771354131L, -14.370375754874L, 19.891004515856L, -14.246231388364L,
19.975213323759L, -14.122126857791L, 20.059404127534L, -13.998052801751L,
20.143583271453L, -13.873999868028L, 20.227757096269L, -13.749958710769L,
20.311931941137L, -13.625919987673L, 20.396114145518L, -13.501874357169L,
20.480310051087L, -13.377812475607L, 20.564526003653L, -13.253724994440L,
20.648768355064L, -13.129602557405L, 20.733043465129L, -13.005435797697L,
20.817357703544L, -12.881215335145L, 20.901717451815L, -12.756931773363L,
20.986129105199L, -12.632575696911L, 21.070599074649L, -12.508137668425L,
21.155133788772L, -12.383608225744L, 21.239739695791L, -12.258977879019L,
21.324423265532L, -12.134237107801L, 21.409190991412L, -12.009376358114L,
21.494049392450L, -11.884386039501L, 21.579005015296L, -11.759256522051L,
21.664064436269L, -11.633978133397L, 21.749234263425L, -11.508541155691L,
21.834521138639L, -11.382935822542L, 21.919931739711L, -11.257152315928L,
22.005472782496L, -11.131180763073L, 22.091151023056L, -11.005011233289L,
22.176973259847L, -10.878633734774L, 22.262946335923L, -10.752038211378L,
22.349077141176L, -10.625214539321L, 22.435372614607L, -10.498152523865L,
22.521839746631L, -10.370841895945L, 22.608485581409L, -10.243272308743L,
22.695317219227L, -10.115433334210L, 22.782341818906L, -9.987314459544L,
22.869566600251L, -9.858905083592L, 22.956998846550L, -9.730194513210L,
23.044645907105L, -9.601171959549L, 23.132515199816L, -9.471826534276L,
23.220614213812L, -9.342147245731L, 23.308950512128L, -9.212122995011L,
23.397531734439L, -9.081742571977L, 23.486365599838L, -8.950994651182L,
23.575459909686L, -8.819867787721L, 23.664822550503L, -8.688350412999L,
23.754461496930L, -8.556430830401L, 23.844384814756L, -8.424097210883L,
23.934600664000L, -8.291337588455L, 24.025117302073L, -8.158139855576L,
24.115943087006L, -8.024491758440L, 24.207086480749L, -7.890380892155L,
24.298556052554L, -7.755794695809L, 24.390360482431L, -7.620720447428L,
24.482508564690L, -7.485145258807L, 24.575009211571L, -7.349056070211L,
24.667871456960L, -7.212439644963L, 24.761104460199L, -7.075282563878L,
24.854717509992L, -6.937571219572L, 24.948720028417L, -6.799291810616L,
25.043121575031L, -6.660430335540L, 25.137931851092L, -6.520972586690L,
25.233160703893L, -6.380904143909L, 25.328818131205L, -6.240210368055L,
25.424914285852L, -6.098876394345L, 25.521459480399L, -5.956887125515L,
25.618464191985L, -5.814227224788L, 25.715939067277L, -5.670881108650L,
25.813894927577L, -5.526832939422L, 25.912342774064L, -5.382066617610L,
26.011293793201L, -5.236565774052L, 26.110759362285L, -5.090313761820L,
26.210751055173L, -4.943293647895L, 26.311280648172L, -4.795488204587L,
26.412360126106L, -4.646879900708L, 26.514001688573L, -4.497450892468L,
26.616217756379L, -4.347183014104L, 26.719020978191L, -4.196057768210L,
26.822424237375L, -4.044056315780L, 26.926440659067L, -3.891159465930L,
27.031083617452L, -3.737347665302L, 27.136366743287L, -3.582600987129L,
27.242303931659L, -3.426899119948L, 27.348909349994L, -3.270221355959L,
27.456197446331L, -3.112546578989L, 27.564182957863L, -2.953853252079L,
27.672880919767L, -2.794119404647L, 27.782306674324L, -2.633322619233L,
27.892475880347L, -2.471440017795L, 28.003404522927L, -2.308448247544L,
28.115108923518L, -2.144323466296L, 28.227605750358L, -1.979041327322L,
28.340912029264L, -1.812576963676L, 28.455045154790L, -1.644904971974L,
28.570022901791L, -1.475999395610L, 28.685863437384L, -1.305833707373L,
28.802585333345L, -1.134380791452L, 28.920207578947L, -0.961612924794L,
29.038749594260L, -0.787501757787L, 29.158231243945L, -0.612018294243L,
29.278672851543L, -0.435132870652L, 29.400095214300L, -0.256815134665L,
29.522519618540L, -0.077034022780L, 29.645967855618L, 0.104242262798L,
29.770462238471L, 0.287046278187L, 29.896025618803L, 0.471411362745L,
30.022681404924L, 0.657371664963L, 30.150453580283L, 0.844962169334L,
30.279366722714L, 1.034218724277L, 30.409446024440L, 1.225178071144L,
30.540717312869L, 1.417877874367L, 30.673207072204L, 1.612356752802L,
30.806942465930L, 1.808654312320L, 30.941951360198L, 2.006811179706L,
31.078262348165L, 2.206869037936L, 31.215904775318L, 2.408870662879L,
31.354908765856L, 2.612859961519L, 31.495305250149L, 2.818882011746L,
31.637125993358L, 3.026983103814L, 31.780403625252L, 3.237210783531L,
31.925171671290L, 3.449613897277L, 32.071464585032L, 3.664242638939L,
32.219317781944L, 3.881148598861L, 32.368767674671L, 4.100384814908L,
32.519851709845L, 4.322005825753L, 32.672608406519L, 4.546067726504L,
32.827077396304L, 4.772628226790L, 32.983299465297L, 5.001746711436L,
33.141316597903L, 5.233484303858L, 33.301172022639L, 5.467903932332L,
33.462910260041L, 5.705070399283L, 33.626577172774L, 5.945050453753L,
33.792220018071L, 6.187912867236L, 33.959887502634L, 6.433728513047L,
34.129629840122L, 6.682570449423L, 34.301498811374L, 6.934514006577L,
34.475547827530L, 7.189636877909L, 34.651831996196L, 7.448019215614L,
34.830408190842L, 7.709743730941L, 35.011335123619L, 7.974895799371L,
35.194673421772L, 8.243563570981L, 35.380485707891L, 8.515838086326L,
35.568836684205L, 8.791813398132L, 35.759793221156L, 9.071586699170L,
35.953424450534L, 9.355258456658L, 36.149801863420L, 9.642932553609L,
36.348999413250L, 9.934716437518L, 36.551093624307L, 10.230721276869L,
36.756163705976L, 10.531062125921L, 36.964291673135L, 10.835858098300L,
37.175562473052L, 11.145232549957L, 37.390064119219L, 11.459313272072L,
37.607887832556L, 11.778232694559L, 37.829128190481L, 12.102128100848L,
38.053883284338L, 12.431141854673L, 38.282254885762L, 12.765421639684L,
38.514348622553L, 13.105120712706L, 38.750274164728L, 13.450398171578L,
38.990145421414L, 13.801419238569L, 39.234080749354L, 14.158355560410L,
39.482203173817L, 14.521385526133L, 39.734640622790L, 14.890694603914L,
39.991526175383L, 15.266475698308L, 40.252998325486L, 15.648929529290L,
40.519201261752L, 16.038265034707L, 40.790285165127L, 16.434699797815L,
41.066406525204L, 16.838460501765L, 41.347728476816L, 17.249783413048L,
41.634421158392L, 17.668914896040L, 41.926662093737L, 18.096111961058L,
42.224636599041L, 18.531642848451L, 42.528538217087L, 18.975787651569L,
42.838569180804L, 19.428838981624L, 43.154940908496L, 19.891102677796L,
43.477874533315L, 20.362898566199L, 43.807601469773L, 20.844561271696L,
44.144364020331L, 21.336441086885L, 44.488416025449L, 21.838904903031L,
44.840023560743L, 22.352337208146L, 45.199465685291L, 22.877141157941L,
45.567035245535L, 23.413739725945L, 45.943039739637L, 23.962576939685L,
46.327802247679L, 24.524119210559L, 46.721662433626L, 25.098856765784L,
47.124977625594L, 25.687305191672L, 47.538123981679L, 26.290007098495L,
47.961497749325L, 26.907533918226L, 48.395516627141L, 27.540487847741L,
48.840621239010L, 28.189503951372L, 49.297276731441L, 28.855252438287L,
49.765974506372L, 29.538441131899L, 50.247234103002L, 30.239818150466L,
50.741605243847L, 30.960174820258L, 51.249670061959L, 31.700348845198L,
51.772045528347L, 32.461227759711L, 52.309386100879L, 33.243752694745L,
52.862386618639L, 34.048922490652L, 53.431785468677L, 34.877798194760L,
54.018368055569L, 35.731507986312L, 54.622970608078L, 36.611252576912L,
55.246484361821L, 37.518311140949L, 55.889860161962L, 38.454047837690L,
56.554113536010L, 39.419918995107L, 57.240330293730L, 40.417481035134L,
57.949672719187L, 41.448399231236L, 58.683386429324L, 42.514457402100L,
59.442807984318L, 43.617568660375L, 60.229373347672L, 44.759787352938L,
61.044627308862L, 45.943322349750L, 61.890233998815L, 47.170551862493L,
62.767988649048L, 48.444040002541L, 63.679830769575L, 49.766555321304L,
64.627858949458L, 51.141091615607L, 65.614347518056L, 52.570891327791L,
66.641765345831L, 54.059471926279L, 67.712797112377L, 55.610655719330L,
68.830367428006L, 57.228603635064L, 69.997668265952L, 58.917853597703L,
71.218190247920L, 60.683364246930L, 72.495758429905L, 62.530564889481L,
73.834573362366L, 64.465412745308L, 75.239258354982L, 66.494458762949L,
76.714914068620L, 68.624923539994L, 78.267181795564L, 70.864785207583L,
79.902317086033L, 73.222881539633L, 81.627275750945L, 75.709029049563L,
83.449814739476L, 78.334162468592L, 85.378610983889L, 81.110498798185L,
87.423402061870L, 84.051731145619L, 89.595153499953L, 87.173258854225L,
91.906258801066L, 90.492462121130L, 94.370779921298L, 94.029031481689L,
97.004738079659L, 97.805365406182L, 99.826467646897L, 101.847053044066L,
102.857049690160L, 106.183464207754L, 106.120846928019L, 110.848475500559L,
109.646168923228L, 115.881370768319L, 113.466106112823L, 121.327966822696L,
173.276951060510L, 181.089830123627L, 189.649768042114L, 199.069188947665L,
209.484330411619L, 221.061919967733L, 234.008238504604L, 248.581632517866L,
265.110115831537L, 284.016661962186L, 305.856434254100L, 331.373124915083L,
361.586988593788L, 397.937678467155L, 442.526640258138L, 498.551505350353L,
571.139144243223L, 669.088040940028L, 808.959043055547L, 1026.378595262401L,
1416.170490379378L, 2357.121295296745L, 9789.717608671457L, 2137.554770649966L,
3138.858288882086L, 3522.067542543018L, 1641.852757407762L, 1121.343919306686L,
861.858714995203L, 703.094067764407L, 594.968498329319L, 516.237668782173L,
456.203643432004L, 408.845626376496L, 370.498219758862L, 338.794971092069L,
312.136529858792L, 289.401534575997L, 269.779641960074L, 252.670246446270L,
237.618496093992L, 224.273459911695L, 212.359962847287L, 201.659134354744L,
191.994672247213L, 183.222949849079L, 175.225765247397L, 167.904942944872L,
161.178257379728L, 154.976314881122L, 149.240140677745L, 143.919291453871L,
138.970364412946L, 134.355808835939L, 130.042970791417L, 126.003319264773L,
122.211814702840L, 118.646390277230L, 115.287523048539L, 112.117877348673L,
109.122006568073L, 106.286102476190L, 103.597783458122L, 101.045914791838L,
98.620455445464L, 96.312326935742L, 94.113300625983L, 92.015900506155L,
90.013319027959L, 88.099343993359L, 86.268294838330L, 84.514966932144L,
82.834582739364L, 81.222748877485L, 79.675418255932L, 78.188856608176L,
76.759612833315L, 75.384492650473L, 74.060535142025L, 72.784991822590L,
71.555307921988L, 70.369105613583L, 69.224168956065L, 68.118430347795L,
67.049958319326L, 66.016946512324L, 65.017703712474L, 64.050644820586L,
63.114282660446L, 62.207220534279L, 61.328145447416L, 60.475821932992L,
59.649086415569L, 58.846842059595L, 58.068054054706L, 57.311745295261L,
56.576992416164L, 55.862922151158L, 55.168707983384L, 54.493567061208L,
53.836757355109L, 53.197575033931L, 52.575352041008L, 51.969453852603L,
51.379277402870L, 50.804249161078L, 50.243823348222L, 49.697480281361L,
49.164724835147L, 48.645085010977L, 48.138110605080L, 47.643371967652L,
47.160458845857L, 46.688979304164L, 46.228558716039L, 45.778838821563L,
45.339476845996L, 44.910144674738L, 44.490528080528L, 44.080325999045L,
43.679249849438L, 43.287022896542L, 42.903379651839L, 42.528065310448L,
42.160835221633L, 41.801454390534L, 41.449697008982L, 41.105346013449L,
40.768192668314L, 40.438036172769L, 40.114683289819L, 39.797947995938L,
39.487651150058L, 39.183620180647L, 38.885688789746L, 38.593696672894L,
38.307489253962L, 38.026917433972L, 37.751837353052L, 37.482110164737L,
37.217601821867L, 36.958182873400L, 36.703728271495L, 36.454117188268L,
36.209232841648L, 35.968962329833L, 35.733196473832L, 35.501829667651L,
35.274759735690L, 35.051887796949L, 34.833118135668L, 34.618358078048L,
34.407517874729L, 34.200510588698L, 33.997251988359L, 33.797660445477L,
33.601656837735L, 33.409164455681L, 33.220108913816L, 33.034418065626L,
32.852021922348L, 32.672852575286L, 32.496844121484L, 32.323932592618L,
32.154055886907L, 31.987153703930L, 31.823167482187L, 31.662040339274L,
31.503717014553L, 31.348143814182L, 31.195268558416L, 31.045040531045L,
30.897410430892L, 30.752330325257L, 30.609753605233L, 30.469634942790L,
30.331930249568L, 30.196596637275L, 30.063592379642L, 29.932876875857L,
29.804410615400L, 29.678155144237L, 29.554073032301L, 29.432127842205L,
29.312284099138L, 29.194507261891L, 29.078763694959L, 28.965020641688L,
28.853246198401L, 28.743409289486L, 28.635479643388L, 28.529427769476L,
28.425224935742L, 28.322843147313L, 28.222255125722L, 28.123434288925L,
28.026354732023L, 27.930991208671L, 27.837319113135L, 27.745314462980L,
27.654953882364L, 27.566214585905L, 27.479074363122L, 27.393511563390L,
27.309505081434L, 27.227034343301L, 27.146079292826L, 27.066620378547L,
26.988638541068L, 26.912115200848L, 26.837032246401L, 26.763372022898L,
26.691117321139L, 26.620251366905L, 26.550757810664L, 26.482620717610L,
26.415824558047L, 26.350354198083L, 26.286194890635L, 26.223332266732L,
26.161752327105L, 26.101441434058L, 26.042386303604L, 25.984573997863L,
25.927991917711L, 25.872627795674L, 25.818469689052L, 25.765505973276L,
25.713725335486L, 25.663116768319L, 25.613669563908L, 25.565373308074L,
25.518217874728L, 25.472193420443L, 25.427290379224L, 25.383499457448L,
25.340811628980L, 25.299218130454L, 25.258710456720L, 25.219280356448L,
25.180919827884L, 25.143621114760L, 25.107376702347L, 25.072179313649L,
25.038021905740L, 25.004897666231L, 24.972800009870L, 24.941722575268L,
24.911659221760L, 24.882604026371L, 24.854551280919L, 24.827495489220L,
24.801431364419L, 24.776353826422L, 24.752257999445L, 24.729139209670L,
24.706992982996L, 24.685815042906L, 24.665601308427L, 24.646347892187L,
24.628051098582L, 24.610707422020L, 24.594313545274L, 24.578866337924L,
24.564362854886L, 24.550800335034L, 24.538176199912L, 24.526488052533L,
24.515733676262L, 24.505911033789L, 24.497018266182L, 24.489053692030L,
24.482015806662L, 24.475903281455L, 24.470714963219L, 24.466449873666L,
24.463107208963L, 24.460686339356L, 24.459186808886L, 24.458608335175L,
24.458950809302L, 24.460214295745L, 24.462399032417L, 24.465505430773L,
24.469534075999L, 24.474485727283L, 24.480361318160L, 24.487161956947L,
24.494888927249L, 24.503543688554L, 24.513127876906L, 24.523643305660L,
24.535091966323L, 24.547476029474L, 24.560797845774L, 24.575059947059L,
24.590265047518L, 24.606416044958L, 24.623516022164L, 24.641568248340L,
24.660576180644L, 24.680543465821L, 24.701473941920L, 24.723371640112L,
24.746240786609L, 24.770085804668L, 24.794911316712L, 24.820722146542L,
24.847523321655L, 24.875320075675L, 24.904117850882L, 24.933922300862L,
24.964739293265L, 24.996574912678L, 25.029435463622L, 25.063327473663L,
25.098257696656L, 25.134233116106L, 25.171260948671L, 25.209348647790L,
25.248503907451L, 25.288734666103L, 25.330049110707L, 25.372455680945L,
25.415963073568L, 25.460580246918L, 25.506316425597L, 25.553181105310L,
25.601184057882L, 25.650335336442L, 25.700645280797L, 25.752124522990L,
25.804783993053L, 25.858634924958L, 25.913688862768L, 25.969957667014L,
26.027453521277L, 26.086188939001L, 26.146176770541L, 26.207430210453L,
26.269962805027L, 26.333788460083L, 26.398921449034L, 26.465376421222L,
26.533168410542L, 26.602312844355L, 26.672825552715L, 26.744722777909L,
26.818021184322L, 26.892737868648L, 26.968890370446L, 27.046496683067L,
27.125575264959L, 27.206145051358L, 27.288225466399L, 27.371836435635L,
27.456998399009L, 27.543732324273L, 27.632059720880L, 27.722002654378L,
27.813583761303L, 27.906826264611L, 28.001753989657L, 28.098391380758L,
28.196763518343L, 28.296896136730L, 28.398815642553L, 28.502549133858L,
28.608124419904L, 28.715570041696L, 28.824915293278L, 28.936190243819L,
29.049425760532L, 29.164653532450L, 29.281906095110L, 29.401216856166L,
29.522620121997L, 29.646151125326L, 29.771846053916L, 29.899742080377L,
30.029877393148L, 30.162291228692L, 30.297023904968L, 30.434116856242L,
30.573612669281L, 30.715555121023L, 30.859989217765L, 31.006961235953L,
31.156518764649L, 31.308710749761L, 31.463587540102L, 31.621200935388L,
31.781604236262L, 31.944852296434L, 32.111001577055L, 32.280110203436L,
32.452238024215L, 32.627446673118L, 32.805799633420L, 32.987362305278L,
33.172202076047L, 33.360388393765L, 33.551992843960L, 33.747089229956L,
33.945753656862L, 34.148064619450L, 34.354103094132L, 34.563952635241L,
34.777699475889L, 34.995432633618L, 35.217244021140L, 35.443228562431L,
35.673484314509L, 35.908112595195L, 36.147218117221L, 36.390909129051L,
36.639297562797L, 36.892499189678L, 37.150633783438L, 37.413825292236L,
37.682202019499L, 37.955896814300L, 38.235047271849L, 38.519795944723L,
38.810290565524L, 39.106684281677L, 39.409135903155L, 39.717810163970L,
40.032877998329L, 40.354516832411L, 40.682910892833L, 41.018251532892L,
41.360737577825L, 41.710575690367L, 42.067980758020L, 42.433176303563L,
42.806394920425L, 43.187878734713L, 43.577879895813L, 43.976661097640L,
44.384496132803L, 44.801670482132L, 45.228481942222L, 45.665241293894L,
46.112273014715L, 46.569916039002L, 47.038524569043L, 47.518468941606L,
48.010136554191L, 48.513932855871L, 49.030282408055L, 49.559630020987L,
50.102441972369L, 50.659207315118L, 51.230439281955L, 51.816676795296L,
52.418486091777L, 53.036462471690L, 53.671232184690L, 54.323454464314L,
54.993823725205L, 55.683071938422L, 56.391971201908L, 57.121336525098L,
57.872028848758L, 58.644958323586L, 59.441087873821L, 60.261437075189L,
61.107086380035L, 61.979181726449L, 62.878939572745L, 63.807652403808L,
64.766694761758L, 65.757529860095L, 66.781716848326L, 67.840918802939L,
68.936911530940L, 70.071593284018L, 71.246995495198L, 72.465294665849L,
73.728825549462L, 75.040095800402L, 76.401802281169L, 77.816849251561L,
79.288368698156L, 80.819743103960L, 82.414631007043L, 84.076995755192L,
85.811137933004L, 87.621732020748L, 89.513867943987L, 91.493098292880L,
93.565492135266L, 95.737696524017L, 98.017007014219L, 100.411448769477L,
102.929870161318L, 105.582051167500L, 108.378829374948L, 111.332247018321L,
114.455723271965L, 117.764257008775L, 121.274666508083L, 125.005874221757L,
128.979246809526L, 133.219003390427L, 137.752708547383L, 142.611871373382L,
147.832678194381L, 153.456895164466L, 159.532988596985L, 166.117526979351L,
0.824675448244L, 0.830452051671L, 0.836195475919L, 0.841900869101L,
0.847562384922L, 0.853172914163L, 0.858723724208L, 0.864203967624L,
0.869600000739L, 0.874894420616L, 0.880064674609L, 0.885081003532L,
0.889903313510L, 0.894476263737L, 0.898721258444L, 0.902522800203L,
0.905703957724L, 0.907979268043L, 0.908856483498L, 0.907408059144L,
0.901654011645L, 0.886482065417L, 0.843454032351L, -2.520297596229L,
1.350552977890L, -2.029078895314L, -2.073549833545L, -2.089124424189L,
-2.095044818954L, -2.096577593142L, -2.095748935593L, -2.093504107387L,
-2.090343328604L, -2.086556079349L, -2.082321493390L, -2.077756357584L,
-2.072940063287L, -2.067928463772L, -2.062761995080L, -2.057470651921L,
-2.052077153355L, -2.046599022601L, -2.041049992017L, -2.035440975590L,
-2.029780756664L, -2.024076483672L, -2.018334033612L, -2.012558282682L,
-2.006753310610L, -2.000922556897L, -1.995068941654L, -1.989194960081L,
-1.983302757039L, -1.977394186449L, -1.971470859011L, -1.965534180816L,
-1.959585384844L, -1.953625556803L, -1.947655656485L, -1.941676535501L,
-1.935688952113L, -1.929693583676L, -1.923691037154L, -1.917681858031L,
-1.911666537904L, -1.905645520976L, -1.899619209636L, -1.893587969263L,
-1.887552132388L, -1.881512002305L, -1.875467856213L, -1.869419947967L,
-1.863368510483L, -1.857313757852L, -1.851255887208L, -1.845195080375L,
-1.839131505319L, -1.833065317452L, -1.826996660777L, -1.820925668922L,
-1.814852466053L, -1.808777167700L, -1.802699881496L, -1.796620707838L,
-1.790539740486L, -1.784457067106L, -1.778372769752L, -1.772286925314L,
-1.766199605912L, -1.760110879266L, -1.754020809024L, -1.747929455063L,
-1.741836873768L, -1.735743118279L, -1.729648238722L, -1.723552282423L,
-1.717455294098L, -1.711357316032L, -1.705258388241L, -1.699158548624L,
-1.693057833100L, -1.686956275736L, -1.680853908865L, -1.674750763197L,
-1.668646867917L, -1.662542250780L, -1.656436938197L, -1.650330955317L,
-1.644224326100L, -1.638117073387L, -1.632009218966L, -1.625900783631L,
-1.619791787237L, -1.613682248756L, -1.607572186322L, -1.601461617279L,
-1.595350558224L, -1.589239025044L, -1.583127032958L, -1.577014596550L,
-1.570901729799L, -1.564788446115L, -1.558674758366L, -1.552560678903L,
-1.546446219590L, -1.540331391823L, -1.534216206557L, -1.528100674327L,
-1.521984805265L, -1.515868609122L, -1.509752095285L, -1.503635272794L,
-1.497518150357L, -1.491400736369L, -1.485283038919L, -1.479165065813L,
-1.473046824577L, -1.466928322478L, -1.460809566529L, -1.454690563503L,
-1.448571319943L, -1.442451842172L, -1.436332136300L, -1.430212208238L,
-1.424092063700L, -1.417971708215L, -1.411851147136L, -1.405730385641L,
-1.399609428748L, -1.393488281314L, -1.387366948048L, -1.381245433511L,
-1.375123742126L, -1.369001878181L, -1.362879845834L, -1.356757649122L,
-1.350635291960L, -1.344512778148L, -1.338390111377L, -1.332267295231L,
-1.326144333190L, -1.320021228637L, -1.313897984859L, -1.307774605051L,
-1.301651092320L, -1.295527449688L, -1.289403680095L, -1.283279786399L,
-1.277155771384L, -1.271031637761L, -1.264907388165L, -1.258783025168L,
-1.252658551270L, -1.246533968910L, -1.240409280464L, -1.234284488249L,
-1.228159594520L, -1.222034601482L, -1.215909511279L, -1.209784326008L,
-1.203659047713L, -1.197533678388L, -1.191408219981L, -1.185282674392L,
-1.179157043480L, -1.173031329056L, -1.166905532894L, -1.160779656723L,
-1.154653702237L, -1.148527671090L, -1.142401564898L, -1.136275385243L,
-1.130149133673L, -1.124022811701L, -1.117896420808L, -1.111769962443L,
-1.105643438027L, -1.099516848947L, -1.093390196565L, -1.087263482214L,
-1.081136707200L, -1.075009872801L, -1.068882980273L, -1.062756030844L,
-1.056629025721L, -1.050501966085L, -1.044374853096L, -1.038247687892L,
-1.032120471589L, -1.025993205283L, -1.019865890051L, -1.013738526947L,
-1.007611117011L, -1.001483661260L, -0.995356160697L, -0.989228616305L,
-0.983101029052L, -0.976973399888L, -0.970845729749L, -0.964718019554L,
-0.958590270209L, -0.952462482604L, -0.946334657615L, -0.940206796105L,
-0.934078898923L, -0.927950966906L, -0.921823000879L, -0.915695001653L,
-0.909566970028L, -0.903438906793L, -0.897310812727L, -0.891182688597L,
-0.885054535159L, -0.878926353159L, -0.872798143336L, -0.866669906416L,
-0.860541643117L, -0.854413354150L, -0.848285040214L, -0.842156702003L,
-0.836028340201L, -0.829899955484L, -0.823771548522L, -0.817643119976L,
-0.811514670501L, -0.805386200745L, -0.799257711350L, -0.793129202950L,
-0.787000676175L, -0.780872131648L, -0.774743569987L, -0.768614991802L,
-0.762486397702L, -0.756357788287L, -0.750229164156L, -0.744100525899L,
-0.737971874106L, -0.731843209360L, -0.725714532240L, -0.719585843323L,
-0.713457143181L, -0.707328432382L, -0.701199711493L, -0.695070981074L,
-0.688942241686L, -0.682813493886L, -0.676684738228L, -0.670555975263L,
-0.664427205541L, -0.658298429610L, -0.652169648014L, -0.646040861299L,
-0.639912070005L, -0.633783274675L, -0.627654475848L, -0.621525674063L,
-0.615396869857L, -0.609268063767L, -0.603139256330L, -0.597010448082L,
-0.590881639559L, -0.584752831297L, -0.578624023830L, -0.572495217697L,
-0.566366413432L, -0.560237611573L, -0.554108812657L, -0.547980017224L,
-0.541851225813L, -0.535722438965L, -0.529593657222L, -0.523464881127L,
-0.517336111228L, -0.511207348070L, -0.505078592204L, -0.498949844181L,
-0.492821104556L, -0.486692373884L, -0.480563652725L, -0.474434941642L,
-0.468306241200L, -0.462177551967L, -0.456048874517L, -0.449920209424L,
-0.443791557267L, -0.437662918632L, -0.431534294105L, -0.425405684279L,
-0.419277089751L, -0.413148511122L, -0.407019948999L, -0.400891403994L,
-0.394762876724L, -0.388634367812L, -0.382505877887L, -0.376377407584L,
-0.370248957545L, -0.364120528416L, -0.357992120853L, -0.351863735517L,
-0.345735373077L, -0.339607034210L, -0.333478719600L, -0.327350429938L,
-0.321222165927L, -0.315093928274L, -0.308965717698L, -0.302837534925L,
-0.296709380694L, -0.290581255750L, -0.284453160849L, -0.278325096759L,
-0.272197064257L, -0.266069064131L, -0.259941097183L, -0.253813164222L,
-0.247685266074L, -0.241557403574L, -0.235429577572L, -0.229301788930L,
-0.223174038524L, -0.217046327244L, -0.210918655995L, -0.204791025695L,
-0.198663437280L, -0.192535891699L, -0.186408389921L, -0.180280932929L,
-0.174153521722L, -0.168026157321L, -0.161898840761L, -0.155771573100L,
-0.149644355411L, -0.143517188791L, -0.137390074355L, -0.131263013240L,
-0.125136006606L, -0.119009055635L, -0.112882161530L, -0.106755325520L,
-0.100628548860L, -0.094501832828L, -0.088375178730L, -0.082248587896L,
-0.076122061688L, -0.069995601493L, -0.063869208731L, -0.057742884849L,
-0.051616631328L, -0.045490449681L, -0.039364341454L, -0.033238308227L,
-0.027112351616L, -0.020986473276L, -0.014860674897L, -0.008734958208L,
-0.002609324981L, 0.003516222972L, 0.009641683795L, 0.015767055588L,
0.021892336406L, 0.028017524255L, 0.034142617092L, 0.040267612824L,
0.046392509305L, 0.052517304334L, 0.058641995656L, 0.064766580957L,
0.070891057861L, 0.077015423933L, 0.083139676672L, 0.089263813511L,
0.095387831814L, 0.101511728873L, 0.107635501908L, 0.113759148060L,
0.119882664393L, 0.126006047887L, 0.132129295438L, 0.138252403852L,
0.144375369846L, 0.150498190039L, 0.156620860954L, 0.162743379009L,
0.168865740517L, 0.174987941681L, 0.181109978588L, 0.187231847206L,
0.193353543380L, 0.199475062825L, 0.205596401122L, 0.211717553714L,
0.217838515896L, 0.223959282816L, 0.230079849460L, 0.236200210653L,
0.242320361049L, 0.248440295123L, 0.254560007165L, 0.260679491272L,
0.266798741338L, 0.272917751047L, 0.279036513861L, 0.285155023013L,
0.291273271498L, 0.297391252057L, 0.303508957168L, 0.309626379037L,
0.315743509579L, 0.321860340410L, 0.327976862831L, 0.334093067809L,
0.340208945969L, 0.346324487570L, 0.352439682489L, 0.358554520203L,
0.364668989771L, 0.370783079806L, 0.376896778460L, 0.383010073393L,
0.389122951754L, 0.395235400148L, 0.401347404610L, 0.407458950574L,
0.413570022840L, 0.419680605539L, 0.425790682093L, 0.431900235181L,
0.438009246689L, 0.444117697671L, 0.450225568295L, 0.456332837794L,
0.462439484409L, 0.468545485328L, 0.474650816622L, 0.480755453177L,
0.486859368616L, 0.492962535223L, 0.499064923853L, 0.505166503840L,
0.511267242896L, 0.517367107003L, 0.523466060295L, 0.529564064929L,
0.535661080949L, 0.541757066133L, 0.547851975836L, 0.553945762806L,
0.560038376996L, 0.566129765350L, 0.572219871577L, 0.578308635899L,
0.584395994776L, 0.590481880603L, 0.596566221385L, 0.602648940369L,
0.608729955647L, 0.614809179716L, 0.620886518987L, 0.626961873253L,
0.633035135089L, 0.639106189192L, 0.645174911641L, 0.651241169081L,
0.657304817805L, 0.663365702732L, 0.669423656252L, 0.675478496944L,
0.681530028113L, 0.687578036157L, 0.693622288702L, 0.699662532500L,
0.705698491026L, 0.711729861742L, 0.717756312965L, 0.723777480268L,
0.729792962339L, 0.735802316192L, 0.741805051612L, 0.747800624688L,
0.753788430254L, 0.759767793018L, 0.765737957094L, 0.771698073614L,
0.777647185978L, 0.783584212193L, 0.789507923644L, 0.795416919375L,
0.801309594778L, 0.807184103190L, 0.813038308460L, 0.818869725913L,
};
#define TEST_SIZE (512U)
//
// Used for memory alignment
//
#ifdef __cplusplus
#pragma DATA_SECTION("FFT_buffer_1")
#else
#pragma DATA_SECTION(test_input, "FFT_buffer_1")
#endif
#ifdef __cplusplus
#pragma DATA_SECTION("FFT_buffer_2")
#else
#pragma DATA_SECTION(test_output, "FFT_buffer_2")
#endif
float64_t test_output[TEST_SIZE << 1];
float64_t *inPtr = test_input;
float64_t *outPtr = test_output;
uint16_t pass = 0U, fail = 0U;
float64_t tolerance = 1.2e-5;
//
// Main
//
void main(void)
{
//
// CPU initialization
//
Device_init();
Device_initGPIO();
Interrupt_initModule();
Interrupt_initVectorTable();
Board_init();
C2000Ware_libraries_init();
//
// Local variables
//
int16_t i, j;
float64u_t out, gold, errld;
//
// Run the calculation function
//
myCFFT0_handle->calc(myCFFT0_handle);
//
// Verify results
//
for(i = 0U; i < (TEST_SIZE << 1); i++)
{
out.f64 = myCFFT0_handle->p_currInput[i];
gold.f64 = test_golden[i];
errld.f64 = fabsf(out.f64 - gold.f64);
if(errld.f64 < tolerance)
{
pass++;
}
else
{
fail++;
}
}
//
// Run the magnitude function
//
myCFFT0_handle->mag(myCFFT0_handle);
//
// Verify results
//
for(i = (TEST_SIZE << 1), j=0U; i < (3U*TEST_SIZE); i++, j++)
{
out.f64 = myCFFT0_handle->p_currOutput[j];
gold.f64 = test_golden[i];
errld.f64 = fabsf(out.f64 - gold.f64);
if(errld.f64 < tolerance)
{
pass++;
}
else
{
fail++;
}
}
//
// Run the phase function
//
myCFFT0_handle->phase(myCFFT0_handle);
//
// Verify results
//
for(i = (3U*TEST_SIZE), j=0U; i < (4U*TEST_SIZE); i++, j++)
{
out.f64 = myCFFT0_handle->p_currOutput[j];
gold.f64 = test_golden[i];
errld.f64 = fabsf(out.f64 - gold.f64);
if(errld.f64 < tolerance)
{
pass++;
}
else
{
fail++;
}
}
while(1);
}
//
// End of File
//
@@ -0,0 +1,27 @@
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --board "/boards/TMDSCNCD28388D" --context "CPU1" --product "C2000WARE@4.02.00.00"
* @versions {"tool":"1.12.0+2406"}
*/
/**
* Import the modules used in this configuration.
*/
const FFT = scripting.addModule("/libraries/dsp/FPU/FFT/FFT.js", {}, false);
const FFT1 = FFT.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
FFT1.$name = "myFFT0";
FFT1.fpuType = "FPU64";
FFT1.CFFT.create(1);
FFT1.CFFT[0].$name = "myCFFT0";
FFT1.CFFT[0].inPtr = "inPtr";
FFT1.CFFT[0].outPtr = "outPtr";
FFT1.CFFT[0].numStages = 9;
const FPU = scripting.addModule("/libraries/math/FPU/FPU.js", {}, false);
FPU.fpuType = "FPU64";
FPU.tmuType = "NONE";
@@ -0,0 +1,346 @@
#include "c2000ware_libraries.h"
#include "driverlib.h"
#include "device.h"
#include "board.h"
#include "fpu.h"
#include "dsp.h"
#include "dsp_examples_setup.h"
float64_t test_input[571] = {
12.182432736101L, 13.240272807741L, 13.453528790544L, 6.573832585863L,
2.065944310244L, -3.063989115918L, -1.505559123697L, -4.363534124143L,
-6.525775279257L, -10.770371179678L, -6.657080950415L, -3.726277929507L,
1.091358896956L, 1.313620536676L, 5.132521783988L, 3.515709557738L,
2.066037941988L, -2.568439952978L, 0.044431011188L, 0.839749550329L,
2.855287410502L, -0.431673695035L, 0.572296629610L, -0.896732227726L,
0.944776597034L, -0.566752375496L, 1.322428960835L, -1.908269650340L,
-2.451636667667L, -3.308668666527L, 2.870431280321L, 3.725541388238L,
2.882151601939L, -2.312965748825L, 0.073743084414L, 1.239998776150L,
3.350860256692L, -0.751235872216L, -1.218821513653L, -4.046309496695L,
-2.555979728358L, -2.621930243923L, 2.424951789767L, 2.216224200204L,
1.723218556421L, -3.077148464034L, -2.050489500574L, -2.926058784889L,
-0.354012046871L, -0.464124967208L, 3.458486346717L, 1.501751320625L,
0.311218364641L, -2.205012874001L, 3.479956113025L, 5.648258140663L,
5.921800134327L, -0.641256338518L, -1.654920910321L, -2.947006852288L,
-0.188721488219L, -1.546574852857L, 0.032721562675L, -2.868144503431L,
-2.614356649506L, -3.619381641413L, 0.978432005562L, 0.355279191803L,
-0.084046849056L, -3.350693450718L, 0.345337880913L, 1.060216280119L,
2.354424404606L, -0.835268649808L, 1.307168451852L, 0.554992698587L,
1.906417241764L, 0.299233889655L, 4.387996887693L, 4.343317377888L,
3.845680264730L, -2.112572584997L, -2.602862785186L, -4.047448898986L,
-1.343898243250L, -2.157510068880L, -0.210616237204L, -3.645918379809L,
-3.846279018968L, -3.377577129017L, 4.649446965053L, 6.733924838455L,
5.504692728527L, -1.729495633384L, -1.951880040840L, -2.420106901083L,
0.001672198749L, -2.113503374817L, -0.233392914004L, -1.788634476730L,
-0.666007063128L, -2.082150033777L, 1.981063568159L, 2.188288520727L,
3.483716820893L, 0.803264720708L, 2.995533091555L, 1.695557095174L,
2.622400900748L, 0.603237054689L, 3.075516784295L, 0.060830435484L,
-2.485995862002L, -7.213613097450L, -4.278834317872L, -4.122177509628L,
-3.601639901502L, -6.956842000833L, -2.561821879348L, 1.802572298645L,
8.364327067956L, 7.845490415669L, 7.663500983988L, 1.801994753839L,
-0.656397744560L, -3.445137434240L, 0.105997531046L, -1.319410743995L,
-2.415799408127L, -5.694757947382L, -0.740583918518L, 2.492406134364L,
6.530133645783L, 4.651076119504L, 5.394092107805L, 0.568167327090L,
-3.305922370962L, -9.046762480035L, -6.268350083014L, -4.480923436228L,
-1.101412391074L, -2.825847550702L, 0.024978761741L, 0.739358875621L,
4.819870607647L, 4.959483305457L, 7.218170111986L, 2.784922720456L,
-0.154181606936L, -3.687865149460L, 0.506954101782L, 0.599877655846L,
0.092755565262L, -4.243067200291L, -1.059566592812L, 0.601441541511L,
3.044510317643L, -0.638831960992L, -0.564111279917L, -2.996566129363L,
-1.620117605450L, -2.405136669363L, 1.682174145161L, 0.943512885856L,
0.894506652461L, -2.479528541232L, 0.343185088606L, 0.723225024258L,
3.330080262822L, 1.964948601989L, 3.875558499358L, -0.084098965335L,
-2.719880366884L, -6.012073779017L, -0.627632783091L, 1.546898029384L,
2.224255839920L, -3.253371799140L, -2.341960156218L, -1.145097264522L,
3.935322014392L, 3.880662559954L, 5.255022574792L, 0.816999882220L,
-1.056044142127L, -3.907524451814L, -0.359830459547L, -1.278070034887L,
-1.668328069864L, -4.915235376063L, -1.259304521989L, -0.354755235459L,
1.652038021931L, -0.351236787977L, 2.973739883947L, 2.756072579516L,
3.612982749854L, 0.644718631464L, 3.129502709806L, 1.930792296626L,
1.070536765847L, -4.617765848948L, -4.647176686222L, -5.760759222816L,
-2.784179795891L, -2.991926710524L, 0.237413805714L, -1.317787809070L,
0.372261541840L, 1.939532432107L, 9.737503989064L, 10.330059811625L,
6.966242334730L, -2.254764137440L, -3.803104955421L, -4.902246504247L,
-2.704600379360L, -4.892890412697L, -2.905384131460L, -3.913542911762L,
-1.630390044913L, -1.492376080164L, 3.881081957792L, 4.426999340283L,
4.745877003466L, 0.099076744642L, 0.206957641136L, -2.345904829770L,
-1.323208913146L, -2.035021539751L, 2.351223834399L, 1.214390525485L,
0.180380221588L, -3.375889378157L, 0.511164349854L, 1.323689631883L,
1.856433832759L, -2.508377961998L, -0.184787514815L, 1.539971284443L,
5.751388081034L, 3.935246656747L, 3.735136951550L, -1.296556686072L,
-2.871241229693L, -5.369135721799L, -2.240513835791L, -4.393108736349L,
-5.927843990226L, -8.997811222349L, -3.252521700125L, 1.020878521108L,
6.092345075951L, 5.296900140960L, 7.466171687813L, 4.601559883807L,
2.988745659322L, -0.890171344402L, 2.513303694754L, 3.200357353731L,
3.928648209739L, -1.240838128493L, -1.710706695104L, -3.582913077167L,
-1.255575826642L, -2.271402433083L, -0.758985055869L, -5.398699998214L,
-7.612943051518L, -9.184140594764L, -1.930173390920L, 1.646011934664L,
4.126275091000L, 1.583338656138L, 5.218287906312L, 6.363583443478L,
7.870817881385L, 3.157432631825L, 2.067852333779L, -1.871499937314L,
-2.357961368070L, -4.962068430859L, -1.967298745938L, -2.521171687757L,
-1.096790033664L, -2.332090226033L, 2.345228445044L, 3.536372967907L,
5.723888918939L, 3.100674088916L, 3.543780698043L, -1.644787242236L,
-5.197823236962L, -9.254548545341L, -4.549322799205L, -2.734093765877L,
-1.659332615421L, -5.696257313185L, -2.495836592187L, 1.132312478619L,
7.909682537951L, 8.271946999379L, 8.889635025751L, 3.194340556425L,
0.366058468239L, -2.695653404267L, 1.255423458958L, 0.829787795439L,
0.518178215392L, -3.215728525659L, -0.396497619760L, -0.368295853645L,
0.813127122998L, -2.173270782194L, -0.263965848995L, -2.305510590825L,
-3.165731877615L, -6.913782376330L, -3.588875879907L, -2.241632937655L,
0.518956874542L, -1.519448285801L, 1.196940751232L, 1.511777955459L,
4.745640708881L, 4.025973322986L, 6.249455852196L, 3.181239869060L,
2.714988827497L, 1.555816237639L, 6.540477415348L, 4.996226831663L,
0.813753755137L, -7.781417463899L, -7.741426267831L, -7.090077211040L,
-3.620085217626L, -5.159308547558L, -2.829069801622L, -3.376446949171L,
-0.377928365322L, 0.446055337163L, 5.999729365681L, 5.960923935051L,
5.158673555180L, -0.516657920513L, -0.711187209011L, -2.624930215879L,
-0.368452685651L, 0.074871880811L, 4.977775884303L, 3.597191681801L,
1.860508542087L, -2.448433004094L, 0.799110431789L, 0.897513156468L,
0.330875737347L, -5.573339561528L, -4.810905210436L, -3.924063431342L,
0.803939776413L, 0.940473294573L, 3.541909702535L, 1.198628064911L,
1.377213219514L, -0.591308601595L, 2.113750617501L, -0.901303104275L,
-3.376545304512L, -7.435195664914L, -2.879044530346L, -0.010845330088L,
3.757614743871L, 2.295741022431L, 4.815488763043L, 3.199867109325L,
3.082095140431L, 0.100279317964L, 3.277276004038L, 2.739356365440L,
1.944055595752L, -4.205737779152L, -4.621686553238L, -5.492104210330L,
-1.714618794801L, -1.348820278972L, 1.258368427749L, -2.482341940240L,
-3.859348397942L, -4.771766683400L, 2.545576428188L, 5.141380627253L,
5.516748718027L, 0.247524366011L, 1.456775126914L, 1.346066809233L,
3.109011449240L, -0.181269915851L, 0.545524544344L, -1.903758219124L,
-1.517053038778L, -3.702809025661L, -0.429817221796L, -0.738334001751L,
0.672530877689L, -1.186957847738L, 2.149112107129L, 1.649950289526L,
2.522205495193L, -0.369211609111L, 1.056933225833L, -2.286103255334L,
-3.856713164564L, -6.405502586227L, -0.842700806382L, 1.409690137475L,
2.802640652065L, -1.024479617595L, 1.902550409930L, 4.276424599931L,
8.629809559504L, 5.792887306921L, 3.310138896409L, -4.464531040943L,
-7.850632626951L, -10.065108804795L, -4.403989789401L, -2.814149226111L,
-1.060890787932L, -2.634477100142L, 2.508672225430L, 4.811670836195L,
7.675552136494L, 5.184727798955L, 6.173725134626L, 2.169062506224L,
-0.869663096305L, -6.190574283496L, -3.488258156924L, -2.104946417135L,
0.676664037928L, -1.929483053367L, -0.471550680877L, -1.718701492428L,
0.211129775482L, -1.205811918329L, 0.898008005774L, -1.958551738935L,
-2.017433021425L, -2.395711506891L, 4.120216178002L, 5.066991167932L,
4.039300799539L, -1.562380840472L, 0.315143330742L, 1.013980889306L,
2.820348740855L, -1.362451831982L, -1.699551907454L, -4.257082710703L,
-2.453214611890L, -2.241279827617L, 3.015070653723L, 2.967345971618L,
2.639030030392L, -1.948052080066L, -0.663825069085L, -1.316442382367L,
1.296321700717L, 0.869424843815L, 3.981692929012L, 0.695939919504L,
-2.206039627713L, -6.512216205311L, -2.272836474829L, -0.761803641408L,
-0.015951176363L, -4.853854078910L, -3.054841270921L, -0.899842238654L,
5.279219068283L, 6.592487258029L, 9.482310962926L, 6.191980523472L,
4.387202588368L, 0.063962939982L, 0.783393868458L, -3.453955840921L,
-6.493930201728L, -10.855443389189L, -6.629335587871L, -4.032209069599L,
-0.085554914910L, -0.582685646687L, 3.609244190637L, 3.802956760267L,
4.868353848001L, 1.962834850818L, 4.229227046919L, 2.446118712575L,
0.846774841055L, -5.230300572994L, -4.803986095028L, -4.539011178953L,
0.209986379795L, 1.241618970093L, 4.368342858277L, 1.174626945516L,
0.258066766929L, -0.726203771512L, 5.495056254207L, 5.852205047507L,
0.000359976670L, -0.000434091233L, -0.000941633220L, -0.001662963303L,
-0.002401690879L, -0.002895125406L, -0.002849792236L, -0.002018453018L,
-0.000295152412L, 0.002199321830L, 0.005070891835L, 0.007672335634L,
0.009204313082L, 0.008887369916L, 0.006181062702L, 0.000998827742L,
-0.006135795740L, -0.014043791726L, -0.020990186600L, -0.024933498021L,
-0.023892270448L, -0.016363317305L, -0.001706184865L, 0.019595921893L,
0.045863956323L, 0.074386051109L, 0.101782198366L, 0.124539463534L,
0.139593998881L, 0.144858856161L, 0.139593998881L, 0.124539463534L,
0.101782198366L, 0.074386051109L, 0.045863956323L, 0.019595921893L,
-0.001706184865L, -0.016363317305L, -0.023892270448L, -0.024933498021L,
-0.020990186600L, -0.014043791726L, -0.006135795740L, 0.000998827742L,
0.006181062702L, 0.008887369916L, 0.009204313082L, 0.007672335634L,
0.005070891835L, 0.002199321830L, -0.000295152412L, -0.002018453018L,
-0.002849792236L, -0.002895125406L, -0.002401690879L, -0.001662963303L,
-0.000941633220L, -0.000434091233L, 0.000359976670L, };
const float64_t test_golden[512] = {
0.004385391575L, -0.000522097922L, -0.012375913210L, -0.036200051835L,
-0.066054766368L, -0.097631349697L, -0.117450189298L, -0.118527317646L,
-0.086596103258L, -0.016058356464L, 0.095934828082L, 0.230198695980L,
0.360754927412L, 0.446953102835L, 0.452441454072L, 0.340444862903L,
0.101337272264L, -0.248874315618L, -0.652628187821L, -1.029567817967L,
-1.272228550205L, -1.275343784477L, -0.946597189263L, -0.245528963627L,
0.812552703699L, 2.136317027526L, 3.576256079918L, 4.930340057908L,
5.990402655523L, 6.565689566671L, 6.528787024835L, 5.828623137762L,
4.521349505703L, 2.755329734530L, 0.759517811455L, -1.209287640490L,
-2.894027553662L, -4.089310095872L, -4.661644662925L, -4.583206799451L,
-3.918212566269L, -2.818789614710L, -1.483452242228L, -0.134882909346L,
1.032442761837L, 1.870332519593L, 2.306436549714L, 2.333309786058L,
2.014760452924L, 1.454982066788L, 0.786181830107L, 0.130152318811L,
-0.405636104153L, -0.753759564596L, -0.882580505687L, -0.810098049426L,
-0.578929135944L, -0.254219658386L, 0.108314363465L, 0.432896036510L,
0.679416687521L, 0.812343427015L, 0.829296519983L, 0.730982406015L,
0.543227414922L, 0.285057124576L, -0.008224981018L, -0.314850418133L,
-0.602247551683L, -0.856100885660L, -1.053701603170L, -1.189108996307L,
-1.244090659606L, -1.214540989990L, -1.084798140895L, -0.856978530667L,
-0.527282735646L, -0.116553708082L, 0.354418554823L, 0.838756703144L,
1.294320830413L, 1.662480446371L, 1.901737166542L, 1.967985864959L,
1.848348146803L, 1.539298078122L, 1.075247185288L, 0.498479476010L,
-0.121847796398L, -0.727248222303L, -1.252651856783L, -1.659906492385L,
-1.914334453622L, -2.012646148512L, -1.953918429976L, -1.761450728260L,
-1.449842782896L, -1.047931323629L, -0.570891762839L, -0.048550276216L,
0.499013388989L, 1.031860945384L, 1.515830065638L, 1.897013792268L,
2.133463984008L, 2.176077757562L, 2.005394971670L, 1.614131140079L,
1.039972353986L, 0.338489957552L, -0.396462996472L, -1.071996892670L,
-1.585902102461L, -1.871504181116L, -1.885130944080L, -1.640326188345L,
-1.180376641199L, -0.597932673191L, 0.005520210611L, 0.511736068024L,
0.834118084825L, 0.909724279450L, 0.738026150047L, 0.355967064545L,
-0.143129896809L, -0.652559723762L, -1.045958653072L, -1.226298333761L,
-1.119517435470L, -0.717082714738L, -0.055697230575L, 0.760268838314L,
1.600540771670L, 2.304480364589L, 2.735204884027L, 2.780351188546L,
2.401470655346L, 1.618879319746L, 0.537299736395L, -0.695103065027L,
-1.884581528634L, -2.850869801371L, -3.433961726162L, -3.549480707066L,
-3.178814385816L, -2.398073059196L, -1.337375050308L, -0.181078264199L,
0.893173200810L, 1.722184126787L, 2.213059291212L, 2.333015207543L,
2.136049471568L, 1.718465066240L, 1.216720423311L, 0.748263431164L,
0.410436896167L, 0.234881743924L, 0.209061883261L, 0.258706641589L,
0.296730730567L, 0.225062930522L, -0.010242057577L, -0.425743916372L,
-0.967052337987L, -1.544725323774L, -2.029310292045L, -2.307578970080L,
-2.285034793709L, -1.935178899558L, -1.281976260196L, -0.421467724077L,
0.522763483775L, 1.397932312129L, 2.077253550719L, 2.458716877420L,
2.508884760689L, 2.239490385442L, 1.724930037084L, 1.057141614650L,
0.350984181763L, -0.302981569257L, -0.826614762950L, -1.188408689022L,
-1.375471982312L, -1.412579487849L, -1.323610214777L, -1.147399429689L,
-0.904024878281L, -0.620486043242L, -0.306244047131L, 0.015913304121L,
0.332809711807L, 0.611155427817L, 0.825068985087L, 0.934282174339L,
0.919489303989L, 0.764177847713L, 0.488266128400L, 0.123806276546L,
-0.261383963968L, -0.600749019274L, -0.817037962939L, -0.865189633914L,
-0.718124114695L, -0.400200161550L, 0.040898754135L, 0.515653250540L,
0.933698663249L, 1.194746290185L, 1.235126598072L, 1.018241289125L,
0.571407185344L, -0.042170657216L, -0.707946507856L, -1.305872780561L,
-1.706648875638L, -1.822888258711L, -1.602833501287L, -1.069543333387L,
-0.294747428484L, 0.585321569670L, 1.418425115455L, 2.037987974450L,
2.320591826493L, 2.185705244399L, 1.640238187170L, 0.756007678611L,
-0.314248199298L, -1.388760443561L, -2.263797812540L, -2.777250503282L,
-2.814577987218L, -2.358541732708L, -1.469194219487L, -0.299613951724L,
0.957565892397L, 2.079001009457L, 2.876347615144L, 3.204943309562L,
3.016611590597L, 2.342827490270L, 1.313342501760L, 0.104310011726L,
-1.070578668007L, -2.025709653672L, -2.610066494199L, -2.756808672671L,
-2.465543134007L, -1.824351032694L, -0.964463228444L, -0.058815085870L,
0.736951699656L, 1.286531467967L, 1.521170617904L, 1.423415713204L,
1.052425479553L, 0.503490803299L, -0.086813290621L, -0.592454931630L,
-0.894704425994L, -0.928663558336L, -0.669132867585L, -0.161390484348L,
0.511746648147L, 1.217928448914L, 1.823760177277L, 2.192173436879L,
2.232104546474L, 1.889320503588L, 1.184087894434L, 0.185821965538L,
-0.969372739135L, -2.125363508550L, -3.104714376427L, -3.761787058137L,
-3.978631200513L, -3.709075928378L, -2.960697551123L, -1.820289584811L,
-0.415023516909L, 1.080462200421L, 2.495026977891L, 3.657923612676L,
4.445370427127L, 4.766554613787L, 4.596572327158L, 3.949393681501L,
2.899773481227L, 1.547844412710L, 0.035847323058L, -1.490281800181L,
-2.867327287173L, -3.956863138794L, -4.633337571361L, -4.824213564278L,
-4.494058505732L, -3.679832078208L, -2.466837533223L, -1.009463983189L,
0.512633708640L, 1.893403303252L, 2.958034297048L, 3.566172805800L,
3.662622236944L, 3.262675076337L, 2.476680845699L, 1.465065291428L,
0.433557446252L, -0.433177402945L, -0.982698841028L, -1.150045734950L,
-0.943936884006L, -0.469264688606L, 0.121959289992L, 0.639727386654L,
0.924940405659L, 0.860362977534L, 0.423187585550L, -0.333742290506L,
-1.266285270551L, -2.194765903508L, -2.916785158262L, -3.275415306402L,
-3.165762619669L, -2.580941876698L, -1.586499376205L, -0.331984528700L,
1.003921275027L, 2.221238493643L, 3.160934662336L, 3.706467498200L,
3.825496409646L, 3.541042821924L, 2.942781459207L, 2.136846220386L,
1.247814369491L, 0.369792119344L, -0.421399110202L, -1.099879226062L,
-1.657450050907L, -2.117943388151L, -2.494372065198L, -2.801076686232L,
-3.017275366179L, -3.112551598697L, -3.026896046580L, -2.711598654186L,
-2.120257418454L, -1.253198519093L, -0.142407369555L, 1.118589832081L,
2.408242948951L, 3.565244352828L, 4.437990901629L, 4.884257148651L,
4.823138870457L, 4.225607105547L, 3.148343886938L, 1.702593271880L,
0.066305967979L, -1.566869226509L, -2.990585022703L, -4.043209573430L,
-4.605892943301L, -4.644065744427L, -4.182015126473L, -3.319332234488L,
-2.185199505940L, -0.942401371646L, 0.263482260832L, 1.298413613226L,
2.081502096914L, 2.563558599345L, 2.751045273488L, 2.670208346137L,
2.381818436503L, 1.941482587118L, 1.416590066882L, 0.854292365410L,
0.307697291968L, -0.190090178825L, -0.598522255180L, -0.897497488938L,
-1.062831484302L, -1.096463660064L, -1.002450376631L, -0.815427753831L,
-0.572726212327L, -0.336509248067L, -0.157154822713L, -0.087195068002L,
-0.142175405032L, -0.320159415855L, -0.573602070918L, -0.841511807612L,
-1.034306772230L, -1.078307029360L, -0.908460725059L, -0.511735277200L,
0.091061056447L, 0.819407379792L, 1.570962376630L, 2.213350754876L,
2.633777162282L, 2.734295207685L, 2.476685053968L, 1.865843667674L,
0.977055078746L, -0.080912040464L, -1.156857284112L, -2.106888396437L,
-2.791678025329L, -3.124844575006L, -3.059968809220L, -2.621423996604L,
-1.872255529570L, -0.929594435341L, 0.078505804765L, 1.006009723918L,
1.737095750003L, 2.178003156425L, 2.296661376752L, 2.100002925894L,
1.656143947532L, 1.054855536350L, 0.416663286656L, -0.154486011083L,
-0.564447401625L, -0.772089366758L, -0.770470068032L, -0.611432004913L,
-0.366728725489L, -0.136212395984L, 0.001604001300L, -0.015369606988L,
-0.189985162324L, -0.488094418530L, -0.819633709963L, -1.084500508737L,
-1.171628988672L, -1.013757190467L, -0.583384442891L, 0.068720188654L,
0.844014902007L, 1.587882069197L, 2.146670882571L, 2.375651186752L,
2.197745669670L, 1.598504538630L, 0.660683179124L, -0.472001428519L,
-1.594370136964L, -2.505848301871L, -3.025838839666L, -3.055649795571L,
-2.571982996497L, -1.656842547724L, -0.456133900629L, 0.822406193663L,
1.973768825120L, 2.807083997197L, 3.204219472821L, 3.112060840012L,
2.573041233939L, 1.686334847035L, 0.611235971177L, -0.489372679961L,
-1.451628673089L, -2.161481757983L, -2.541650081370L, -2.581579264559L,
-2.304933042398L, -1.785498754551L, -1.105841095256L, -0.368731149136L,
0.343151973859L, 0.948885515491L, 1.400333718323L, 1.656776417321L,
1.712310461003L, 1.568343472450L, 1.258877611279L, 0.820950360146L,
0.318121819740L, -0.190847131170L, -0.630638440867L, -0.943900410362L,
-1.074217011599L, -1.003625098798L, -0.733346420228L, -0.312745009813L,
0.191685415717L, 0.678793600909L, 1.054012408318L, 1.220312527452L,
1.123463020177L, 0.739893977643L, 0.112130338641L, -0.677917001101L,
-1.491741154421L, -2.181299671510L, -2.589860481373L, -2.608937250290L,
-2.177162732637L, -1.323295914728L, -0.141820461136L, 1.192072862441L,
2.474310342119L, 3.479610607274L, 4.028080289905L, 3.995589143634L,
};
#define TEST_SIZE (512U)
float64u_t in, out, gold, errld;
uint16_t pass = 0U, fail = 0U;
float64_t tolerance = 1.0e-6;
float64_t *coefficients = &test_input[TEST_SIZE];
float64_t delayLine[myFIR0_FIR_ORDER + 1U];
float64_t test_output[TEST_SIZE];
float64_t *coeffBuff = &test_input[TEST_SIZE];
float64_t *delayBuff = delayLine;
float64_t *inPtr = (float64_t *)&in;
float64_t *outPtr = (float64_t *)&out;
//
// Main
//
void main(void)
{
Device_init();
Device_initGPIO();
Interrupt_initModule();
Interrupt_initVectorTable();
Board_init();
C2000Ware_libraries_init();
//
// Local variables
//
uint16_t i;
//
// Run and verify results
//
for(i = 0U; i < TEST_SIZE; i++)
{
out.f64 = DBL_MAX;
in.f64 = test_input[i];
//
// Call the calculation routine
//
myFIR0_handle->calc(myFIR0_handle);
test_output[i] = out.f64;
gold.f64 = test_golden[i];
errld.f64 = fabsf(out.f64 - gold.f64);
if(errld.f64 < tolerance)
{
pass++;
}
else
{
fail++;
}
}
while(1);
}
//
// End of File
//
@@ -0,0 +1,28 @@
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --board "/boards/TMDSCNCD28388D" --product "C2000WARE@4.02.00.00"
* @versions {"tool":"1.11.0+2225"}
*/
/**
* Import the modules used in this configuration.
*/
const Filter = scripting.addModule("/libraries/dsp/FPU/Filter/Filter.js", {}, false);
const Filter1 = Filter.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
Filter1.$name = "myFILTER0";
Filter1.fpuType = "FPU64";
Filter1.FIR.create(1);
Filter1.FIR[0].$name = "myFIR0";
Filter1.FIR[0].dBuffPtr = "delayBuff";
Filter1.FIR[0].coeffPtr = "coeffBuff";
Filter1.FIR[0].inPtr = "inPtr";
Filter1.FIR[0].outPtr = "outPtr";
Filter1.FIR[0].filterOrder = 58;
const FPU = scripting.addModule("/libraries/math/FPU/FPU.js", {}, false);
FPU.fpuType = "FPU64";
@@ -0,0 +1,403 @@
//#############################################################################
//
// FILE: empty_sysconfig_main.c
//
// TITLE: Empty Pinmux Example
//
// Empty SysCfg & Driverlib Example
//
// This example is an empty project setup for SysConfig and Driverlib
// development.
//
//#############################################################################
//
//
//
// C2000Ware v5.04.00.00
//
// Copyright (C) 2024 Texas Instruments Incorporated - http://www.ti.com
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the
// distribution.
//
// Neither the name of Texas Instruments Incorporated nor the names of
// its contributors may be used to endorse or promote products derived
// from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// $
//#############################################################################
//
// Included Files
//
#include "driverlib.h"
#include "device.h"
#include "board.h"
#include "fpu.h"
#include "dsp.h"
#include "c2000ware_libraries.h"
const float64_t test_input[533] = {
8.506175670838L, 11.478202551275L, 7.262634956366L, 2.067279320260L,
1.643755060659L, 3.197307665970L, 1.498297487314L, -2.800755352218L,
-5.467778824683L, -5.149267582677L, -3.770458657576L, -3.430550569904L,
-5.105138594285L, -7.655210256168L, -7.494464720085L, -2.854021883573L,
1.986465726369L, 1.682064869212L, -1.552647446242L, -0.704561794106L,
4.662182733463L, 7.398064363860L, 4.510645950188L, 1.938025007615L,
4.501923648327L, 8.285107030532L, 7.317409083212L, 2.254971429925L,
-1.970886242832L, -3.035716073850L, -2.174624070013L, -1.443914871747L,
-2.402735126479L, -4.740039773263L, -5.432270679886L, -2.672195815317L,
-0.129623558814L, -2.334530910237L, -6.526825356245L, -5.710216949903L,
0.037547905371L, 2.937860270705L, -0.286606507320L, -3.390794300940L,
-0.786802891253L, 4.379244411920L, 6.394210856744L, 5.381822157884L,
5.099491334390L, 6.570124062021L, 7.742191822450L, 6.611794092811L,
2.491373368083L, -3.066554017348L, -6.025808204523L, -4.220842304665L,
-1.657235578799L, -3.562647508684L, -7.755414551766L, -7.362942868322L,
-2.132721780990L, 0.627577198335L, -2.155088096199L, -4.523028306983L,
-1.547202261220L, 3.007044625667L, 3.305115560565L, 0.061647064216L,
-1.853337824055L, -0.308089063797L, 3.162382557843L, 6.149690509376L,
6.762957833906L, 5.073699143470L, 4.011096952572L, 5.453784692474L,
5.952282589861L, 1.296023185266L, -5.406399707319L, -6.853449146673L,
-2.917587916542L, -1.299711753376L, -5.320058091007L, -8.859474965333L,
-6.482644021803L, -1.456669743388L, 0.459314553426L, -0.565825052411L,
-0.653937028605L, 1.371614411034L, 3.588766035522L, 4.043692888175L,
1.983030123537L, -1.228636568884L, -1.837725587658L, 1.999368765085L,
5.985307729239L, 4.696652643473L, 0.259949768656L, -0.355238744023L,
3.327291770415L, 4.294327147737L, -0.234133006352L, -4.078303862381L,
-2.206512534356L, 1.584507176150L, 1.318141729566L, -2.488460663986L,
-5.146191011958L, -4.618466217587L, -2.402903152791L, -0.727513994618L,
-1.190549391883L, -3.381498384594L, -4.071409245688L, -1.205305466982L,
1.758956441750L, 0.395775983109L, -2.583347948262L, -0.388930169163L,
6.574840244237L, 10.157931940482L, 6.759899054502L, 2.439923445637L,
2.799127448145L, 4.921754631690L, 3.510067001415L, -0.788230565067L,
-3.687210721607L, -3.738883602585L, -2.760153622964L, -2.756870564224L,
-4.650047953282L, -7.297764242118L, -7.161336765058L, -2.555078055968L,
2.147729322997L, 1.527237131177L, -2.232285675735L, -2.087468695938L,
2.489940523070L, 4.490931240555L, 1.084588396391L, -1.643031203698L,
1.229714511069L, 5.810898189360L, 6.068660528150L, 2.515556225785L,
-0.120427838464L, 0.257090156178L, 2.201061327106L, 3.497711336071L,
2.512879167718L, -0.422995218675L, -2.178859118614L, -0.774807206779L,
0.322811616396L, -3.220139119929L, -8.489655027708L, -8.400713454201L,
-3.015391245276L, -0.161450420889L, -3.208698376626L, -6.018889418959L,
-3.096018629092L, 2.359279934226L, 4.627241874740L, 3.869219590941L,
3.908083842215L, 5.835276247571L, 7.644304738367L, 7.331380124019L,
4.153630525751L, -0.443567658747L, -2.565505960604L, -0.194634337473L,
2.540906256897L, 0.345122456767L, -4.595596596168L, -5.326676709288L,
-1.448258065416L, -0.081097697496L, -4.106154910341L, -7.404171556025L,
-4.944365272014L, -0.466837491538L, 0.142012374120L, -2.516567131061L,
-3.719723308193L, -1.482906293576L, 2.543685324501L, 5.891637646657L,
6.674386197624L, 5.025493112215L, 3.973380319273L, 5.503701509975L,
6.250617342401L, 2.038429352056L, -4.051615283093L, -4.805635672861L,
-0.226975367567L, 1.837901223052L, -2.057954134099L, -5.872382560778L,
-4.176355330540L, -0.166482227708L, 0.534850241330L, -1.725611316790L,
-2.885079629833L, -1.611728220237L, 0.267985009068L, 0.818727591564L,
-0.772649085383L, -3.264308419350L, -3.060144098057L, 1.526023321308L,
6.073002568558L, 5.091930303132L, 0.713156088827L, -0.026126617667L,
3.461696358262L, 4.288762842576L, -0.218211574497L, -3.819084600682L,
-1.484636988897L, 2.921720282731L, 3.306381610095L, 0.045168113824L,
-2.306434894037L, -1.807045323657L, 0.011302433887L, 0.955880326704L,
-0.473071993210L, -3.723679043269L, -5.412179486562L, -3.347081779755L,
-0.894821954117L, -2.450506179694L, -5.334519069681L, -2.838697154837L,
4.525964074117L, 8.506146339992L, 5.428551239781L, 1.328139487311L,
1.835380572469L, 4.107749036069L, 2.942491776601L, -0.925279196009L,
-3.159222372126L, -2.320078346794L, -0.301660776634L, 0.752135520695L,
-0.256452782576L, -2.367405284105L, -2.191367441745L, 1.874365445427L,
5.462198552437L, 3.252331799330L, -2.389204082902L, -4.184350535133L,
-1.356526241364L, -0.694684975950L, -4.874103546973L, -7.740790682361L,
-4.399018694299L, 1.151091919427L, 2.713311170996L, 0.614113810367L,
-0.591180218503L, 1.062824961045L, 4.055561633103L, 6.157979825600L,
5.765712161398L, 3.261241062575L, 1.823900395290L, 3.455948904899L,
4.675056280935L, 1.093502983807L, -4.451982725902L, -4.953591121597L,
-0.522855511785L, 1.015294757651L, -3.639050672186L, -8.210175940088L,
-7.012094997816L, -3.031298822292L, -1.785452490871L, -2.959807219481L,
-2.656173761816L, 0.198379396970L, 3.486407328271L, 5.019130671594L,
3.826340571320L, 1.122176123532L, 0.603535215119L, 4.152314062259L,
7.581571786611L, 5.611809673321L, 0.504812321609L, -0.677109238841L,
2.576038396070L, 3.229984060860L, -1.549453604951L, -5.638550695397L,
-4.033450744412L, -0.511448780144L, -0.980977564602L, -4.824983961261L,
-7.253550241347L, -6.164001010457L, -3.052299077683L, -0.223747247132L,
0.573133247351L, -0.448300942951L, -0.262814275272L, 3.018939011322L,
5.849301327798L, 3.809999269898L, -0.283485577516L, 0.536981267545L,
6.082697250488L, 8.411774579667L, 4.084753112146L, -0.751701129056L,
-0.490164980638L, 1.889820672303L, 0.981839999247L, -2.688607844346L,
-4.942562733348L, -4.404731192352L, -2.924758027252L, -2.508272369769L,
-4.058380014064L, -6.414623759987L, -6.031622395692L, -1.232515331977L,
3.590823790958L, 3.002427175110L, -0.813917016333L, -0.791729949082L,
3.642146293549L, 5.532741132044L, 2.091777147922L, -0.585370027114L,
2.383785995299L, 7.018488637727L, 7.164829681422L, 3.212678531637L,
-0.191604211091L, -0.952516500203L, -0.411985476537L, -0.572058070648L,
-2.777354421027L, -6.385481662556L, -8.002556026003L, -5.506422571437L,
-2.394929361041L, -3.226715207239L, -5.481925851355L, -2.574466521789L,
4.924829510305L, 8.774938799436L, 5.380328440824L, 0.897786492043L,
1.092643809718L, 3.236880506082L, 2.193865922743L, -1.299783897658L,
-2.971611889010L, -1.496847547750L, 1.092438283584L, 2.522935941404L,
1.607090239767L, -0.723476873601L, -1.038759954432L, 2.365334097446L,
5.260883430524L, 2.474543971543L, -3.507769577671L, -5.342243159543L,
-2.256068754947L, -1.111141083218L, -4.708699766140L, -7.045379949796L,
-3.366533958333L, 2.228538756177L, 3.509524623318L, 0.842697301038L,
-1.110564307703L, -0.234887778158L, 2.110980481272L, 3.837003674748L,
3.425472245570L, 1.275211756394L, 0.509036145722L, 3.013005864161L,
5.154614519860L, 2.394217882236L, -2.553732185716L, -2.750524022911L,
1.686955132336L, 2.987759090690L, -2.052573365180L, -7.048110362677L,
-6.216762492904L, -2.487010957030L, -1.369853091726L, -2.594523892111L,
-2.343026570525L, 0.365815447365L, 3.340000854572L, 4.359066822629L,
2.479968219780L, -0.995314315966L, -2.234857131032L, 0.799057370301L,
4.062373360579L, 2.371922503607L, -1.986552054434L, -2.011002697478L,
2.669409342282L, 4.824361303834L, 1.401187017276L, -1.677363164125L,
0.446262090351L, 3.929764031031L, 2.891610033914L, -1.939840536161L,
-5.602746178887L, -5.796700836636L, -3.832420371139L, -1.876081939376L,
-1.605262319749L, -2.810117849719L, -2.533272473153L, 1.005850281722L,
4.140715066610L, 2.354779526870L, -1.590706414722L, -0.726970868081L,
4.808810820132L, 7.159726353845L, 2.978387573878L, -1.517979110275L,
-0.696593574247L, 2.430375212433L, 2.367425228448L, -0.489659242155L,
-2.105553918892L, -1.230994128907L, 0.205011069076L, 0.183889655404L,
-2.138304901284L, -5.479844037571L, -6.135642727364L, -2.262944355649L,
1.884785714196L, 0.954873705978L, -2.856131877924L, -2.539334592074L,
2.366168031010L, 4.765981928027L, 1.738251333031L, -0.718426872913L,
2.240274383743L, 6.661779499775L, 6.478609341097L, 2.203336530263L,
-1.389420944093L, -2.102651749950L, -1.229859100268L, -0.791928091288L,
-2.218180678759L, -4.999976339552L, -5.897718231662L, -2.930279257372L,
0.308119239445L, -0.771056648171L, -3.604145900900L, -1.496646725811L,
5.130171113166L, 8.193469305935L, 4.230227454058L, -0.524232698925L,
-0.295943443164L, 2.125878764499L, 1.489581689989L, -1.608775727441L,
-3.028722612080L, -1.536779723311L, 0.807162110180L, 1.773613863656L,
0.282084756942L, -2.588671435803L, -3.254276228835L, 0.115815202663L,
3.362559524977L, 1.306390847928L, -3.649600547067L, -4.306180281641L,
-0.068977919081L, 2.022609735552L, -0.975133345969L, -3.140227261035L,
0.274323267453L, 5.232224096354L, 5.619316961619L, 1.943739517810L,
-0.996308685875L, -0.980563656341L, 0.688222624972L, 1.923585852716L,
1.000000000000L, -1.589116348424L, 1.000000000000L, 1.000000000000L,
1.807689688220L, -0.917293592267L, 1.000000000000L, -1.129384861204L,
1.000000000000L, 1.000000000000L, 1.703138978970L, -0.764114321317L,
1.000000000000L, 1.000000000000L, 0.000000000000L, 1.000000000000L,
0.829537745791L, 0.000000000000L, 0.156921156840L, 0.070037080256L,
0.144885155960L, };
const float64_t test_golden[512] = {
0.013544649591L, 0.053789346410L, 0.124276243883L, 0.237723689586L,
0.412260934597L, 0.659519790596L, 0.977048032943L, 1.352794975672L,
1.769208561751L, 2.199186492579L, 2.602638061564L, 2.930354784324L,
3.130377356272L, 3.154010737097L, 2.964383542577L, 2.544255178908L,
1.896522552501L, 1.042440207534L, 0.026619620537L, -1.078191168518L,
-2.180491179217L, -3.187882989443L, -4.014819793845L, -4.580480069534L,
-4.814838615903L, -4.675753914120L, -4.159210416901L, -3.294817951666L,
-2.139154356370L, -0.775155814156L, 0.690449548792L, 2.137428943737L,
3.444334811616L, 4.499288598199L, 5.211868263141L, 5.522874423284L,
5.405710302136L, 4.864691326365L, 3.939533694887L, 2.709074040466L,
1.280295546389L, -0.231523643258L, -1.712650029619L, -3.050522695354L,
-4.140841814323L, -4.904784607643L, -5.298703950496L, -5.308970436141L,
-4.945263025302L, -4.241133470447L, -3.254139479443L, -2.059662276998L,
-0.743635789574L, 0.603018351297L, 1.891635481340L, 3.042232990375L,
3.983480295382L, 4.652039076014L, 5.000855318891L, 5.009491805236L,
4.682172022428L, 4.038418379486L, 3.113770993693L, 1.969152659099L,
0.689715198639L, -0.630468712337L, -1.900419549518L, -3.033032769612L,
-3.946747399742L, -4.575499820291L, -4.877940219096L, -4.839055217882L,
-4.468872180365L, -3.800853839138L, -2.886671952354L, -1.790105088689L,
-0.586067229933L, 0.640593787121L, 1.805617162307L, 2.837858326680L,
3.679335649941L, 4.277848164846L, 4.590120731300L, 4.594625326522L,
4.295321883107L, 3.712644153544L, 2.878565665330L, 1.842584940516L,
0.675214680894L, -0.539540423349L, -1.714311707534L, -2.764211590484L,
-3.612444847328L, -4.197279666574L, -4.475914896408L, -4.426901720974L,
-4.056218356882L, -3.400953053842L, -2.521077990553L, -1.486506664136L,
-0.374183826416L, 0.729186565408L, 1.735753711945L, 2.574532775744L,
3.199150392036L, 3.581176846651L, 3.705971888862L, 3.578462690046L,
3.226256022327L, 2.692307117905L, 2.025956605571L, 1.279207128527L,
0.503834382695L, -0.252765703652L, -0.948995682980L, -1.549728312580L,
-2.031535745449L, -2.386590866992L, -2.615893992409L, -2.719177883580L,
-2.696289242869L, -2.555469479831L, -2.311084447039L, -1.972039859879L,
-1.539777388869L, -1.019347241928L, -0.426232733557L, 0.218626085044L,
0.892980818613L, 1.568752251967L, 2.207619252908L, 2.763551932096L,
3.187691595309L, 3.432977213152L, 3.461642360516L, 3.252447862113L,
2.801169663880L, 2.119324335976L, 1.240084895670L, 0.224227452844L,
-0.848002764329L, -1.893554714680L, -2.833270031888L, -3.588887714782L,
-4.088418852486L, -4.282695695072L, -4.155239000058L, -3.717596424521L,
-3.002841699185L, -2.065581877384L, -0.980615606742L, 0.165418513767L,
1.283677563344L, 2.290653437564L, 3.116506321509L, 3.711386013315L,
4.043983785696L, 4.098150434686L, 3.877270080415L, 3.409712538087L,
2.741470946093L, 1.921558269731L, 0.998547492897L, 0.027744636582L,
-0.929498604843L, -1.817812769872L, -2.594219050452L, -3.222032598247L,
-3.665721325252L, -3.895382690666L, -3.892681574603L, -3.651695392657L,
-3.179106632625L, -2.495742803159L, -1.635378694246L, -0.642772547430L,
0.423740956182L, 1.491017391177L, 2.480705522835L, 3.322520934251L,
3.956513453565L, 4.328821333230L, 4.398005113288L, 4.150151706589L,
3.603233333301L, 2.796756182368L, 1.783835590088L, 0.633344248239L,
-0.570240989279L, -1.736883002230L, -2.781985486699L, -3.631444762036L,
-4.225212720210L, -4.521594293958L, -4.498435483937L, -4.153318603097L,
-3.508122326002L, -2.612003092821L, -1.533277223491L, -0.347299890805L,
0.865132953702L, 2.013633704334L, 3.005801678265L, 3.765080984928L,
4.239517081169L, 4.397184201062L, 4.224714700328L, 3.735561839667L,
2.974577637918L, 2.010561802638L, 0.925472878747L, -0.192485759477L,
-1.255666944283L, -2.185068252448L, -2.915174512761L, -3.397261289584L,
-3.606390552730L, -3.546214913684L, -3.242201021116L, -2.730507311131L,
-2.057192315617L, -1.283170525422L, -0.477663576737L, 0.298218829447L,
0.998372279021L, 1.585095574548L, 2.025957438928L, 2.301433172869L,
2.410458299471L, 2.365774803527L, 2.187507897829L, 1.901515314698L,
1.537878696287L, 1.127355900310L, 0.699858873270L, 0.283162169451L,
-0.103194105290L, -0.452640696498L, -0.765377533242L, -1.038455265068L,
-1.266929544691L, -1.451620397777L, -1.596222392891L, -1.695234601118L,
-1.731817368696L, -1.689214015792L, -1.558454217064L, -1.334719805029L,
-1.014846621332L, -0.603599256398L, -0.119727176245L, 0.405198408558L,
0.930665123192L, 1.411231570846L, 1.803742167242L, 2.074522780599L,
2.199997587601L, 2.165677970486L, 1.972516883487L, 1.643583744033L,
1.217112069698L, 0.731636849651L, 0.221824071840L, -0.275285536685L,
-0.721845526227L, -1.091720913957L, -1.376572144107L, -1.578216923311L,
-1.700514850620L, -1.749575458065L, -1.734692090608L, -1.664339501137L,
-1.542671966626L, -1.369344934360L, -1.139008536891L, -0.842415560426L,
-0.474053071576L, -0.039746982228L, 0.445936034883L, 0.966009580997L,
1.497112315611L, 2.000470390425L, 2.425574477729L, 2.725352259502L,
2.863607570635L, 2.810565718013L, 2.542920342301L, 2.054850946769L,
1.366287757820L, 0.519637850900L, -0.426879835845L, -1.402656326553L,
-2.329157524660L, -3.127208917461L, -3.722715959537L, -4.052406427426L,
-4.074440260379L, -3.777409042404L, -3.177631796246L, -2.311290917202L,
-1.235526568878L, -0.033577025445L, 1.193338451725L, 2.345536219034L,
3.335943669113L, 4.088187379984L, 4.538053798784L, 4.645086363047L,
4.401063657320L, 3.826996688483L, 2.967003255363L, 1.885644130367L,
0.664209635953L, -0.606069908907L, -1.829656532791L, -2.912789126103L,
-3.774830640553L, -4.358414196571L, -4.628417834442L, -4.566501774549L,
-4.175450878107L, -3.488318591053L, -2.564688138710L, -1.475297479757L,
-0.294203542601L, 0.897473844712L, 2.012789326894L, 2.971842850794L,
3.712726000648L, 4.191864842287L, 4.381913191417L, 4.273698686543L,
3.877642034675L, 3.222417925744L, 2.354655584968L, 1.337436804716L,
0.242107975584L, -0.860634957112L, -1.900598179672L, -2.805435641737L,
-3.509297922495L, -3.967257430640L, -4.157354428500L, -4.071140042481L,
-3.711574969193L, -3.101975619673L, -2.289024169001L, -1.332746469917L,
-0.296683932378L, 0.753140309402L, 1.748381121969L, 2.623686648144L,
3.322061004402L, 3.797662678476L, 4.019721584307L, 3.975446061847L,
3.666602066841L, 3.105716213988L, 2.321358079174L, 1.365282993429L,
0.306802623155L, -0.780820661439L, -1.824206517880L, -2.744757283732L,
-3.463033462988L, -3.915553373257L, -4.066149143803L, -3.903866102913L,
-3.439740355553L, -2.710235474983L, -1.778758522730L, -0.728876117873L,
0.345528550076L, 1.349825505472L, 2.200361770380L, 2.834665608205L,
3.213366826889L, 3.318836818009L, 3.159819367593L, 2.775441404332L,
2.225157764444L, 1.570825423000L, 0.869888694293L, 0.179629727254L,
-0.445669495429L, -0.967853353524L, -1.371080225997L, -1.653968523782L,
-1.821106987449L, -1.882826183021L, -1.855650476531L, -1.757717738663L,
-1.604519409741L, -1.407711744343L, -1.173330400097L, -0.901420651790L,
-0.592154583479L, -0.252119150115L, 0.109136597286L, 0.485579388837L,
0.870045293833L, 1.243643464404L, 1.577139182734L, 1.843371170703L,
2.021850887697L, 2.091800222875L, 2.030407823317L, 1.823058130617L,
1.471945185836L, 0.994249544490L, 0.417829907436L, -0.219253202495L,
-0.870046544557L, -1.482996892329L, -2.005154156604L, -2.386078779373L,
-2.587388872494L, -2.591453414597L, -2.399048864369L, -2.022402751969L,
-1.487631748083L, -0.841587395860L, -0.145774809944L, 0.540801519471L,
1.170033463281L, 1.699855589874L, 2.092638083744L, 2.323825224284L,
2.387889866233L, 2.293621832102L, 2.057480928802L, 1.701890442316L,
1.254096504843L, 0.743494729055L, 0.201353946190L, -0.339189592128L,
-0.848350884580L, -1.304401543109L, -1.688585493017L, -1.977521991992L,
-2.147644631007L, -2.186691672228L, -2.094291604527L, -1.872369744472L,
-1.523862247523L, -1.063023809659L, -0.520056915592L, 0.067163988920L,
0.661088785775L, 1.223674917786L, 1.714840769250L, 2.096447950725L,
2.336878974998L, 2.413582005931L, 2.316999116640L, 2.053308855007L,
1.640243158434L, 1.101746654966L, 0.471124656631L, -0.203997424817L,
-0.868824658928L, -1.475233310840L, -1.984234738474L, -2.357982098299L,
-2.560144704616L, -2.568203103677L, -2.380425436925L, -2.010066147210L,
-1.479578440387L, -0.822990918504L, -0.088131623859L, 0.667606127767L,
1.382951495768L, 1.997192317332L, 2.456762221979L, 2.721426368919L,
2.764252357555L, 2.570834909634L, 2.146841445299L, 1.526429667854L,
0.766864631253L, -0.065723434351L, -0.901401927451L, -1.662793847043L,
-2.270774237596L, -2.662168120083L, -2.801427333738L, -2.678273184761L,
-2.303782259152L, -1.712938573341L, -0.965350815130L, -0.138001380347L,
0.684576904953L, 1.419334990613L, 1.995480483996L, 2.363518353965L,
2.496048011322L, 2.385560014438L, 2.048669426979L, 1.530225022392L,
0.893768126268L, 0.204343312891L, -0.477618284501L, -1.091653679995L,
-1.580216998218L, -1.902507590710L, -2.041888602839L, -1.999586250505L,
-1.787759227374L, -1.430469670330L, -0.964634203683L, -0.434997720370L,
};
#define TEST_SIZE (512U)
#define NUM_SOS (3U) // Number of Second Order Stages (biquad)
#define FILTER_ORDER (NUM_SOS<<1)
float64u_t gold, errld;
float64_t in, out;
uint16_t pass = 0U, fail = 0U;
float64_t tolerance = 1.0e-6;
float64_t coeffs_B[NUM_SOS*3U];
float64_t coeffs_A[NUM_SOS*3U];
float64_t scaleFactors[NUM_SOS];
float64_t delayLine[NUM_SOS*4U];
float64_t test_output[TEST_SIZE];
float64_t *denCoeffs = coeffs_A;
float64_t *numCoeffs = coeffs_B;
float64_t *delayBuff = delayLine;
float64_t *inBuff = &in;
float64_t *outBuff = &out;
float64_t *scalePtr = scaleFactors;
//
// Main
//
void main(void)
{
Device_init();
Device_initGPIO();
Interrupt_initModule();
Interrupt_initVectorTable();
Board_init();
C2000Ware_libraries_init();
uint16_t i;
float64_t *p_cb, *p_ca;
p_cb = &test_input[TEST_SIZE];
p_ca = p_cb + 3UL;
for(i = 0U; i < NUM_SOS; i++)
{
memcpy(&coeffs_B[3U*i], p_cb, 3U*sizeof(float64_t));
memcpy(&coeffs_A[3U*i], p_ca, 3U*sizeof(float64_t));
p_cb += 6UL;
p_ca += 6UL;
}
memcpy(scaleFactors, &test_input[TEST_SIZE+(6U*NUM_SOS)],
NUM_SOS*sizeof(float64_t));
//myIIR0_handle->init(myIIR0_handle);
for(i = 0U; i < TEST_SIZE; i++)
{
out = 0;
in = test_input[i];
myIIR0_handle->calc(myIIR0_handle);
test_output[i] = out;
gold.f64 = test_golden[i];
errld.f64 = fabsf(out - gold.f64);
if(errld.f64 < tolerance)
{
pass++;
}
else
{
fail++;
}
}
while(1);
}
//
// End of File
//
@@ -0,0 +1,30 @@
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --device "F2838x" --package "337bga" --part "F2838x_337bga" --context "CPU1" --product "C2000WARE@4.02.00.00"
* @versions {"tool":"1.12.0+2406"}
*/
/**
* Import the modules used in this configuration.
*/
const Filter = scripting.addModule("/libraries/dsp/FPU/Filter/Filter.js", {}, false);
const Filter1 = Filter.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
Filter1.$name = "myFILTER0";
Filter1.fpuType = "FPU64";
Filter1.IIR.create(1);
Filter1.IIR[0].$name = "myIIR0";
Filter1.IIR[0].coeffPtrA = "denCoeffs";
Filter1.IIR[0].coeffPtrB = "numCoeffs";
Filter1.IIR[0].dBuffPtr = "delayBuff";
Filter1.IIR[0].inPtr = "inBuff";
Filter1.IIR[0].outPtr = "outBuff";
Filter1.IIR[0].scalePtr = "scalePtr";
Filter1.IIR[0].filterOrder = 6;
const FPU = scripting.addModule("/libraries/math/FPU/FPU.js", {}, false);
FPU.fpuType = "FPU64";
@@ -0,0 +1,585 @@
//#############################################################################
//
// FILE: empty_sysconfig_main.c
//
// TITLE: Empty Pinmux Example
//
// Empty SysCfg & Driverlib Example
//
// This example is an empty project setup for SysConfig and Driverlib
// development.
//
//#############################################################################
//
//
//
// C2000Ware v5.04.00.00
//
// Copyright (C) 2024 Texas Instruments Incorporated - http://www.ti.com
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the
// distribution.
//
// Neither the name of Texas Instruments Incorporated nor the names of
// its contributors may be used to endorse or promote products derived
// from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// $
//#############################################################################
//
// Included Files
//
#include "driverlib.h"
#include "device.h"
#include "board.h"
#include "c2000ware_libraries.h"
#define USE_REAL_ADC_INPUT 0U
uint16_t test_input[2048] = {
45, 66, 71, 66,
67, 81, 91, 84,
65, 53, 54, 55,
41, 19, 7, 12,
20, 17, 7, 9,
27, 47, 53, 50,
54, 72, 87, 85,
72, 64, 69, 71,
59, 36, 23, 25,
30, 21, 7, 4,
18, 34, 37, 33,
37, 56, 74, 76,
66, 64, 73, 80,
70, 51, 39, 41,
44, 34, 16, 10,
19, 31, 30, 23,
25, 42, 59, 62,
54, 54, 67, 77,
72, 56, 47, 52,
57, 47, 29, 21,
29, 38, 34, 23,
21, 36, 51, 51,
43, 43, 56, 68,
65, 52, 46, 54,
61, 54, 37, 30,
38, 47, 42, 29,
26, 39, 51, 50,
39, 37, 49, 61,
57, 44, 39, 48,
57, 51, 37, 31,
41, 51, 48, 36,
33, 45, 58, 55,
43, 40, 51, 60,
55, 40, 34, 42,
50, 44, 30, 25,
36, 48, 46, 36,
35, 49, 63, 62,
51, 48, 58, 68,
61, 45, 37, 43,
48, 40, 24, 18,
27, 38, 36, 27,
28, 44, 60, 62,
54, 53, 66, 77,
72, 56, 48, 52,
56, 45, 26, 16,
22, 30, 26, 15,
15, 31, 48, 52,
47, 50, 67, 82,
80, 67, 61, 67,
71, 59, 37, 24,
27, 31, 22, 7,
3, 17, 33, 36,
32, 37, 57, 76,
78, 70, 68, 78,
85, 75, 54, 41,
42, 42, 30, 10,
1, 10, 21, 21,
15, 19, 39, 60,
66, 61, 64, 79,
91, 86, 69, 58,
60, 61, 46, 23,
11, 15, 21, 16,
4, 5, 22, 41,
47, 44, 50, 69,
86, 86, 74, 68,
74, 77, 65, 42,
28, 29, 32, 22,
6, 1, 13, 29,
31, 27, 32, 52,
71, 74, 67, 66,
77, 85, 76, 57,
45, 46, 48, 36,
17, 8, 16, 27,
25, 17, 19, 37,
55, 59, 53, 54,
69, 81, 77, 61,
53, 58, 62, 51,
31, 21, 27, 35,
29, 17, 16, 30,
45, 47, 40, 41,
57, 71, 69, 56,
52, 60, 67, 58,
41, 32, 39, 46,
39, 25, 21, 33,
45, 44, 35, 34,
48, 61, 59, 48,
44, 54, 63, 57,
42, 35, 43, 52,
47, 33, 29, 40,
52, 49, 38, 36,
48, 59, 55, 42,
38, 47, 56, 50,
36, 30, 40, 50,
46, 34, 32, 44,
57, 56, 45, 43,
54, 65, 60, 45,
39, 46, 53, 46,
30, 23, 32, 42,
38, 27, 26, 41,
55, 56, 48, 48,
61, 73, 69, 55,
48, 54, 60, 50,
31, 22, 28, 35,
30, 17, 15, 29,
45, 48, 41, 44,
61, 76, 76, 64,
60, 67, 73, 62,
42, 30, 33, 36,
27, 11, 6, 17,
31, 33, 27, 32,
51, 70, 73, 66,
65, 77, 85, 77,
58, 46, 47, 48,
35, 15, 5, 12,
22, 20, 12, 15,
34, 54, 60, 56,
60, 76, 90, 86,
71, 62, 65, 66,
52, 29, 16, 18,
23, 16, 3, 2,
18, 36, 41, 39,
45, 65, 83, 84,
74, 70, 77, 82,
70, 48, 34, 34,
35, 24, 6, 0,
10, 24, 26, 21,
26, 47, 67, 71,
65, 66, 79, 88,
};
const float64_t test_golden[2050] = {
5.668376068376L, 0.040414304078L, 0.042383256178L, 0.043596627920L,
0.042807916824L, 0.042961625341L, 0.046661702159L, 0.046723384657L,
0.047523565536L, 0.048276280751L, 0.052639902423L, 0.054887074538L,
0.057208825908L, 0.061416677190L, 0.067918314519L, 0.071999730986L,
0.080092296800L, 0.090204709071L, 0.105830706963L, 0.128937929085L,
0.164541570340L, 0.247298062318L, 0.808257923484L, 0.027557950814L,
0.814796114552L, -0.610203302490L, -0.251723155096L, -0.158375411870L,
-0.115555613409L, -0.091166715328L, -0.075942171813L, -0.060855643504L,
-0.054030402861L, -0.049179093985L, -0.043077371045L, -0.037845783657L,
-0.033528957575L, -0.029913296349L, -0.027916796982L, -0.026000092964L,
-0.022067827014L, -0.024370293730L, -0.019599947963L, -0.019923381709L,
-0.018325619509L, -0.019176938098L, -0.015737352959L, -0.015039625849L,
-0.016971886779L, -0.011290513205L, -0.011238355811L, -0.012294568528L,
-0.010778401252L, -0.010447639953L, -0.009846726487L, -0.010830118995L,
-0.009787701414L, -0.009351561927L, -0.006261429719L, -0.007999922649L,
-0.008140937394L, -0.008615619425L, -0.005657230319L, -0.007358174779L,
-0.005039325756L, -0.005261049548L, -0.006342412178L, -0.004760191390L,
-0.005355018494L, -0.005123003325L, -0.003105535192L, -0.001448203430L,
-0.003475285958L, -0.001728437059L, -0.001789869473L, -0.001980491932L,
-0.000269676157L, 0.001453020910L, 0.000156851511L, -0.000295480106L,
0.002417271609L, 0.001837583621L, 0.001845964286L, 0.003091743124L,
0.003405340852L, 0.001888767243L, 0.005824235378L, 0.007480876797L,
0.006855191507L, 0.005897462238L, 0.009454446671L, 0.010302043381L,
0.012695828737L, 0.012793846472L, 0.017174276767L, 0.018998052331L,
0.024190633197L, 0.031173459064L, 0.037237435117L, 0.049699342290L,
0.074089383672L, 0.132306945206L, 0.486092144582L, -0.338911912103L,
-0.129504078980L, -0.082780873624L, -0.061822852722L, -0.048524115497L,
-0.044126306658L, -0.036445340535L, -0.031963367670L, -0.031258155542L,
-0.024325564440L, -0.024685749661L, -0.023393499220L, -0.020521763122L,
-0.023305713457L, -0.019873247819L, -0.019748392966L, -0.017300229824L,
-0.020700452868L, -0.015179044252L, -0.015269373860L, -0.016185398783L,
-0.016915473900L, -0.016101717180L, -0.014322506038L, -0.015393464243L,
-0.014896214896L, -0.014005154800L, -0.012917049709L, -0.012979958690L,
-0.012093152643L, -0.014637528491L, -0.012057850862L, -0.012478825547L,
-0.013005521263L, -0.011935258412L, -0.011735532617L, -0.011959300861L,
-0.011904548458L, -0.011382314078L, -0.009915988513L, -0.010436513568L,
-0.008903314376L, -0.008787177477L, -0.010507345558L, -0.010868977906L,
-0.010116337013L, -0.011114482233L, -0.009405141429L, -0.011993619243L,
-0.010686043688L, -0.007356288246L, -0.010976384106L, -0.006599293360L,
-0.007287751771L, -0.010002033437L, -0.010157453343L, -0.009535874976L,
-0.009156813451L, -0.007304522561L, -0.007866577275L, -0.008793583188L,
-0.009144160998L, -0.010613895239L, -0.007198644124L, -0.009717883257L,
-0.008025490789L, -0.009837481609L, -0.007716863756L, -0.009298132026L,
-0.008788168261L, -0.008912995468L, -0.007381075129L, -0.007055339526L,
-0.008429004607L, -0.007447139704L, -0.008539886893L, -0.007836037560L,
-0.009027412535L, -0.008375607468L, -0.008003369916L, -0.007812897579L,
-0.007257625243L, -0.007152298980L, -0.008473044369L, -0.008999685852L,
-0.009125780222L, -0.005894096954L, -0.007752544591L, -0.006316678316L,
-0.008147487431L, -0.006992940002L, -0.008371799658L, -0.008608555755L,
-0.009111540554L, -0.005969829460L, -0.008092494012L, -0.006066651550L,
-0.005590909512L, -0.007511726416L, -0.008344780427L, -0.006909451272L,
-0.006393207878L, -0.007424312431L, -0.007889378188L, -0.008640201212L,
-0.008048910257L, -0.007067564974L, -0.006503152188L, -0.007339022087L,
-0.006874365544L, -0.008899626830L, -0.007236677241L, -0.006499797552L,
-0.007251188800L, -0.006096841528L, -0.008591373184L, -0.007789311987L,
-0.006990470898L, -0.006133795319L, -0.007732508002L, -0.007311739396L,
-0.006913062795L, -0.007526313583L, -0.006457728224L, -0.004938889014L,
-0.007416874178L, -0.006722875518L, -0.007873663536L, -0.007170566896L,
-0.006673133105L, -0.009046150620L, -0.006820250113L, -0.007837626688L,
-0.006858631100L, -0.007091685462L, -0.005898584515L, -0.006544355674L,
-0.006062878183L, -0.007441255148L, -0.005690954325L, -0.006119148925L,
-0.004565034145L, -0.005764279422L, -0.009136799040L, -0.009136283516L,
-0.007811395622L, -0.008442490958L, -0.007599658296L, -0.007224814800L,
-0.007450567029L, -0.006332409166L, -0.008062293577L, -0.008723423251L,
-0.007326007326L, -0.001488496913L, -0.000290511247L, -0.000328346936L,
0.000313619373L, 0.001470772273L, 0.000928643264L, -0.000397532990L,
-0.000164630393L, 0.002691800561L, 0.001861776289L, -0.002997237420L,
-0.001763407827L, -0.000680430319L, -0.001101023966L, -0.000640464233L,
0.002207796734L, 0.000504317282L, 0.002153302453L, 0.001255044949L,
-0.000107933820L, 0.000624506146L, 0.001877534785L, 0.000826933646L,
0.002624927792L, -0.002542919283L, -0.000561428540L, -0.000643208349L,
0.000557416345L, -0.000075096465L, -0.000437975313L, 0.001401512198L,
0.000732857941L, 0.000475182752L, -0.000521725059L, 0.001304367450L,
0.001430369482L, 0.000374696725L, 0.001483976297L, 0.000869785193L,
0.001750227922L, 0.001714221627L, -0.000537807031L, 0.002004096880L,
-0.000158943147L, 0.002044933067L, -0.000352608714L, 0.002296317154L,
0.000022825628L, 0.001850968759L, 0.001520803590L, 0.000132692457L,
0.002725753049L, 0.001033051967L, 0.001602976545L, 0.002325085545L,
0.001907426403L, 0.001460076357L, 0.002320245740L, 0.001619586489L,
0.001889577431L, 0.002785678869L, 0.001991936734L, 0.001038661439L,
-0.000078713180L, 0.001158234050L, 0.001494929156L, 0.003308061720L,
0.000882043004L, -0.000280472062L, 0.002876690235L, 0.002960066715L,
0.002635744605L, 0.001523641766L, 0.003073026653L, 0.003077097577L,
0.002203791580L, 0.004500954616L, 0.002545531666L, 0.003757030227L,
0.002804665327L, 0.002023242475L, 0.004208644542L, 0.002254610479L,
0.002955335507L, 0.003197175055L, 0.003237298136L, 0.002417570899L,
0.002536263302L, 0.003291741256L, 0.003363062621L, 0.004524017734L,
0.002339083340L, 0.002642372839L, 0.002559050671L, 0.005551135911L,
0.003156944706L, 0.003032103357L, 0.004409575579L, 0.002942746939L,
0.003285104668L, 0.002146234684L, 0.003928496099L, 0.005118258799L,
0.004576638360L, 0.004597073712L, 0.003979638602L, 0.003501364300L,
0.003648357427L, 0.001680758908L, 0.004965638552L, 0.004669381250L,
0.002293965097L, 0.002507505633L, 0.005424856655L, 0.005943500300L,
0.004668909735L, 0.003268281247L, 0.004637448372L, 0.006344719573L,
0.004756047320L, 0.004960285978L, 0.003202795296L, 0.004854561487L,
0.006871626435L, 0.005620454911L, 0.005208465274L, 0.005110550114L,
0.006105006105L, 0.004229342995L, 0.006200151351L, 0.009378206591L,
0.007168330714L, 0.005775983886L, 0.007634741458L, 0.007217988185L,
0.007932664225L, 0.010752043621L, 0.008428800412L, 0.007568249468L,
0.008982578930L, 0.010074486681L, 0.010512121668L, 0.011296255818L,
0.012607387253L, 0.011871347958L, 0.013784541109L, 0.014932215795L,
0.017196027081L, 0.017551935224L, 0.022307594870L, 0.029893229124L,
0.044673428253L, 0.111134046990L, -0.155324989717L, -0.040912309196L,
-0.021375459987L, -0.012080690654L, -0.011189115957L, -0.006055631162L,
-0.004804723274L, -0.003119457634L, -0.001227449679L, -0.000386659566L,
-0.000495554524L, 0.001162081750L, -0.000601974707L, 0.001645977596L,
0.002985363982L, 0.002215382527L, 0.004776419928L, 0.004546522002L,
0.002773705905L, 0.005392000014L, 0.004744136585L, 0.005119082137L,
0.005820012502L, 0.004628349926L, 0.006123421029L, 0.005302851977L,
0.005825404072L, 0.007061733152L, 0.006721859245L, 0.006857151739L,
0.006483566901L, 0.006766128353L, 0.007093657417L, 0.007067358375L,
0.008383326407L, 0.008038367150L, 0.008665977539L, 0.008266945855L,
0.008712495612L, 0.009155471026L, 0.009793347850L, 0.009991174249L,
0.010505549000L, 0.009932835994L, 0.010105788114L, 0.010272328407L,
0.009092056640L, 0.012398000301L, 0.010187547839L, 0.010703505565L,
0.012513071451L, 0.013743537430L, 0.011728010005L, 0.015216179400L,
0.014383934648L, 0.016921691770L, 0.015433382890L, 0.014552737266L,
0.015216742348L, 0.019002202203L, 0.018810877889L, 0.021171720343L,
0.020255728372L, 0.022987459716L, 0.024246027986L, 0.026355253598L,
0.028934865667L, 0.028388828944L, 0.031148936161L, 0.033807693313L,
0.037704034894L, 0.046416312173L, 0.049098489367L, 0.058357566301L,
0.068463267857L, 0.090267387807L, 0.129012156447L, 0.282069098179L,
-0.258180666046L, 0.122258214306L, -0.657854758811L, -0.158687290126L,
-0.094015512659L, -0.067847004080L, -0.053398142941L, -0.041217991449L,
-0.034741077873L, -0.030052960792L, -0.025568042482L, -0.021557006202L,
-0.018431262369L, -0.015917063008L, -0.012962233538L, -0.011156673753L,
-0.011755288194L, -0.007652891250L, -0.008141709134L, -0.004875127745L,
-0.004284936226L, -0.002782612900L, -0.001829113610L, -0.001387751199L,
5.668376068376L, 0.040438123442L, 0.042422706901L, 0.043685339653L,
0.043021836563L, 0.043237346385L, 0.047366674741L, 0.047345975735L,
0.048955858504L, 0.049548669532L, 0.054212349381L, 0.057148436953L,
0.060104585468L, 0.065090035746L, 0.072571497459L, 0.078020136596L,
0.087302454138L, 0.099175664140L, 0.118539023979L, 0.145699023742L,
0.189506846817L, 0.293833265091L, 1.042139028424L, 0.125325622354L,
0.854722156382L, 0.672243294141L, 0.282858062149L, 0.182293643297L,
0.134314254032L, 0.108244979229L, 0.090431604640L, 0.076536810634L,
0.065885344961L, 0.059678667984L, 0.053159346498L, 0.047309924429L,
0.044287892785L, 0.039867338646L, 0.036975903326L, 0.034704871969L,
0.029954691136L, 0.032282393944L, 0.027166285854L, 0.027532250676L,
0.023819688874L, 0.024073577149L, 0.022042086689L, 0.022639213724L,
0.022247303585L, 0.018947501259L, 0.016243363568L, 0.018440207060L,
0.016515171531L, 0.014957212707L, 0.014168420995L, 0.016462135005L,
0.013359064073L, 0.013891452097L, 0.011888332748L, 0.012753822693L,
0.013290651657L, 0.013192894335L, 0.011309903492L, 0.011745866753L,
0.010064908537L, 0.009799032407L, 0.010738964519L, 0.009342096580L,
0.009947682380L, 0.008728843994L, 0.007743663498L, 0.006919377578L,
0.007356239002L, 0.007071635217L, 0.006956078237L, 0.007334195484L,
0.005831642807L, 0.005498318730L, 0.006125429576L, 0.004637772260L,
0.006302043126L, 0.005438907564L, 0.005090620403L, 0.006215508000L,
0.004392014432L, 0.004923241210L, 0.007532324015L, 0.007802014957L,
0.007477034753L, 0.006122850896L, 0.009473591473L, 0.010367378252L,
0.012705496511L, 0.012799688011L, 0.017218083958L, 0.019252454605L,
0.024663172955L, 0.031756183946L, 0.038882166735L, 0.051146531756L,
0.077111264174L, 0.138488067333L, 0.510305227736L, 0.356667997675L,
0.136992779606L, 0.088012943283L, 0.065724378336L, 0.051600971066L,
0.047358571417L, 0.039385706992L, 0.034809056959L, 0.033436524793L,
0.027398527308L, 0.027147589798L, 0.025646842062L, 0.022861278257L,
0.024976849360L, 0.021265567918L, 0.021471928211L, 0.020369202095L,
0.022168353810L, 0.016807817759L, 0.017071703348L, 0.017185142526L,
0.018371669018L, 0.018633734329L, 0.015606923335L, 0.015963899385L,
0.016098705469L, 0.014908456776L, 0.013927608686L, 0.014144569312L,
0.013909118977L, 0.015421543618L, 0.012475963494L, 0.013428533949L,
0.013847872380L, 0.013516873152L, 0.012618583645L, 0.012397844143L,
0.012787376280L, 0.012840649110L, 0.011302915461L, 0.010733517595L,
0.009194089555L, 0.009950759230L, 0.011621612492L, 0.010998164903L,
0.010754105563L, 0.011652951011L, 0.010212453608L, 0.012844453638L,
0.011624850467L, 0.008961671155L, 0.011658219831L, 0.006939524204L,
0.007993950122L, 0.010425949953L, 0.011073310941L, 0.010006326116L,
0.009685738612L, 0.009174484168L, 0.008272350232L, 0.009182006290L,
0.009438590532L, 0.011537829458L, 0.007945480943L, 0.010260254163L,
0.008416717528L, 0.010130187237L, 0.008368398021L, 0.009832455822L,
0.009271780268L, 0.009193734639L, 0.008496643981L, 0.007339708845L,
0.008883370208L, 0.008341172933L, 0.008911195184L, 0.009036707204L,
0.009292517119L, 0.008922966433L, 0.008573063795L, 0.007960078694L,
0.007721416566L, 0.007740631477L, 0.008948062784L, 0.009004055199L,
0.009168307614L, 0.006758968209L, 0.007895363248L, 0.006421988093L,
0.008147867648L, 0.007069655399L, 0.008605512272L, 0.009048051666L,
0.009305411013L, 0.006185622376L, 0.008418550922L, 0.006239878524L,
0.005907329740L, 0.007863336222L, 0.008497346302L, 0.006986251731L,
0.006950024220L, 0.007425498122L, 0.008034620822L, 0.008836241414L,
0.008048942622L, 0.007431254748L, 0.006512704606L, 0.007618595438L,
0.006876202771L, 0.009122486613L, 0.007256633785L, 0.006722047605L,
0.007459426036L, 0.006158571498L, 0.008718593856L, 0.007798318977L,
0.007135309400L, 0.006270950443L, 0.007750088840L, 0.007327163957L,
0.006951799621L, 0.007655692822L, 0.006472563340L, 0.004939459907L,
0.007437791040L, 0.006753574773L, 0.007893654380L, 0.007608118564L,
0.007170840352L, 0.009083868135L, 0.007073962713L, 0.007862467808L,
0.006859480321L, 0.007201884512L, 0.006279332029L, 0.006563758612L,
0.006452352926L, 0.007468766472L, 0.005796482977L, 0.006156863568L,
0.004893786255L, 0.006496949238L, 0.009324554019L, 0.009524571736L,
0.007813130278L, 0.008451845127L, 0.007656186030L, 0.007372999388L,
0.007457164753L, 0.006340916145L, 0.008067525922L, 0.008849504860L,
0.007326007326L, 0.000000000000L, -0.034324632845L, -0.043129751613L,
-0.063739872511L, -0.099764510203L, -0.112992989231L, -0.172744720423L,
-0.162349878501L, -0.242489622538L, -0.227113367156L, -0.241440015821L,
-0.282254252264L, -0.311674805868L, -0.337561822342L, -0.360043785428L,
-0.395419039066L, -0.409269543033L, -0.428608862355L, -0.467290468211L,
-0.484386437114L, -0.519108353584L, -0.570507172980L, -0.683169418760L,
1.349093801956L, -0.306856895873L, 2.708594911600L, 2.667982415172L,
2.623555564997L, 2.606728100552L, 2.572194893033L, 2.567664411561L,
2.489995173901L, 2.532324564367L, 2.539345817337L, 2.515535715740L,
2.498015599619L, 2.429610346322L, 2.419343654127L, 2.426450032638L,
2.417615070644L, 2.398983725541L, 2.426312813218L, 2.376734509468L,
2.379855216777L, 2.448615545131L, 2.492441047707L, 2.365945958213L,
2.297376669087L, 2.438542823555L, 2.209162325566L, 2.334877228897L,
2.300603810805L, 2.281855113633L, 2.344098070560L, 2.339184217023L,
2.288797444168L, 2.393023893353L, 2.309308187285L, 2.125494731506L,
2.248822299490L, 2.230055066398L, 2.282401170352L, 2.094627752122L,
2.247784169498L, 2.095183615999L, 2.137548430671L, 2.202596153905L,
2.105448852268L, 2.139236534499L, 2.198027396749L, 1.983450496753L,
1.781652081135L, 2.062838752725L, 1.817716079249L, 1.831033908382L,
1.844226055999L, 1.617056424393L, 1.303353122257L, 1.545186913557L,
1.634551154723L, 1.177137968261L, 1.226155172944L, 1.199717876011L,
1.050169463841L, 0.683529929493L, 1.177058345489L, 0.686873796329L,
0.287911226820L, 0.410721702233L, 0.272173291158L, -0.063585234668L,
0.112326282036L, -0.039013056495L, -0.030213111269L, -0.071348921505L,
-0.162746565388L, -0.196067478331L, -0.191866422316L, -0.291897385344L,
-0.238450909018L, -0.280881614376L, -0.299896352364L, -0.309283948363L,
2.824727173150L, 2.809416910808L, 2.795052337165L, 2.795301708031L,
2.794519033044L, 2.769996894477L, 2.752739125177L, 2.734431195174L,
2.778634385212L, 2.663430366864L, 2.712434666978L, 2.719270408736L,
2.685237643223L, 2.773714686989L, 2.777724066340L, 2.738190398630L,
2.585516204256L, 2.775641834281L, 2.697717493185L, 2.677942187745L,
2.798816171383L, 2.740761264323L, 2.614188589714L, 2.733053326259L,
2.873459563434L, 2.752635773411L, 2.791701688948L, 2.758310004885L,
2.732956879229L, 2.624865198565L, 2.821356314738L, 2.881968550658L,
2.763246569748L, 2.791005101413L, 2.652989947047L, 2.765263039263L,
2.874822829974L, 2.767832390369L, 2.660366938081L, 2.640992678451L,
2.905799231235L, 2.889424296902L, 2.653152806382L, 2.700114666026L,
2.988169708834L, 2.795470472361L, 2.836407077677L, 2.741303271425L,
2.775571056150L, 2.736945552701L, 2.533713630587L, 2.797893486230L,
2.827160072347L, 2.718098031742L, 2.855451734588L, 2.732020896606L,
2.833734020896L, 2.809589520824L, 2.491748345327L, 2.827083336465L,
2.849687523012L, 2.891161946419L, 2.738676088594L, 2.704544037110L,
2.814992742435L, 2.835498769694L, 2.900617034245L, 2.744381632134L,
2.810405958739L, 2.817187307213L, 2.893832253356L, 2.623377732668L,
2.862319487220L, 2.820376372154L, 2.674357067974L, 2.851902323664L,
2.620215678187L, 2.902153666186L, 2.789512171111L, 2.774984129876L,
2.948993748709L, 2.793234480448L, 2.749193453133L, 2.814292703361L,
-3.110438086878L, 3.045237975181L, 2.630153280595L, 2.951099989987L,
2.960245867615L, -3.131931916896L, 2.994140659459L, 2.908001958434L,
2.828632761047L, 2.937108363498L, 2.876673953313L, 2.862367329128L,
2.905411871052L, 2.812809634408L, 2.841418157899L, 2.951811104614L,
2.993179139817L, 2.738577925974L, 3.123721863222L, 2.951162475263L,
2.930554973649L, 3.138756795603L, 2.827442847342L, -3.087424495975L,
2.869847046174L, -3.118475635421L, 2.920098452410L, -3.067412172708L,
2.883729644135L, 2.904751585229L, 2.999887232142L, 2.970551690125L,
3.093525749703L, 2.939761597020L, 2.932061269618L, -3.074223113229L,
3.076694901207L, 3.035976520610L, 2.957486387172L, -3.073874469847L,
-3.126388692095L, 3.066578518246L, -3.046208395276L, -3.070408517970L,
-2.800796462640L, 2.766825544212L, 3.050433242879L, 2.872958469576L,
3.062080127331L, -3.125857019142L, 2.966432151118L, 2.791570060487L,
3.064683243425L, 2.792368127121L, -3.055734864028L, -2.950484593132L,
-3.030850702217L, -2.772964486580L, -2.662099018256L, 2.940577809671L,
2.855071998038L, -3.120520103713L, -3.094540239932L, 3.020000060557L,
2.940764547236L, 3.099524131860L, -3.089787229238L, -3.105574911369L,
-2.972588116739L, 3.141592653590L,
};
uint16_t pass = 0U, fail = 0U;
float64_t tolerance = 3.2e-7;
volatile uint16_t flagInputReady = 0;
volatile uint16_t sampleIndex = 0;
uint32_t max_idx = 1;
#if USE_REAL_ADC_INPUT == 1U
#ifdef __cplusplus
#pragma DATA_SECTION("FFT_buffer_1")
#else
#pragma DATA_SECTION(test_input, "FFT_buffer_1")
#endif
uint16_t test_input[4U*TEST_SIZE];
#endif
#ifdef __cplusplus
#pragma DATA_SECTION("FFT_buffer_2")
#else
#pragma DATA_SECTION(test_output, "FFT_buffer_2")
#endif
float64_t test_output[myRFFT0_RFFT_SIZE];
float64_t test_magnitude_phase[(myRFFT0_RFFT_SIZE >> 1) + 1];
float64_t twiddleFactors[myRFFT0_RFFT_SIZE];
uint16_t *inADC = test_input;
float64_t *inPtr = (float64_t *)test_input;
float64_t *outPtr = test_output;
//
// Main
//
void main(void)
{
//
// Initialize CPU and peripherals
//
Device_init();
Device_initGPIO();
Interrupt_initModule();
Interrupt_initVectorTable();
Board_init();
C2000Ware_libraries_init();
// Locals
int16_t i;
#if USE_REAL_ADC_INPUT == 0U
int16_t j;
float64u_t out, gold, errld;
#endif
#if USE_REAL_ADC_INPUT == 1U
float64_t max;
#endif
#if USE_REAL_ADC_INPUT == 1U
while(1){
while(flagInputReady == 0){};
CFFT_f64_setCurrInputPtr(myRFFT0_handle, (float64_t *)test_input);
CFFT_f64_setCurrOutputPtr(myRFFT0_handle, test_output);
#endif
myRFFT0_handle->calc(myRFFT0_adc_handle);
#if USE_REAL_ADC_INPUT == 0U
for(i = 0U; i < myRFFT0_RFFT_SIZE; i++)
{
out.f64 = myRFFT0_handle->p_currOutput[i];
gold.f64 = test_golden[i];
errld.f64 = fabsf(out.f64 - gold.f64);
if(errld.f64 < tolerance)
{
pass++;
}
else
{
fail++;
}
}
#endif
flagInputReady = 0;
CFFT_f64_setCurrInputPtr(myRFFT0_handle, CFFT_f64_getCurrOutputPtr(myRFFT0_handle));
CFFT_f64_setCurrOutputPtr(myRFFT0_handle, test_magnitude_phase);
myRFFT0_handle->mag(myRFFT0_handle);
#if USE_REAL_ADC_INPUT == 1U
max = 0.0;
max_idx = 1;
for(i = 1U; i < myRFFT0_RFFT_SIZE >> 1; i++)
{
if(myRFFT0_handle->p_currOutput[i] > max)
{
max = myRFFT0_handle->p_currOutput[i];
max_idx = i;
}
}
if (max_idx == 51)
{
pass = 1;
fail = 0;
}
else
{
pass = 0;
fail = 1;
}
#endif
#if USE_REAL_ADC_INPUT == 0U
for(i = (myRFFT0_RFFT_SIZE), j=0U; i <= (myRFFT0_RFFT_SIZE+(myRFFT0_RFFT_SIZE >> 1)); i++, j++)
{
out.f64 = myRFFT0_handle->p_currOutput[j];
gold.f64 = test_golden[i];
errld.f64 = fabsf(out.f64 - gold.f64);
if(errld.f64 < tolerance)
{
pass++;
}
else
{
fail++;
}
}
#endif
#if USE_REAL_ADC_INPUT == 1U
}
#endif
while(1);
}
//
// End of File
//
@@ -0,0 +1,33 @@
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --device "F2838x" --package "337bga" --part "F2838x_337bga" --context "CPU1" --product "C2000WARE@5.00.00.00"
* @versions {"tool":"1.16.0+2821"}
*/
/**
* Import the modules used in this configuration.
*/
const FFT = scripting.addModule("/libraries/dsp/FPU/FFT/FFT.js", {}, false);
const FFT1 = FFT.addInstance();
const FPUfastRTS = scripting.addModule("/libraries/math/FPUfastRTS/FPUfastRTS.js", {}, false);
const FPUfastRTS1 = FPUfastRTS.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
FFT1.$name = "myFFT0";
FFT1.fpuType = "FPU64";
FFT1.RFFT.create(1);
FFT1.RFFT[0].$name = "myRFFT0";
FFT1.RFFT[0].inPtr = "inPtr";
FFT1.RFFT[0].outPtr = "outPtr";
FFT1.RFFT[0].inAdcPtr = "inADC";
FFT1.RFFT[0].numStages = 9;
FFT1.RFFT[0].adcEnable = true;
const FPU = scripting.addModule("/libraries/math/FPU/FPU.js", {}, false);
FPU.fpuType = "FPU64";
FPUfastRTS1.$name = "myFFR0";
FPUfastRTS1.fpuType = "FPU64";
@@ -0,0 +1,558 @@
//#############################################################################
//
// FILE: empty_sysconfig_main.c
//
// TITLE: Empty Pinmux Example
//
// Empty SysCfg & Driverlib Example
//
// This example is an empty project setup for SysConfig and Driverlib
// development.
//
//#############################################################################
//
//
//
// C2000Ware v5.04.00.00
//
// Copyright (C) 2024 Texas Instruments Incorporated - http://www.ti.com
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the
// distribution.
//
// Neither the name of Texas Instruments Incorporated nor the names of
// its contributors may be used to endorse or promote products derived
// from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// $
//#############################################################################
//
// Included Files
//
#include "driverlib.h"
#include "device.h"
#include "board.h"
#include "c2000ware_libraries.h"
#define USE_REAL_ADC_INPUT 0U
float64_t test_input[512] = {
0.000000000000L, 21.572962329776L, 33.101549345938L, 31.348099381273L,
21.659704690254L, 13.462635707408L, 12.925769914236L, 18.345490092755L,
21.719821525992L, 15.285006398720L, -1.977025287475L, -22.848099381273L,
-36.616267971699L, -36.567315531530L, -24.653242151256L, -9.864728951361L,
-1.544042094290L, -2.652831629230L, -8.015324001497L, -8.790653196966L,
0.272527762980L, 16.339843294510L, 30.205102900231L, 32.969408775483L,
22.676216863781L, 5.899542724855L, -6.941239279948L, -9.060737722782L,
-2.007650711028L, 5.894206751259L, 6.138637308489L, -3.337234005992L,
-16.500605375735L, -23.785006398720L, -19.410151639799L, -5.913445609864L,
7.559511460003L, 11.957184168489L, 5.001188172030L, -7.169343802757L,
-14.623918682727L, -11.066384521027L, 1.507067914734L, 14.394206751259L,
18.791879459745L, 12.421701696628L, 1.174423316016L, -5.462830966734L,
-1.735122948048L, 9.845490092755L, 20.212753611259L, 20.457184168489L,
8.515906797791L, -9.174990601002L, -22.306598085507L, -24.135271048639L,
-16.167960777018L, -6.618017855735L, -3.853711980483L, -9.831587207746L,
-18.508256086763L, -20.457184168489L, -10.220404322287L, 9.161087715993L,
27.895433014038L, 36.216119871109L, 31.161498238020L, 18.331587207746L,
7.368430606245L, 4.612371057489L, 8.485281374239L, 11.066384521027L,
4.631569393755L, -11.837234005992L, -31.161498238020L, -42.710473072863L,
-39.895433014038L, -24.839843294509L, -6.750158426190L, 4.778428589972L,
6.508256086763L, 3.337234005992L, 3.853711980483L, 13.112371057489L,
28.167960777018L, 39.814026627156L, 39.277160833983L, 24.853746179518L,
3.484093202208L, -13.962830966735L, -20.212753611259L, -16.339843294510L,
-10.264877051952L, -10.215924611782L, -18.144986064493L, -28.100457275144L,
-30.791879459745L, -20.888559953013L, -1.507067914733L, 17.560737722782L,
26.623918682727L, 22.848099381273L, 11.969374576447L, 3.721571410028L,
4.440488539997L, 12.407798811619L, 19.410151639799L, 17.290653196966L,
4.500605375735L, -12.341521572525L, -23.109200056966L, -21.572962329775L,
-9.992349288972L, 2.566384521028L, 6.941239279948L, 0.594810476899L,
-10.676216863781L, -17.290653196966L, -13.234540151754L, -0.661087715993L,
11.727472237020L, 15.285006398720L, 8.015324001497L, -3.841521572525L,
-10.455957905710L, -5.814026627156L, 7.682679402779L, 20.888559953014L,
24.616267971700L, 16.353746179518L, 1.977025287475L, -8.790653196966L,
-9.719821525992L, -2.666734514239L, 4.044792834241L, 2.216119871108L,
-9.659704690255L, -24.853746179519L, -33.101549345938L, -28.067315531530L,
-12.000000000000L, 5.894206751259L, 16.130986597461L, 15.669343802756L,
9.659704690254L, 6.968282505654L, 12.925769914236L, 24.839843294510L,
33.719821525993L, 30.963761977237L, 14.993537461001L, -7.169343802757L,
-24.616267971700L, -30.072962329776L, -24.653242151256L, -16.359082153115L,
-13.544042094290L, -18.331587207746L, -24.985886749974L, -24.469408775482L,
-11.727472237020L, 9.845490092756L, 30.205102900232L, 39.463761977237L,
34.676216863781L, 21.578298303372L, 10.029323468528L, 6.618017855735L,
9.992349288972L, 12.388559953013L, 6.138637308488L, -9.831587207747L,
-28.500605375736L, -39.463761977237L, -36.380714388276L, -21.592201188380L,
-4.440488539997L, 5.462830966735L, 5.001188172030L, -0.674990601002L,
-2.623918682727L, 4.612371057489L, 18.477630663211L, 30.072962329776L,
30.791879459745L, 18.916054898382L, 1.174423316015L, -11.957184168489L,
-13.735122948048L, -5.833265485761L, 3.242190862782L, 4.778428589972L,
-3.484093202209L, -15.669343802756L, -22.306598085506L, -17.640917846885L,
-4.167960777017L, 9.060737722782L, 13.116850767994L, 5.847168370770L,
-6.508256086764L, -13.962830966735L, -10.220404322287L, 2.666734514239L,
15.895433014038L, 20.537364292592L, 14.190935489542L, 2.652831629230L,
-4.631569393755L, -1.881982144265L, 8.485281374239L, 17.560737722782L,
16.631569393755L, 3.841521572524L, -14.190935489543L, -27.031717494347L,
-27.895433014038L, -18.345490092755L, -6.750158426190L, -1.715924611782L,
-5.491743913237L, -12.341521572525L, -13.116850767994L, -2.566384521027L,
16.167960777019L, 33.319673425402L, 39.277160833984L, 31.348099381273L,
15.484093202208L, 1.715924611782L, -3.242190862782L, -0.661087715993L,
1.735122948048L, -3.721571410028L, -18.144986064494L, -34.594810476899L,
-42.791879459745L, -36.567315531529L, -18.477630663210L, 1.881982144266L,
14.623918682728L, 16.353746179519L, 11.969374576447L, 10.215924611782L,
16.440488539998L, 28.086554390136L, 36.380714388277L, 32.969408775482L,
16.500605375734L, -5.847168370771L, -23.109200056967L, -28.067315531530L,
-21.992349288972L, -13.112371057489L, -10.029323468529L, -15.083945101618L,
-22.676216863781L, -23.785006398720L, -13.234540151753L, 5.833265485762L,
23.727472237021L, 30.963761977237L, 24.985886749973L, 11.837234005991L,
1.544042094290L, 0.680326574598L, 7.682679402779L, 14.394206751259L,
12.616267971699L, 0.674990601002L, -14.993537461002L, -24.469408775482L,
-21.719821525992L, -9.161087715992L, 4.044792834242L, 8.710473072863L,
2.340295309745L, -9.174990601003L, -16.130986597461L, -12.388559953013L,
0.000000000000L, 12.388559953014L, 16.130986597460L, 9.174990601001L,
-2.340295309746L, -8.710473072863L, -4.044792834241L, 9.161087715994L,
21.719821525993L, 24.469408775483L, 14.993537461002L, -0.674990601003L,
-12.616267971700L, -14.394206751259L, -7.682679402779L, -0.680326574599L,
-1.544042094291L, -11.837234005993L, -24.985886749975L, -30.963761977237L,
-23.727472237020L, -5.833265485760L, 13.234540151755L, 23.785006398721L,
22.676216863781L, 15.083945101618L, 10.029323468529L, 13.112371057490L,
21.992349288972L, 28.067315531530L, 23.109200056965L, 5.847168370769L,
-16.500605375737L, -32.969408775483L, -36.380714388277L, -28.086554390135L,
-16.440488539997L, -10.215924611782L, -11.969374576447L, -16.353746179518L,
-14.623918682727L, -1.881982144264L, 18.477630663212L, 36.567315531531L,
42.791879459745L, 34.594810476898L, 18.144986064492L, 3.721571410027L,
-1.735122948049L, 0.661087715993L, 3.242190862782L, -1.715924611783L,
-15.484093202209L, -31.348099381273L, -39.277160833983L, -33.319673425401L,
-16.167960777016L, 2.566384521029L, 13.116850767994L, 12.341521572525L,
5.491743913236L, 1.715924611782L, 6.750158426190L, 18.345490092755L,
27.895433014038L, 27.031717494346L, 14.190935489541L, -3.841521572526L,
-16.631569393756L, -17.560737722781L, -8.485281374238L, 1.881982144266L,
4.631569393756L, -2.652831629230L, -14.190935489543L, -20.537364292592L,
-15.895433014038L, -2.666734514238L, 10.220404322287L, 13.962830966734L,
6.508256086762L, -5.847168370771L, -13.116850767994L, -9.060737722781L,
4.167960777018L, 17.640917846886L, 22.306598085507L, 15.669343802756L,
3.484093202209L, -4.778428589972L, -3.242190862781L, 5.833265485762L,
13.735122948049L, 11.957184168488L, -1.174423316017L, -18.916054898384L,
-30.791879459746L, -30.072962329776L, -18.477630663210L, -4.612371057489L,
2.623918682727L, 0.674990601002L, -5.001188172030L, -5.462830966734L,
4.440488539998L, 21.592201188383L, 36.380714388278L, 39.463761977237L,
28.500605375735L, 9.831587207745L, -6.138637308490L, -12.388559953014L,
-9.992349288972L, -6.618017855735L, -10.029323468530L, -21.578298303373L,
-34.676216863782L, -39.463761977237L, -30.205102900230L, -9.845490092753L,
11.727472237022L, 24.469408775483L, 24.985886749974L, 18.331587207746L,
13.544042094290L, 16.359082153115L, 24.653242151256L, 30.072962329775L,
24.616267971698L, 7.169343802755L, -14.993537461004L, -30.963761977238L,
-33.719821525992L, -24.839843294509L, -12.925769914235L, -6.968282505653L,
-9.659704690254L, -15.669343802756L, -16.130986597460L, -5.894206751258L,
12.000000000001L, 28.067315531530L, 33.101549345937L, 24.853746179517L,
9.659704690253L, -2.216119871109L, -4.044792834242L, 2.666734514239L,
9.719821525993L, 8.790653196966L, -1.977025287476L, -16.353746179519L,
-24.616267971699L, -20.888559953012L, -7.682679402778L, 5.814026627157L,
10.455957905710L, 3.841521572524L, -8.015324001498L, -15.285006398721L,
-11.727472237020L, 0.661087715993L, 13.234540151754L, 17.290653196966L,
10.676216863780L, -0.594810476899L, -6.941239279948L, -2.566384521026L,
9.992349288974L, 21.572962329777L, 23.109200056966L, 12.341521572524L,
-4.500605375736L, -17.290653196967L, -19.410151639800L, -12.407798811619L,
-4.440488539997L, -3.721571410029L, -11.969374576448L, -22.848099381274L,
-26.623918682727L, -17.560737722781L, 1.507067914735L, 20.888559953015L,
30.791879459746L, 28.100457275145L, 18.144986064493L, 10.215924611782L,
10.264877051952L, 16.339843294510L, 20.212753611259L, 13.962830966733L,
-3.484093202211L, -24.853746179520L, -39.277160833985L, -39.814026627156L,
-28.167960777017L, -13.112371057488L, -3.853711980482L, -3.337234005991L,
-6.508256086763L, -4.778428589971L, 6.750158426192L, 24.839843294511L,
39.895433014039L, 42.710473072862L, 31.161498238018L, 11.837234005990L,
-4.631569393757L, -11.066384521028L, -8.485281374239L, -4.612371057489L,
-7.368430606245L, -18.331587207747L, -31.161498238020L, -36.216119871108L,
-27.895433014036L, -9.161087715991L, 10.220404322289L, 20.457184168489L,
18.508256086763L, 9.831587207745L, 3.853711980483L, 6.618017855735L,
16.167960777018L, 24.135271048639L, 22.306598085505L, 9.174990601001L,
-8.515906797793L, -20.457184168489L, -20.212753611258L, -9.845490092754L,
};
const float64_t test_golden[1026] = {
102.080486845103L, 102.231251368372L, 102.686303615415L, 103.454047550821L,
104.548927429438L, 105.992125081487L, 107.812623840128L, 110.048742424893L,
112.750297776165L, 115.981639301024L, 119.825926768465L, 124.391232440011L,
129.819393120818L, 136.299128513674L, 144.085990523631L, 153.533645859366L,
165.144748061405L, 179.657336817190L, 198.199480560296L, 222.584535428622L,
255.922785011239L, 304.030903802971L, 379.190561695765L, 512.580772329760L,
813.331604084142L, 2118.115126849275L, -3103.127999869504L, -866.004496189934L,
-493.444525351101L, -340.225890018274L, -256.783420906854L, -204.341269881769L,
-168.358679515284L, -142.154858389649L, -122.230373018497L, -106.574883476167L,
-93.951182735115L, -83.556053983982L, -74.845225036477L, -67.436696308960L,
-61.054342805014L, -55.493482258380L, -50.599031915767L, -46.251187538866L,
-42.355760492144L, -38.837489234929L, -35.635300998444L, -32.698881280534L,
-29.986136865041L, -27.461277945628L, -25.093332554387L, -22.854962149572L,
-20.721482594263L, -18.670016635519L, -16.678716177919L, -14.725996963815L,
-12.789724979368L, -10.846281626427L, -8.869409854011L, -6.828698832902L,
-4.687486581347L, -2.399821489661L, 0.094128453702L, 2.875307301965L,
6.057680726767L, 9.808858477140L, 14.387980740513L, 20.220552849220L,
28.060530398322L, 39.387089283630L, 57.558800297822L, 92.199411382533L,
186.608857501825L, 1596.435804949498L, -282.357489112712L, -137.416736770500L,
-93.681875481277L, -72.450241378439L, -59.832281008424L, -51.423354464507L,
-45.387704255087L, -40.823752068275L, -37.236771292275L, -34.332538442067L,
-31.925016899778L, -29.890752951443L, -28.144552081182L, -26.625685872365L,
-25.289668118178L, -24.103141774937L, -23.040585060696L, -22.082123671281L,
-21.212038573732L, -20.417724227220L, -19.688946105631L, -19.017301705012L,
-18.395822750796L, -17.818677202255L, -17.280942973662L, -16.778433977068L,
-16.307564866780L, -15.865244775222L, -15.448793020303L, -15.055871644093L,
-14.684430974106L, -14.332665354034L, -13.998976884621L, -13.681945524884L,
-13.380304281942L, -13.092918500901L, -12.818768480379L, -12.556934802491L,
-12.306585891623L, -12.066967413475L, -11.837393201693L, -11.617237458918L,
-11.405928026153L, -11.202940551753L, -11.007793421267L, -10.820043333456L,
-10.639281427238L, -10.465129880140L, -10.297238911742L, -10.135284136187L,
-9.978964216545L, -9.827998781050L, -9.682126567192L, -9.541103764687L,
-9.404702532471L, -9.272709668444L, -9.144925413578L, -9.021162374570L,
-8.901244551297L, -8.785006457162L, -8.672292321954L, -8.562955368160L,
-8.456857152806L, -8.353866967878L, -8.253861293205L, -8.156723296432L,
-8.062342375315L, -7.970613738149L, -7.881438018585L, -7.794720921542L,
-7.710372897250L, -7.628308840805L, -7.548447814897L, -7.470712793594L,
-7.395030425314L, -7.321330813297L, -7.249547312046L, -7.179616338382L,
-7.111477195876L, -7.045071911541L, -6.980345083783L, -6.917243740688L,
-6.855717207836L, -6.795716984869L, -6.737196630145L, -6.680111652852L,
-6.624419412013L, -6.570079021862L, -6.517051263132L, -6.465298499804L,
-6.414784600929L, -6.365474867173L, -6.317335961723L, -6.270335845277L,
-6.224443714821L, -6.179629945934L, -6.135866038391L, -6.093124564838L,
-6.051379122330L, -6.010604286565L, -5.970775568609L, -5.931869373987L,
-5.893862963959L, -5.856734418867L, -5.820462603414L, -5.785027133750L,
-5.750408346280L, -5.716587268053L, -5.683545588678L, -5.651265633645L,
-5.619730338982L, -5.588923227180L, -5.558828384293L, -5.529430438161L,
-5.500714537691L, -5.472666333133L, -5.445271957296L, -5.418518007660L,
-5.392391529329L, -5.366879998777L, -5.341971308356L, -5.317653751516L,
-5.293916008703L, -5.270747133904L, -5.248136541796L, -5.226073995480L,
-5.204549594767L, -5.183553764979L, -5.163077246256L, -5.143111083333L,
-5.123646615766L, -5.104675468591L, -5.086189543385L, -5.068181009727L,
-5.050642297017L, -5.033566086663L, -5.016945304595L, -5.000773114113L,
-4.985042909031L, -4.969748307133L, -4.954883143891L, -4.940441466475L,
-4.926417528005L, -4.912805782058L, -4.899600877415L, -4.886797653032L,
-4.874391133232L, -4.862376523107L, -4.850749204121L, -4.839504729908L,
-4.828638822261L, -4.818147367292L, -4.808026411776L, -4.798272159650L,
-4.788880968690L, -4.779849347325L, -4.771173951614L, -4.762851582369L,
-4.754879182405L, -4.747253833949L, -4.739972756156L, -4.733033302775L,
-4.726432959926L, -4.720169344002L, -4.714240199692L, -4.708643398113L,
-4.703376935060L, -4.698438929358L, -4.693827621329L, -4.689541371354L,
-4.685578658548L, -4.681938079524L, -4.678618347263L, -4.675618290079L,
-4.672936850677L, -4.670573085308L, -4.668526163009L, -4.666795364949L,
-4.665380083847L, -4.664279823495L, -4.663494198362L, -4.663022933286L,
-4.662865863257L, 0.012898919637L, 0.025800955067L, 0.038709224395L,
0.051626850348L, 0.064556962596L, 0.077502700085L, 0.090467213375L,
0.103453667001L, 0.116465241857L, 0.129505137592L, 0.142576575042L,
0.155682798692L, 0.168827079168L, 0.182012715767L, 0.195243039032L,
0.208521413371L, 0.221851239722L, 0.235235958278L, 0.248679051260L,
0.262184045763L, 0.275754516661L, 0.289394089588L, 0.303106443988L,
0.316895316258L, 0.330764502964L, 0.344717864158L, 0.358759326792L,
0.372892888233L, 0.387122619885L, 0.401452670935L, 0.415887272218L,
0.430430740209L, 0.445087481160L, 0.459861995374L, 0.474758881646L,
0.489782841847L, 0.504938685700L, 0.520231335725L, 0.535665832379L,
0.551247339395L, 0.566981149341L, 0.582872689398L, 0.598927527380L,
0.615151378000L, 0.631550109405L, 0.648129749992L, 0.664896495516L,
0.681856716509L, 0.699016966037L, 0.716383987795L, 0.733964724578L,
0.751766327136L, 0.769796163448L, 0.788061828421L, 0.806571154060L,
0.825332220119L, 0.844353365273L, 0.863643198830L, 0.883210613028L,
0.903064795946L, 0.923215245061L, 0.943671781496L, 0.964444565008L,
0.985544109737L, 1.006981300797L, 1.028767411734L, 1.050914122913L,
1.073433540904L, 1.096338218915L, 1.119641178346L, 1.143355931541L,
1.167496505804L, 1.192077468776L, 1.217113955254L, 1.242621695554L,
1.268617045517L, 1.295117018269L, 1.322139317869L, 1.349702374956L,
1.377825384549L, 1.406528346147L, 1.435832106289L, 1.465758403763L,
1.496329917643L, 1.527570318362L, 1.559504322062L, 1.592157748442L,
1.625557582391L, 1.659732039671L, 1.694710636986L, 1.730524266760L,
1.767205277008L, 1.804787556687L, 1.843306626993L, 1.882799739056L,
1.923305978594L, 1.964866378064L, 2.007524036979L, 2.051324251051L,
2.096314650947L, 2.142545351468L, 2.190069112090L, 2.238941509866L,
2.289221125803L, 2.340969745959L, 2.394252578593L, 2.449138488901L,
2.505700252984L, 2.564014832905L, 2.624163674884L, 2.686233032914L,
2.750314320348L, 2.816504492278L, 2.884906461891L, 2.955629554329L,
3.028790002039L, 3.104511486052L, 3.182925728216L, 3.264173140009L,
3.348403534302L, 3.435776907254L, 3.526464298481L, 3.620648738727L,
3.718526295531L, 3.820307228830L, 3.926217270151L, 4.036499040963L,
4.151413628097L, 4.271242336759L, 4.396288644809L, 4.526880385635L,
4.663372191257L, 4.806148232399L, 4.955625298286L, 5.112256266088L,
5.276534018500L, 5.448995878135L, 5.630228639712L, 5.820874295812L,
6.021636569867L, 6.233288391846L, 6.456680478618L, 6.692751213579L,
6.942538060196L, 7.207190793812L, 7.487986897802L, 7.786349547483L,
8.103868702444L, 8.442325951063L, 8.803723907861L, 9.190321165519L,
9.604674063268L, 10.049686871589L, 10.528672436928L, 11.045425917246L,
11.604315023150L, 12.210391236162L, 12.869527915153L, 13.588593184547L,
14.375668261156L, 15.240325777650L, 16.193988245261L, 17.250394914128L,
18.426217279149L, 19.741881511405L, 21.222683754989L, 22.900327587901L,
24.815082570097L, 27.018877646632L, 29.579838410466L, 32.589120658271L,
36.171520786514L, 40.502545185091L, 45.837043387882L, 52.559707323707L,
61.279758426506L, 73.022632639542L, 89.658454610470L, 114.997029920437L,
158.182325017715L, 248.053735535552L, 548.036250327868L, -3354.356394342403L,
-427.910137401812L, -233.011442927766L, -162.282899483568L, -125.815545043929L,
-103.630153101158L, -88.757734466010L, -78.132424387313L, -70.194880951829L,
-64.068460705852L, -59.222734945075L, -55.318198150410L, -52.127718184130L,
-49.493856690482L, -47.304307802974L, -45.477082091983L, -43.951212738140L,
-42.680732349733L, -41.630662520587L, -40.774284982695L, -40.091254938716L,
-39.566285144894L, -39.188229604354L, -38.949457803698L, -38.845450433143L,
-38.874574708612L, -39.038017340934L, -39.339869537939L, -39.787373956018L,
-40.391360834006L, -41.166922708884L, -42.134408486081L, -43.320865175548L,
-44.762131233982L, -46.505910647086L, -48.616371993172L, -51.181200909150L,
-54.322750422571L, -58.216334738229L, -63.121613989217L, -69.439448398566L,
-3149.822074432357L, -89.405719606571L, -106.360440234564L, -133.410283352307L,
-183.153879283503L, -304.187609722401L, -1031.076397834177L, 665.383455240904L,
241.387085625993L, 143.598930117615L, 100.167486710191L, 75.633866555169L,
59.866896947815L, 48.875402079881L, 40.768681165490L, 34.535255018200L,
29.584892850268L, 25.549865484510L, 22.188994374116L, 19.337386711471L,
16.878340701642L, 14.726790327369L, 12.819110337410L, 11.106597957195L,
9.551167274051L, 8.122421559125L, 6.795609022825L, 5.550158954927L,
4.368606711250L, 3.235782892215L, 2.138183148224L, 1.063460724313L,
102.080486845103L, 102.236782544520L, 102.708562337190L, 103.504638763551L,
104.640159361707L, 106.137339535691L, 108.026580809002L, 110.348083088401L,
113.154118108493L, 116.512218986403L, 120.509677270185L, 125.259957932657L,
130.912005618653L, 137.664036547008L, 145.784512677138L, 155.645032163400L,
167.773817078908L, 182.946556434981L, 202.349004095263L, 227.887429097011L,
262.831727989733L, 313.297418178536L, 392.197663778083L, 532.315414855795L,
848.396147627448L, 2220.168199280415L, 3269.942189358217L, 917.874658834097L,
526.339095161635L, 365.447615866993L, 277.939325212387L, 223.044249590217L,
3154.318269539313L, 158.208219627421L, 137.566719234140L, 121.438657017904L,
108.525508295515L, 97.985353415074L, 89.248861822094L, 81.917688774658L,
75.705225499700L, 70.400454066143L, 65.845048479629L, 61.918396895225L,
58.527536056891L, 55.600231082156L, 53.080128226218L, 50.923311311319L,
49.095834475691L, 47.571953983002L, 46.332878195587L, 45.365919304935L,
44.663976100113L, 44.225312251376L, 44.053625153823L, 44.158431227584L,
44.555829909872L, 45.269757303006L, 46.333912275561L, 47.794651002691L,
49.715333455065L, 52.182929644342L, 55.318278233996L, 59.292493002532L,
64.354200740936L, 70.876900443416L, 79.446143584371L, 91.031896525706L,
107.362013757216L, 131.836619256326L, 172.188138257310L, 250.589433126310L,
466.829681350034L, 3714.877400344528L, 616.497756144712L, 283.573650499821L,
183.842165298659L, 135.916718494510L, 107.789333117005L, 89.312184286310L,
76.257802816225L, 66.551495602171L, 59.056004629637L, 53.095944876669L,
48.245057985874L, 44.221125011509L, 40.829923490494L, 37.933453539818L,
35.430998242899L, 33.247352481904L, 31.325243266468L, 29.620298301065L,
28.097616690245L, 26.729376859781L, 25.493133468409L, 24.370582552503L,
23.346651422281L, 22.408817951273L, 21.546594599098L, 20.751132520009L,
20.014914415024L, 19.331513791503L, 18.695404490631L, 18.101808671522L,
17.546574506008L, 17.026077037184L, 16.537137251108L, 16.076955582756L,
15.643056946256L, 15.233245030092L, 14.845564089491L, 14.478266842838L,
14.129787366594L, 13.798718105851L, 13.483790291103L, 13.183857187970L,
12.897879714021L, 12.624914042233L, 12.364100878783L, 12.114656157638L,
11.875862938598L, 11.647064331339L, 11.427657297211L, 11.217087204486L,
11.014843032439L, 10.820453135898L, 10.633481495334L, 10.453524388829L,
10.280207431556L, 10.113182936294L, 9.952127555068L, 9.796740167577L,
9.646739986780L, 9.501864855997L, 9.361869715280L, 9.226525217736L,
9.095616478914L, 8.968941944564L, 8.846312363850L, 8.727549856723L,
8.612487065491L, 8.500966381841L, 8.392839241559L, 8.287965480125L,
8.186212743104L, 8.087455945959L, 7.991576778509L, 7.898463249755L,
7.808009269278L, 7.720114261819L, 7.634682811990L, 7.551624336383L,
7.470852780660L, 7.392286339380L, 7.315847196629L, 7.241461285624L,
7.169058065715L, 7.098570315309L, 7.029933939397L, 6.963087790501L,
6.897973501946L, 6.834535332479L, 6.772720021336L, 6.712476652945L,
6.653756530518L, 6.596513057856L, 6.540701628755L, 6.486279523431L,
6.433205811463L, 6.381441260766L, 6.330948252167L, 6.281690699180L,
6.233633972620L, 6.186744829704L, 6.140991347343L, 6.096342859334L,
6.052769897182L, 6.010244134318L, 5.968738333483L, 5.928226297067L,
5.888682820219L, 5.850083646541L, 5.812405426212L, 5.775625676373L,
5.739722743647L, 5.704675768657L, 5.670464652413L, 5.637070024464L,
5.604473212703L, 5.572656214728L, 5.541601670669L, 5.511292837393L,
5.481713564007L, 5.452848268588L, 5.424681916065L, 5.397199997195L,
5.370388508561L, 5.344233933551L, 5.318723224254L, 5.293843784216L,
5.269583452035L, 5.245930485718L, 5.222873547791L, 5.200401691096L,
5.178504345259L, 5.157171303782L, 5.136392711740L, 5.116159054033L,
5.096461144193L, 5.077290113688L, 5.058637401724L, 5.040494745511L,
5.022854170961L, 5.005707983822L, 4.989048761203L, 4.972869343485L,
4.957162826600L, 4.941922554654L, 4.927142112892L, 4.912815320974L,
4.898936226560L, 4.885499099188L, 4.872498424430L, 4.859928898316L,
4.847785422021L, 4.836063096791L, 4.824757219108L, 4.813863276091L,
4.803376941109L, 4.793294069602L, 4.783610695116L, 4.774323025528L,
4.765427439458L, 4.756920482868L, 4.748798865839L, 4.741059459513L,
4.733699293209L, 4.726715551690L, 4.720105572596L, 4.713866844021L,
4.707997002239L, 4.702493829576L, 4.697355252421L, 4.692579339372L,
4.688164299515L, 4.684108480837L, 4.680410368761L, 4.677068584817L,
4.674081885423L, 4.671449160795L, 4.669169433981L, 4.667241859999L,
4.665665725106L, 4.664440446176L, 4.663565570188L, 4.663040773838L,
4.662865863257L, 0.000000000000L, 0.010402126090L, 0.020819467953L,
0.031267296148L, 0.041760991099L, 0.052316098760L, 0.062948387150L,
0.073673904071L, 0.084509036274L, 0.095470570389L, 0.106575755886L,
0.117842370367L, 0.129288787448L, 0.140934047501L, 0.152797931487L,
0.164901038105L, 0.177264864408L, 0.189911890022L, 0.202865665005L,
0.216150901281L, 0.229793567494L, 0.243820986910L, 0.258261937825L,
0.273146755649L, 0.288507435494L, 0.304377733669L, -2.820799387647L,
-2.803801053813L, -2.786180316673L, -2.767895471862L, -2.748902664111L,
-2.729155866262L, -1.624195731709L, -2.687205470536L, -2.664899344220L,
-2.641634491411L, -2.617355405916L, -2.592005505853L, -2.565527677825L,
-2.537864984131L, -2.508961559328L, -2.478763721995L, -2.447221324786L,
-2.414289359857L, -2.379929826488L, -2.344113852175L, -2.306824036829L,
-2.268056961733L, -2.227825771203L, -2.186162697387L, -2.143121361137L,
-2.098778649818L, -2.053235953486L, -2.006619541900L, -1.959079893188L,
-1.910789844552L, -1.861941525026L, -1.812742142015L, -1.763408813001L,
-1.714162742728L, -1.665223125161L, -1.616801183764L, -1.569094746375L,
-1.522283685582L, -1.476526454592L, -1.431957830323L, -1.388687859206L,
-1.346801902946L, -1.306361611479L, -1.267406611715L, -1.229956691217L,
-1.194014269384L, -1.159566977426L, -1.126590204791L, 2.046543145870L,
2.076689842682L, 2.105490290370L, 2.132996221340L, 2.159261913632L,
2.184343000010L, 2.208295500273L, 2.231175051569L, 2.253036310329L,
2.273932500076L, 2.293915081126L, 2.313033520521L, 2.331335143181L,
2.348865047885L, 2.365666074217L, 2.381778808859L, 2.397241621722L,
2.412090724096L, 2.426360242559L, 2.440082303652L, 2.453287125345L,
2.466003112241L, 2.478256952145L, 2.490073712187L, 2.501476933196L,
2.512488721333L, 2.523129836320L, 2.533419775819L, 2.543376855678L,
2.553018285920L, 2.562360242430L, 2.571417934393L, 2.580205667574L,
2.588736903576L, 2.597024315258L, 2.605079838470L, 2.612914720321L,
2.620539564163L, 2.627964371493L, 2.635198580959L, 2.642251104671L,
2.649130361981L, 2.655844310913L, 2.662400477404L, 2.668805982516L,
2.675067567748L, 2.681191618599L, 2.687184186505L, 2.693051009262L,
2.698797530048L, 2.704428915155L, 2.709950070506L, 2.715365657067L,
2.720680105220L, 2.725897628178L, 2.731022234508L, 2.736057739837L,
2.741007777783L, 2.745875810185L, 2.750665136664L, 2.755378903581L,
2.760020112420L, 2.764591627643L, 2.769096184056L, 2.773536393715L,
2.777914752406L, 2.782233645734L, 2.786495354832L, 2.790702061739L,
2.794855854448L, 2.798958731658L, 2.803012607248L, 2.807019314487L,
2.810980610005L, 2.814898177532L, 2.818773631427L, 2.822608520007L,
2.826404328691L, 2.830162482968L, 2.833884351202L, 2.837571247283L,
2.841224433138L, 2.844845121101L, 2.848434476164L, 2.851993618105L,
2.855523623501L, 2.859025527645L, 2.862500326355L, 2.865948977700L,
2.869372403629L, 2.872771491522L, 2.876147095667L, 2.879500038660L,
2.882831112733L, 2.886141081026L, 2.889430678791L, 2.892700614538L,
2.895951571132L, 2.899184206830L, 2.902399156278L, 2.905597031457L,
2.908778422584L, 2.911943898976L, 2.915094009873L, 2.918229285220L,
2.921350236424L, 2.924457357066L, 2.927551123589L, 2.930631995954L,
2.933700418269L, 2.936756819385L, 2.939801613477L, 2.942835200592L,
2.945857967176L, 2.948870286584L, 2.951872519558L, 2.954865014699L,
2.957848108912L, 2.960822127830L, 2.963787386232L, 2.966744188433L,
2.969692828666L, 2.972633591447L, 2.975566751926L, 2.978492576222L,
2.981411321753L, 2.984323237541L, 2.987228564521L, 2.990127535827L,
2.993020377069L, 2.995907306608L, 2.998788535809L, 3.001664269300L,
3.004534705203L, 3.007400035378L, 3.010260445640L, 3.013116115982L,
3.015967220784L, 3.018813929014L, 3.021656404429L, 3.024494805762L,
3.027329286909L, 3.030159997106L, 3.032987081101L, 3.035810679326L,
3.038630928054L, 3.041447959561L, 3.044261902280L, 3.047072880945L,
3.049881016740L, 3.052686427439L, 3.055489227541L, 3.058289528406L,
3.061087438382L, 3.063883062934L, 3.066676504763L, 3.069467863933L,
3.072257237983L, 3.075044722043L, 3.077830408946L, 3.080614389340L,
3.083396751793L, 3.086177582899L, 3.088956967381L, 3.091734988190L,
3.094511726611L, 3.097287262352L, 3.100061673647L, 3.102835037345L,
3.105607429008L, 3.108378923000L, 3.111149592576L, 3.113919509977L,
3.116688746510L, 3.119457372645L, 3.122225458092L, 3.124993071896L,
3.127760282515L, 3.130527157907L, 3.133293765615L, 3.136060172852L,
3.138826446578L, 3.141592653590L,
};
uint16_t pass = 0U, fail = 0U;
float64_t tolerance = 3.2e-7;
volatile uint16_t flagInputReady = 0;
volatile uint16_t sampleIndex = 0;
uint32_t max_idx = 1;
#if USE_REAL_ADC_INPUT == 1U
#ifdef __cplusplus
#pragma DATA_SECTION("FFT_buffer_1")
#else
#pragma DATA_SECTION(test_input, "FFT_buffer_1")
#endif
uint16_t test_input[4U*myRFFT0_RFFT_SIZE];
#endif
#ifdef __cplusplus
#pragma DATA_SECTION("FFT_buffer_2")
#else
#pragma DATA_SECTION(test_output, "FFT_buffer_2")
#endif
float64_t test_output[myRFFT0_RFFT_SIZE];
float64_t test_magnitude_phase[(myRFFT0_RFFT_SIZE >> 1) + 1];
float64_t twiddleFactors[myRFFT0_RFFT_SIZE];
float64_t *inPtr = (float64_t *)test_input;
float64_t *outPtr = test_output;
//
// Main
//
void main(void)
{
//
// Initialize CPU and peripherals
//
Device_init();
Device_initGPIO();
Interrupt_initModule();
Interrupt_initVectorTable();
Board_init();
C2000Ware_libraries_init();
int16_t i, j;
float64u_t out, gold, errld;
float64_t *p_temp;
myRFFT0_handle->calc(myRFFT0_handle);
for(i = 0U; i < myRFFT0_RFFT_SIZE; i++)
{
out.f64 = myRFFT0_handle->p_currOutput[i];
gold.f64 = test_golden[i];
errld.f64 = fabsf(out.f64 - gold.f64);
if(errld.f64 < tolerance)
{
pass++;
}
else
{
fail++;
}
}
p_temp = CFFT_f64_getCurrInputPtr(myRFFT0_handle);
CFFT_f64_setCurrInputPtr(myRFFT0_handle, CFFT_f64_getCurrOutputPtr(myRFFT0_handle));
CFFT_f64_setCurrOutputPtr(myRFFT0_handle, p_temp);
myRFFT0_handle->mag(myRFFT0_handle);
for(i = (myRFFT0_RFFT_SIZE), j=0U; i <= (myRFFT0_RFFT_SIZE+(myRFFT0_RFFT_SIZE >> 1)); i++, j++)
{
out.f64 = myRFFT0_handle->p_currOutput[j];
gold.f64 = test_golden[i];
errld.f64 = fabsf(out.f64 - gold.f64);
if(errld.f64 < tolerance)
{
pass++;
}
else
{
fail++;
}
}
myRFFT0_handle->phase(myRFFT0_handle);
for(i = (myRFFT0_RFFT_SIZE+(myRFFT0_RFFT_SIZE >> 1)) + 1U, j=0U; i <= (2U * myRFFT0_RFFT_SIZE) + 1U; i++, j++)
{
out.f64 = myRFFT0_handle->p_currOutput[j];
gold.f64 = test_golden[i];
errld.f64 = fabsf(out.f64 - gold.f64);
if(errld.f64 < tolerance)
{
pass++;
}
else
{
fail++;
}
}
while(1);
}
//
// End of File
//
@@ -0,0 +1,27 @@
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --device "F2838x" --package "337bga" --part "F2838x_337bga" --context "CPU1" --product "C2000WARE@4.02.00.00"
* @versions {"tool":"1.12.0+2406"}
*/
/**
* Import the modules used in this configuration.
*/
const FFT = scripting.addModule("/libraries/dsp/FPU/FFT/FFT.js", {}, false);
const FFT1 = FFT.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
FFT1.$name = "myFFT0";
FFT1.fpuType = "FPU64";
FFT1.RFFT.create(1);
FFT1.RFFT[0].$name = "myRFFT0";
FFT1.RFFT[0].inPtr = "inPtr";
FFT1.RFFT[0].outPtr = "outPtr";
FFT1.RFFT[0].inAdcPtr = "inADC";
FFT1.RFFT[0].numStages = 9;
const FPU = scripting.addModule("/libraries/math/FPU/FPU.js", {}, false);
FPU.fpuType = "FPU64";
@@ -0,0 +1,220 @@
#include "fpu.h"
#include "dsp_examples_setup.h"
#include "driverlib.h"
#include "device.h"
#include "board.h"
#include "c2000ware_libraries.h"
#define TEST_SIZE_VEC (64U)
float64_t test_input[130] = {
1.125541798361L, -2.052159867208L, -0.656497261735L, -0.685257998008L,
-0.832920102136L, 2.082120331303L, 3.066081352433L, 1.906094688038L,
-2.904472363724L, -2.761641029122L, 2.420081969933L, -0.632982095493L,
2.596757723074L, 0.168865823368L, 1.860978162734L, -0.522764360647L,
-2.521365114703L, 0.985579762252L, -1.496207478720L, 0.804080330174L,
-1.034483484073L, -1.307002572444L, 1.129264023384L, -0.429448362856L,
-2.283603987309L, -3.044284173343L, 1.390013368633L, 3.041462080758L,
-2.470788093372L, -2.091242556589L, 0.966085914025L, -2.474215675752L,
-0.036606235707L, -0.801673246622L, 1.753333687350L, -1.896778017650L,
1.351117811506L, -0.064794481300L, 2.536651094294L, -1.008492626689L,
2.456238535457L, 2.837677900566L, -1.041984270427L, 2.641024096838L,
1.248756893589L, -2.810613315736L, -1.898716856941L, 1.494506490946L,
-2.949698228501L, -1.450665427766L, 1.533563806602L, -0.484838130014L,
0.000140966971L, 0.300781743155L, -0.126152907751L, 2.781798514554L,
2.542944819714L, -0.516829035186L, 0.690312511118L, 3.035108159920L,
0.739319730211L, -1.247495349066L, 2.258442613615L, 1.263540748369L,
1.919446663704L, 1.045137828288L, 0.482055499655L, 0.245838830279L,
-1.992256881409L, 1.244733693668L, -1.634055370062L, 1.046325738726L,
2.428526098953L, -2.022353433370L, -2.961427640131L, -2.337254458161L,
-0.063451447323L, 3.135814603466L, -2.086475279162L, -2.066407283710L,
3.007639224657L, -2.936755657030L, 1.336398779371L, 0.384529638356L,
0.002963301960L, 2.399337984943L, -0.181657100285L, 1.062959787788L,
-2.766996260783L, -1.945065147247L, 1.143363194469L, -0.823621631786L,
-2.874989953878L, -0.246766213959L, -2.692687560146L, 3.026220496919L,
0.136029972074L, -2.158871355790L, -2.533819976840L, 2.233815670058L,
1.998986319111L, 0.909582411063L, 1.995207223290L, -0.777404630466L,
1.397629178494L, -1.941983696889L, -2.199960307358L, -0.450799740346L,
1.002829380022L, -0.112958721978L, 0.116835469570L, -2.383767537046L,
2.971786773162L, 0.562392112719L, 0.936141157905L, -1.720413547503L,
1.887032658351L, -0.724959422492L, -0.290297557685L, 0.521418820776L,
-0.424796710068L, -1.559448124614L, 2.044006859493L, -1.316700139197L,
-2.617136339275L, 0.735703724424L, -2.304854535250L, -1.474783538796L,
8.212372427893L, -3.141592653590L, };
const float64_t test_golden[128] = {
9.337914226254L, -5.193752520798L, 7.555875166158L, -3.826850651598L,
7.379452325757L, -1.059472322286L, 11.278453780326L, -1.235497965552L,
5.307900064169L, -5.903233682711L, 10.632454397827L, -3.774574749083L,
10.809130150967L, -2.972726830222L, 10.073350590627L, -3.664357014237L,
5.691007313190L, -2.156012891338L, 6.716164949174L, -2.337512323416L,
7.177888943820L, -4.448595226034L, 9.341636451277L, -3.571041016446L,
5.928768440584L, -6.185876826933L, 9.602385796526L, -0.100130572832L,
5.741584334521L, -5.232835210179L, 9.178458341918L, -5.615808329341L,
8.175766192186L, -3.943265900212L, 9.965706115243L, -5.038370671240L,
9.563490239399L, -3.206387134890L, 10.749023522187L, -4.150085280279L,
10.668610963350L, -0.303914753024L, 7.170388157466L, -0.500568556752L,
9.461129321482L, -5.952205969325L, 6.313655570952L, -1.647086162644L,
5.262674199392L, -4.592258081356L, 9.745936234495L, -3.626430783604L,
8.212513394864L, -2.840810910435L, 8.086219520142L, -0.359794139036L,
10.755317247607L, -3.658421688776L, 8.902684939011L, -0.106484493670L,
8.951692158104L, -4.389088002655L, 10.470815041508L, -1.878051905221L,
10.131819091597L, -2.096454825301L, 8.694427927548L, -2.895753823311L,
6.220115546484L, -1.896858959922L, 6.578317057831L, -2.095266914863L,
10.640898526846L, -5.163946086960L, 5.250944787762L, -5.478847111750L,
8.148920980570L, -0.005778050124L, 6.125897148731L, -5.207999937300L,
11.220011652550L, -6.078348310620L, 9.548771207264L, -2.757063015234L,
8.215335729853L, -0.742254668647L, 8.030715327608L, -2.078632865802L,
5.445376167110L, -5.086657800836L, 9.355735622362L, -3.965214285375L,
5.337382474015L, -3.388358867548L, 5.519684867747L, -0.115372156670L,
8.348402399967L, -5.300464009380L, 5.678552451053L, -0.907776983532L,
10.211358747004L, -2.232010242527L, 10.207579651183L, -3.918997284056L,
9.610001606388L, -5.083576350478L, 6.012412120535L, -3.592392393936L,
9.215201807915L, -3.254551375568L, 8.329207897463L, -5.525360190636L,
11.184159201055L, -2.579200540871L, 9.148513585798L, -4.862006201093L,
10.099405086244L, -3.866552076081L, 7.922074870208L, -2.620173832814L,
7.787575717825L, -4.701040778204L, 10.256379287386L, -4.458292792787L,
5.595236088618L, -2.405888929166L, 5.907517892643L, -4.616376192386L,
};
float64_t test_input_sub[130] = {
-2.028793199495L, -1.294505486107L, 1.022953222804L, 1.547632909909L,
-1.062932771739L, -3.076645765089L, 2.503762246355L, -2.837189043422L,
-2.399201646743L, 1.055048107910L, 3.068820353905L, 0.650108515769L,
0.251214937225L, 0.164006629568L, 1.300100488888L, 1.443307029997L,
3.138398408457L, 1.302212053796L, -1.332981879566L, 1.767944157643L,
-0.537070727722L, -1.332179951605L, -0.220917162181L, 1.209714148026L,
1.658491237307L, 0.356067074406L, 1.999334941950L, -0.650179035650L,
-2.511882144771L, -2.754607079297L, -2.022450825969L, 1.760394782897L,
-0.881939849250L, -1.020490679037L, -2.785306584388L, 0.677741483660L,
0.137511743186L, 1.515843899130L, -1.031391310468L, -2.483031631624L,
-2.037831587405L, -2.338046264778L, -1.828741981572L, 0.311269672514L,
2.545654889088L, -0.092806362957L, 1.102015268448L, 2.453431050263L,
-0.198120143072L, 1.878422831267L, 2.589504706754L, 1.472408453947L,
-2.488068655159L, -2.819064900979L, 1.542811482518L, -2.683640813182L,
1.484512205570L, -2.585358219680L, 0.388686798411L, 1.874593765785L,
-1.984267006411L, 2.783502233512L, 0.610796928134L, 1.154318985256L,
-1.257032964378L, -2.311690966921L, -2.298873412685L, 1.399419555120L,
-1.805777822906L, -2.448221285422L, 2.481491732323L, -2.403363291251L,
-2.692641390130L, 0.884156786036L, -1.618004669290L, -1.075592010638L,
-2.803843846268L, 0.966429440441L, -0.366171114785L, 1.565339148528L,
-3.058131843582L, 0.522671365644L, 2.495626860576L, 1.508167596461L,
-1.905952795052L, -1.666131633115L, -2.554928394590L, 1.476281773796L,
-1.210349466186L, 2.956857738405L, -0.276097822051L, 2.305491017895L,
-2.502785013377L, -2.599765122580L, 3.112625458130L, -0.839203489920L,
-1.054991841821L, -0.821848150795L, -1.273307508866L, 1.162568180837L,
-2.751751030614L, 0.615385444405L, -1.267670511470L, 1.818127279118L,
-2.850359067012L, -0.831561238319L, 0.034106024936L, -1.847081433877L,
1.642587290168L, -2.597050676370L, 0.823537093271L, 1.708611192441L,
-2.576786754195L, -1.849301522261L, -2.633519064674L, -0.702010046196L,
1.741953665799L, 0.325334111221L, 2.545536672334L, -1.703036944447L,
0.212195431137L, 0.891839220584L, -2.455756512268L, -0.097512696121L,
2.047117428627L, -2.187519081218L, -1.017262034421L, 1.771430790090L,
-0.661791219504L, -3.141592653590L, };
const float64_t test_golden_sub[128] = {
-1.367001979991L, 1.847087167483L, 1.684744442308L, 4.689225563499L,
-0.401141552235L, 0.064946888501L, 3.165553465860L, 0.304403610168L,
-1.737410427238L, 4.196640761500L, 3.730611573409L, 3.791701169359L,
0.913006156730L, 3.305599283158L, 1.961891708393L, 4.584899683586L,
3.800189627962L, 4.443804707385L, -0.671190660062L, 4.909536811233L,
0.124720491783L, 1.809412701985L, 0.440874057324L, 4.351306801616L,
2.320282456811L, 3.497659727996L, 2.661126161454L, 2.491413617940L,
-1.850090925266L, 0.386985574293L, -1.360659606464L, 4.901987436486L,
-0.220148629746L, 2.121101974553L, -2.123515364883L, 3.819334137250L,
0.799302962691L, 4.657436552720L, -0.369600090964L, 0.658561021966L,
-1.376040367901L, 0.803546388812L, -1.166950762068L, 3.452862326104L,
3.207446108593L, 3.048786290632L, 1.763806487953L, 5.595023703852L,
0.463671076432L, 5.020015484857L, 3.251295926258L, 4.614001107537L,
-1.826277435655L, 0.322527752611L, 2.204602702023L, 0.457951840408L,
2.146303425074L, 0.556234433910L, 1.050478017915L, 5.016186419375L,
-1.322475786907L, 5.925094887101L, 1.272588147638L, 4.295911638846L,
-0.595241744873L, 0.829901686668L, -1.637082193180L, 4.541012208710L,
-1.143986603401L, 0.693371368168L, 3.143282951827L, 0.738229362339L,
-2.030850170625L, 4.025749439626L, -0.956213449786L, 2.066000642952L,
-2.142052626763L, 4.108022094031L, 0.295620104719L, 4.706931802118L,
-2.396340624077L, 3.664264019234L, 3.157418080080L, 4.649760250051L,
-1.244161575548L, 1.475461020474L, -1.893137175086L, 4.617874427385L,
-0.548558246681L, 6.098450391994L, 0.385693397454L, 5.447083671485L,
-1.840993793872L, 0.541827531010L, 3.774416677635L, 2.302389163669L,
-0.393200622317L, 2.319744502795L, -0.611516289362L, 4.304160834427L,
-2.089959811109L, 3.756978097995L, -0.605879291965L, 4.959719932708L,
-2.188567847508L, 2.310031415271L, 0.695897244440L, 1.294511219713L,
2.304378509672L, 0.544541977220L, 1.485328312775L, 4.850203846031L,
-1.914995534691L, 1.292291131329L, -1.971727845170L, 2.439582607394L,
2.403744885303L, 3.466926764811L, 3.207327891838L, 1.438555709143L,
0.873986650642L, 4.033431874174L, -1.793965292763L, 3.044079957469L,
2.708908648132L, 0.954073572371L, -0.355470814917L, 4.913023443680L,
};
float64_t *test_scalar = &test_input[2U*TEST_SIZE_VEC];
float64_t test_output[2U*TEST_SIZE_VEC];
float64_t *test_scalar_sub = &test_input_sub[2U*TEST_SIZE_VEC];
float64_t test_output_sub[2U*TEST_SIZE_VEC];
uint16_t pass = 0U, fail = 0U, pass_sub = 0U, fail_sub = 0U;
float64_t tolerance = 1.0e-6;
void main(void)
{
//
// CPU initialization
//
Device_init();
Device_initGPIO();
Interrupt_initModule();
Interrupt_initVectorTable();
Board_init();
C2000Ware_libraries_init();
//
// Variable initialization
//
uint16_t i, i_v;
float64u_t out, gold, err, out_sub, gold_sub, err_sub;
//
// Run vector subtraction function
//
sub_DP_CSxCV((complexf64_t *)test_output_sub, (const complexf64_t *)test_input_sub, (const complexf64_t *)test_scalar_sub, TEST_SIZE_VEC);
//
// Verify results
//
for(i_v = 0U; i_v < 2U*TEST_SIZE_VEC; i_v++)
{
out_sub.f64 = test_output_sub[i_v];
gold_sub.f64 = test_golden_sub[i_v];
err_sub.f64 = fabsf(out_sub.f64 - gold_sub.f64);
if(err_sub.f64 < tolerance)
{
pass_sub++;
}
else
{
fail_sub++;
}
}
//
// Run vector addition function
//
add_DP_CSxCV((complexf64_t *)test_output, (const complexf64_t *)test_input, (const complexf64_t *)test_scalar, TEST_SIZE_VEC);
//
// Verify results
//
for(i = 0U; i < 2U*TEST_SIZE_VEC; i++)
{
out.f64 = test_output[i];
gold.f64 = test_golden[i];
err.f64 = fabsf(out.f64 - gold.f64);
if(err.f64 < tolerance)
{
pass++;
}
else
{
fail++;
}
}
while(1);
}
@@ -0,0 +1,21 @@
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --board "/boards/TMDSCNCD28388D" --product "C2000WARE@4.02.00.00"
* @versions {"tool":"1.11.0+2225"}
*/
/**
* Import the modules used in this configuration.
*/
const Vector = scripting.addModule("/libraries/dsp/FPU/Vector/Vector.js", {}, false);
const Vector1 = Vector.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
Vector1.$name = "myVEC0";
Vector1.fpuType = "FPU64";
const FPU = scripting.addModule("/libraries/math/FPU/FPU.js", {}, false);
FPU.fpuType = "FPU64";
@@ -0,0 +1,147 @@
#ifndef _FPU_H_
#define _FPU_H_
//#############################################################################
//! \file fpu.h
//!
//! \brief FPU Register Definitions
//! \author Vishal Coelho
//! \date Dec 25, 2012
//
// Group: C2000
//
//#############################################################################
//
//
// $Copyright: Copyright (C) 2022 Texas Instruments Incorporated -
// http://www.ti.com/ ALL RIGHTS RESERVED $
//#############################################################################
//*****************************************************************************
// includes
//*****************************************************************************
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
//*****************************************************************************
// typedefs
//*****************************************************************************
typedef union{
float f32;
int32_t i32;
}R32;
typedef union{
#ifdef __TI_EABI__
double f64;
#else
long double f64;
#endif
int64_t i64;
struct {
R32 L;
R32 H;
}half;
}R64;
//*****************************************************************************
// defines
//*****************************************************************************
// masks for the status flag bits
#define MASK_LVF (1 << 0 )
#define MASK_LUF (1 << 1 )
#define MASK_NF (1 << 2 )
#define MASK_ZF (1 << 3 )
#define MASK_NI (1 << 4 )
#define MASK_ZI (1 << 5 )
#define MASK_TF (1 << 6 )
#define MASK_RNDF32 (1 << 9 )
#define MASK_RNDF64 (1 << 10)
#define MASK_SHDWS (1 << 31)
//! \brief RB register
//
struct RB_BITS { // bits description
uint16_t _RC; //!< 15:0 Repeat Count
uint16_t _RE:7; //!< 22:16 Repeat Block End Address
uint16_t _RSIZE:7; //!< 29:23 Repeat Block Size
uint16_t _RA:1; //!< 30 Repeat Block Active
uint16_t _RAS:1; //!< 31 Repeat Block Active Shadow
};
union RB_REG {
uint32_t all;
struct RB_BITS bit;
};
//! \brief FPU status register
//
struct STF_BITS { // bits description
uint16_t LVF:1; //!< 0 Latched Overflow Float flag bit
uint16_t LUF:1; //!< 1 Latched underflow float flag bit
uint16_t NF:1; //!< 2 Negative float flag bit
uint16_t ZF:1; //!< 3 Zero float flag bit
uint16_t NI:1; //!< 4 Negative integer flag bit
uint16_t ZI:1; //!< 5 Zero integer flag bit
uint16_t TF:1; //!< 6 Test flag bit
uint16_t rsvd1:2; //!< 8:7 reserved
uint16_t RNDF32:1; //!< 9 Round f32 mode
uint16_t RNDF64:1; //!< 10 Round f64 mode
uint16_t rsvd2:5; //!< 15:11 reserved
uint16_t rsvd3:15; //!< 30:16 reserved
uint16_t SHDWS:1; //!< 31 Shadow mode status bit
};
union STF_REG {
uint32_t all;
struct STF_BITS bit;
};
//! \brief FPU register space
//! \note
//! - The registers are mapped to data space only (like peripherals on C28x devices). Program
//! space data reads or writes are ignored. debug reads/writes work
//! - All registers are reset to zero on system reset (SYSRSn).
//! - The RB register is part of the C28-CPI core but is made visible (read only to CPU) in the
//! memory map. Refer to "CPI Specification" for more details.
struct FPU_REG{
union RB_REG _RB;
union STF_REG _STF;
uint32_t rsvd1[6];
R64 _R0;
R64 _R1;
R64 _R2;
R64 _R3;
R64 _R4;
R64 _R5;
R64 _R6;
R64 _R7;
// uint32_t _R0L;
// uint32_t _R0H;
// uint32_t _R1L;
// uint32_t _R1H;
// uint32_t _R2L;
// uint32_t _R2H;
// uint32_t _R3L;
// uint32_t _R3H;
// uint32_t _R4L;
// uint32_t _R4H;
// uint32_t _R5L;
// uint32_t _R5H;
// uint32_t _R6L;
// uint32_t _R6H;
// uint32_t _R7L;
// uint32_t _R7H;
uint32_t rsvd2[104];
};
extern volatile struct FPU_REG FpuRegs;
#ifdef __cplusplus
}
#endif // extern "C"
#endif //end of _FPU_H_ definition