Replace floating point divisions with interger ones

This commit is contained in:
Yichao Yu
2021-10-27 09:04:05 -04:00
parent 407ee96e89
commit 2f63777004

View File

@@ -3407,20 +3407,20 @@ void PMAC_Nsym_generator(
N_DBPS = (UINT)((double)N_CBPS * CR);
if (pPMacTxInfo->bLDPC == FALSE) {
N_ES = (UINT)ceil((double)(N_DBPS * pPMacPktInfo->Nss) / 4. / 300.);
N_ES = ceil_divide(N_DBPS * pPMacPktInfo->Nss, 1200);
RTW_INFO("N_ES = %d\n", N_ES);
/* N_SYM = m_STBC* (8*length+16+6*N_ES) / (m_STBC*N_DBPS)*/
N_SYM = pPMacTxInfo->m_STBC * (UINT)ceil((double)(pPMacTxInfo->PacketLength * 8 + 16 + N_ES * 6) /
(double)(N_DBPS * pPMacTxInfo->m_STBC));
N_SYM = pPMacTxInfo->m_STBC * ceil_divide(pPMacTxInfo->PacketLength * 8 + 16 + N_ES * 6,
N_DBPS * pPMacTxInfo->m_STBC);
} else {
N_ES = 1;
/* N_pld = length * 8 + 16*/
N_pld = pPMacTxInfo->PacketLength * 8 + 16;
RTW_INFO("N_pld = %d\n", N_pld);
N_SYM = pPMacTxInfo->m_STBC * (UINT)ceil((double)(N_pld) /
(double)(N_DBPS * pPMacTxInfo->m_STBC));
N_SYM = pPMacTxInfo->m_STBC * ceil_divide(N_pld,
N_DBPS * pPMacTxInfo->m_STBC);
RTW_INFO("N_SYM = %d\n", N_SYM);
/* N_avbits = N_CBPS *m_STBC *(N_pld/N_CBPS*R*m_STBC)*/
N_TCB = N_CBPS * N_SYM;
@@ -3452,16 +3452,16 @@ void PMAC_Nsym_generator(
N_DBPS = (UINT)((double)N_CBPS * CR);
if (pPMacTxInfo->bLDPC == FALSE) {
if (pPMacTxInfo->bSGI)
N_ES = (UINT)ceil((double)(N_DBPS) / 3.6 / 600.);
N_ES = ceil_divide(N_DBPS, 2160);
else
N_ES = (UINT)ceil((double)(N_DBPS) / 4. / 600.);
N_ES = ceil_divide(N_DBPS, 2400);
/* N_SYM = m_STBC* (8*length+16+6*N_ES) / (m_STBC*N_DBPS)*/
N_SYM = pPMacTxInfo->m_STBC * (UINT)ceil((double)(pPMacTxInfo->PacketLength * 8 + 16 + N_ES * 6) / (double)(N_DBPS * pPMacTxInfo->m_STBC));
N_SYM = pPMacTxInfo->m_STBC * ceil_divide(pPMacTxInfo->PacketLength * 8 + 16 + N_ES * 6, N_DBPS * pPMacTxInfo->m_STBC);
SIGA2B3 = 0;
} else {
N_ES = 1;
/* N_SYM = m_STBC* (8*length+N_service) / (m_STBC*N_DBPS)*/
N_SYM = pPMacTxInfo->m_STBC * (UINT)ceil((double)(pPMacTxInfo->PacketLength * 8 + 16) / (double)(N_DBPS * pPMacTxInfo->m_STBC));
N_SYM = pPMacTxInfo->m_STBC * ceil_divide(pPMacTxInfo->PacketLength * 8 + 16, N_DBPS * pPMacTxInfo->m_STBC);
/* N_avbits = N_sys_init * N_CBPS*/
N_TCB = N_CBPS * N_SYM;
/* N_pld = N_sys_init * N_DBPS*/
@@ -3516,7 +3516,7 @@ void L_SIG_generator(
LENGTH = pPMacTxInfo->PacketLength;
} else {
UCHAR N_LTF;
double T_data;
UINT T_data5;
UINT OFDM_symbol;
mode = 0;
@@ -3528,15 +3528,15 @@ void L_SIG_generator(
N_LTF = 4;
if (pPMacTxInfo->bSGI)
T_data = 3.6;
T_data5 = 18;
else
T_data = 4.0;
T_data5 = 20;
/*(L-SIG, HT-SIG, HT-STF, HT-LTF....HT-LTF, Data)*/
if (MPT_IS_VHT_RATE(pPMacTxInfo->TX_RATE))
OFDM_symbol = (UINT)ceil((double)(8 + 4 + N_LTF * 4 + N_SYM * T_data + 4) / 4.);
OFDM_symbol = 2 + 1 + N_LTF + ceil_divide(N_SYM * T_data5, 20) + 1;
else
OFDM_symbol = (UINT)ceil((double)(8 + 4 + N_LTF * 4 + N_SYM * T_data) / 4.);
OFDM_symbol = 2 + 1 + N_LTF + ceil_divide(N_SYM * T_data5, 20);
RTW_INFO("%s , OFDM_symbol =%d\n", __func__, OFDM_symbol);
LENGTH = OFDM_symbol * 3 - 3;