int National_Values_Core_3_UpperBitsNotSet(const National_Values_Core_3* p) { bool status = true; status = status && UpperBitsNotSet64(p->Q_NVKVINTSET_k, 2) ; if (p->Q_NVKVINTSET_k == 1) { status = status && UpperBitsNotSet64(p->A_NVP12_k, 6) ; status = status && UpperBitsNotSet64(p->A_NVP23_k, 6) ; } status = status && UpperBitsNotSet64(p->V_NVKVINT_k, 7) ; status = status && UpperBitsNotSet64(p->M_NVKVINT_k, 7) ; status = status && UpperBitsNotSet64(p->N_ITER_3_1, 5) ; for (uint32_t i = 0; i < p->N_ITER_3_1; ++i) { status = status && National_Values_Core_3_1_UpperBitsNotSet(&(p->sub_3_1[i])); } if (status) { return 1; } else { return 0; } }
int National_Values_Core_3_1_Encode_Bit(Bitstream* stream, const National_Values_Core_3_1* p) { if (Bitstream_Normal(stream, NATIONAL_VALUES_CORE_3_1_CORE_BITSIZE)) { if (National_Values_Core_3_1_UpperBitsNotSet(p)) { //@ ghost const uint32_t pos = stream->bitpos; Bitstream_Write(stream, 7, p->V_NVKVINT); Bitstream_Write(stream, 7, p->M_NVKVINT); //@ assert V_NVKVINT: EqualBits(stream, pos, pos + 7, p->V_NVKVINT); //@ assert M_NVKVINT: EqualBits(stream, pos + 7, pos + 14, p->M_NVKVINT); return 1; } else { return -2; } } else { return -1; } }