#include #include #include const int obbits=16; const int obnumb=8; int fw_binned(ap_ufixed aob1, ap_ufixed aob2, ap_ufixed aob3, ap_ufixed aob4, ap_ufixed aob5, ap_ufixed aob6, ap_ufixed aob7, ap_ufixed aob8, ap_ufixed aob9, ap_ufixed aob10, ap_ufixed aob11, ap_ufixed aob12, ap_ufixed aob13, ap_ufixed aob14, ap_ufixed aob15, ap_ufixed aob16, ap_ufixed aob17, ap_ufixed aob18, ap_ufixed aob19, ap_ufixed aob20, ap_ufixed aob21, ap_ufixed aob22, ap_ufixed aob23, ap_ufixed aob24, ap_ufixed aob25, ap_ufixed aob26, ap_ufixed aob27, ap_ufixed aob28, ap_ufixed aob29, ap_ufixed aob30, ap_ufixed aob31, ap_ufixed aob32, ap_ufixed aobe1, ap_ufixed aobe2, ap_ufixed aobe3, ap_ufixed aobe4, ap_ufixed aobe5, ap_ufixed aobe6, ap_ufixed aobe7, ap_ufixed aobe8, ap_ufixed aobe9, ap_ufixed aobe10, ap_ufixed aobe11, ap_ufixed aobe12, ap_ufixed aobe13, ap_ufixed aobe14, ap_ufixed aobe15, ap_ufixed aobe16, ap_ufixed aobe17, ap_ufixed aobe18, ap_ufixed aobe19, ap_ufixed aobe20, ap_ufixed aobe21, ap_ufixed aobe22, ap_ufixed aobe23, ap_ufixed aobe24, ap_ufixed aobe25, ap_ufixed aobe26, ap_ufixed aobe27, ap_ufixed aobe28, ap_ufixed aobe29, ap_ufixed aobe30, ap_ufixed aobe31, ap_ufixed aobe32, ap_ufixed inR0, ap_ufixed insigma, ap_ufixed inphi0, ap_ufixed inkb, ap_ufixed *outR0, ap_ufixed *outsigma, ap_ufixed *outphi0, ap_ufixed *outkb ); int main(){ #pragma HLS INTERFACE ap_none port=MyMulti using namespace std; ap_ufixed inR0, insigma, inphi0, inkb; ap_ufixed outR0, outsigma, outphi0, outkb; inR0=81.6835; insigma=2; inphi0=20; inkb=0.07; // observed data (32 bin) ap_ufixed aob1, aob2, aob3, aob4, aob5, aob6, aob7, aob8, aob9; ap_ufixed aob10, aob11, aob12, aob13, aob14, aob15, aob16, aob17, aob18, aob19; ap_ufixed aob20, aob21, aob22, aob23, aob24, aob25, aob26, aob27, aob28, aob29; ap_ufixed aob30, aob31, aob32; aob1 = 4.53902 ; aob2 = 4.70824 ; aob3 = 4.73104 ; aob4 = 4.8716 ; aob5 = 4.94311 ; aob6 = 4.92585 ; aob7 = 5.0351 ; aob8 = 5.25363 ; aob9 = 5.30603 ; aob10 = 5.44443 ; aob11 = 5.53738 ; aob12 = 5.54719 ; aob13 = 5.76489 ; aob14 = 5.94505 ; aob15 = 6.15808 ; aob16 = 6.43717 ; aob17 = 6.73969 ; aob18 = 6.9798 ; aob19 = 7.25404 ; aob20 = 7.69753 ; aob21 = 8.0544 ; aob22 = 8.73745 ; aob23 = 9.82025 ; aob24 = 11.7717 ; aob25 = 13.485 ; aob26 = 7.77343 ; aob27 = 1.36615 ; aob28 = 1.25825 ; aob29 = 0.556537 ; aob30 = 0.316932 ; aob31 = 0.348092 ; aob32 = 0.472119 ; // observed error (32 bin) ap_ufixed aobe1, aobe2, aobe3, aobe4, aobe5, aobe6, aobe7, aobe8, aobe9; ap_ufixed aobe10, aobe11, aobe12, aobe13, aobe14, aobe15, aobe16, aobe17, aobe18, aobe19; ap_ufixed aobe20, aobe21, aobe22, aobe23, aobe24, aobe25, aobe26, aobe27, aobe28, aobe29; ap_ufixed aobe30, aobe31, aobe32; aobe1= 0.41905 ; aobe2= 0.480005 ; aobe3= 0.256493 ; aobe4= 0.334958 ; aobe5= 0.368144 ; aobe6= 0.214421 ; aobe7= 0.272643 ; aobe8= 0.353102 ; aobe9= 0.34398 ; aobe10= 0.345476 ; aobe11= 0.289041 ; aobe12= 0.26208 ; aobe13= 0.212691 ; aobe14= 0.203182 ; aobe15= 0.310943 ; aobe16= 0.360032 ; aobe17= 0.489854 ; aobe18= 0.461181 ; aobe19= 0.639442 ; aobe20= 0.510431 ; aobe21= 0.426875 ; aobe22= 0.232739 ; aobe23= 0.310051 ; aobe24= 0.274143 ; aobe25= 0.569625 ; aobe26= 0.410178 ; aobe27= 0.215306 ; aobe28= 0.229667 ; aobe29= 0.107403 ; aobe30= 0.0644741 ; aobe31= 0.0677504 ; aobe32= 0.0930139 ; // Call function fw_binned( aob1, aob2, aob3, aob4, aob5, aob6, aob7, aob8, aob9, aob10, aob11, aob12, aob13, aob14, aob15, aob16, aob17, aob18, aob19, aob20, aob21, aob22, aob23, aob24, aob25, aob26, aob27, aob28, aob29, aob30, aob31, aob32, aobe1, aobe2, aobe3, aobe4, aobe5, aobe6, aobe7, aobe8, aobe9, aobe10, aobe11, aobe12, aobe13, aobe14, aobe15, aobe16, aobe17, aobe18, aobe19, aobe20, aobe21, aobe22, aobe23, aobe24, aobe25, aobe26, aobe27, aobe28, aobe29, aobe30, aobe31, aobe32, inR0, insigma, inphi0, inkb, &outR0, &outsigma, &outphi0, &outkb); cout<<"Fit results R0="<