sc_bv_base.hh (12853:e23d6f09069a) sc_bv_base.hh (13160:1e959d3afc64)
1/*****************************************************************************
2
3 Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
4 more contributor license agreements. See the NOTICE file distributed
5 with this work for additional information regarding copyright ownership.
6 Accellera licenses this file to you under the Apache License, Version 2.0
7 (the "License"); you may not use this file except in compliance with the
8 License. You may obtain a copy of the License at

--- 250 unchanged lines hidden (view full) ---

259 m_data[wi] |= mask; // set bit to 1
260 m_data[wi] &= value << bi | ~mask;
261}
262
263inline void
264sc_bv_base::set_cword(int /*i*/, sc_digit w)
265{
266 if (w) {
1/*****************************************************************************
2
3 Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
4 more contributor license agreements. See the NOTICE file distributed
5 with this work for additional information regarding copyright ownership.
6 Accellera licenses this file to you under the Apache License, Version 2.0
7 (the "License"); you may not use this file except in compliance with the
8 License. You may obtain a copy of the License at

--- 250 unchanged lines hidden (view full) ---

259 m_data[wi] |= mask; // set bit to 1
260 m_data[wi] &= value << bi | ~mask;
261}
262
263inline void
264sc_bv_base::set_cword(int /*i*/, sc_digit w)
265{
266 if (w) {
267 SC_REPORT_WARNING("sc_bv cannot contain values X and Z", 0);
267 SC_REPORT_WARNING("(W207) sc_bv cannot contain values X and Z", 0);
268 }
269}
270
271inline void
272sc_bv_base::clean_tail()
273{
274 int wi = m_size - 1;
275 int bi = m_len % SC_DIGIT_SIZE;
276 if (bi != 0)
277 m_data[wi] &= ~SC_DIGIT_ZERO >> (SC_DIGIT_SIZE - bi);
278}
279
280} // namespace sc_dt
281
282#endif // __SYSTEMC_EXT_DT_BIT_SC_BV_BASE_HH__
268 }
269}
270
271inline void
272sc_bv_base::clean_tail()
273{
274 int wi = m_size - 1;
275 int bi = m_len % SC_DIGIT_SIZE;
276 if (bi != 0)
277 m_data[wi] &= ~SC_DIGIT_ZERO >> (SC_DIGIT_SIZE - bi);
278}
279
280} // namespace sc_dt
281
282#endif // __SYSTEMC_EXT_DT_BIT_SC_BV_BASE_HH__