123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291 |
- #pragma once
- #include "CodeContract.h"
- #include "StandardIntegralTypes.h"
- namespace tecplot
- {
- #define SIZE_IN_BITS(___1837) (sizeof(___1837) * 8)
- #define VALID_ITEM_ADDRESS_PARTITION(itemAddressPartition) \
- ((itemAddressPartition) != tecplot::___2090::INVALID_PARTITION && \
- (SIZE_IN_BITS(tecplot::___2090::___2980) == tecplot::___2090::PartitionBitSize || \
- (SIZE_IN_BITS(tecplot::___2090::___2980) > tecplot::___2090::PartitionBitSize && \
- uint64_t(itemAddressPartition) >> tecplot::___2090::PartitionBitSize == uint64_t(0))))
- #define VALID_ITEM_ADDRESS_SUBZONE_OFFSET(itemAddressSubzoneOffset) \
- ((itemAddressSubzoneOffset) != tecplot::___2090::INVALID_SUBZONE_OFFSET && \
- (SIZE_IN_BITS(tecplot::___2090::SubzoneOffset_t) == tecplot::___2090::SubzoneOffsetBitSize || \
- (SIZE_IN_BITS(tecplot::___2090::SubzoneOffset_t) > tecplot::___2090::SubzoneOffsetBitSize && \
- uint64_t(itemAddressSubzoneOffset) >> tecplot::___2090::SubzoneOffsetBitSize == uint64_t(0))))
- #define VALID_ITEM_ADDRESS_ITEM_OFFSET(itemAddressItemOffset) \
- ((itemAddressItemOffset) != tecplot::___2090::INVALID_ITEM_OFFSET && \
- (SIZE_IN_BITS(tecplot::___2090::ItemOffset_t) == tecplot::___2090::ItemOffsetBitSize || \
- (SIZE_IN_BITS(tecplot::___2090::ItemOffset_t) > tecplot::___2090::ItemOffsetBitSize && \
- uint64_t(itemAddressItemOffset) >> tecplot::___2090::ItemOffsetBitSize == uint64_t(0))))
- #define VALID_UNIFORM_ITEM_ADDRESS(___2089) \
- ((___2089).___14() == tecplot::___2090::UniformAddressType)
- #define VALID_SZL_ITEM_ADDRESS(___2089) \
- ((___2089).___14() == tecplot::___2090::SzlAddressType && \
- VALID_ITEM_ADDRESS_PARTITION((___2089).___2977()) && \
- VALID_ITEM_ADDRESS_SUBZONE_OFFSET((___2089).subzoneOffset()) && \
- VALID_ITEM_ADDRESS_ITEM_OFFSET((___2089).itemOffset()))
- #define VALID_ITEM_ADDRESS(___2089) \
- (VALID_UNIFORM_ITEM_ADDRESS(___2089) || \
- VALID_SZL_ITEM_ADDRESS(___2089))
- #define VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(subzoneAddress) \
- (VALID_ITEM_ADDRESS_PARTITION((subzoneAddress).___2977()) && \
- VALID_ITEM_ADDRESS_SUBZONE_OFFSET((subzoneAddress).subzoneOffset()))
- class ___2090
- {
- public:
- typedef uint32_t ___2980;
- typedef uint64_t SubzoneIndex_t;
- typedef uint32_t SubzoneOffset_t;
- typedef uint16_t ItemOffset_t;
- typedef int64_t ___4261;
- static uint32_t const ___15 = 1U;
- static uint32_t const PartitionBitSize = 23U;
- static uint32_t const SubzoneOffsetBitSize = 32U;
- static uint32_t const ItemOffsetBitSize = 8U;
- static uint32_t const ___4259 = 63U;
- static uint32_t const SzlAddressType = 0U;
- static uint32_t const UniformAddressType = 1U;
- static ___2980 const INVALID_PARTITION = static_cast<___2980>((uint64_t(1) << PartitionBitSize) - uint64_t(1));
- static ___2980 const UNKNOWN_PARTITION = 0;
- static ___2980 const MAX_PARTITION = INVALID_PARTITION - static_cast<___2980>(1);
- static SubzoneOffset_t const INVALID_SUBZONE_OFFSET = static_cast<SubzoneOffset_t>((uint64_t(1) << SubzoneOffsetBitSize) - uint64_t(1));
- static SubzoneOffset_t const MAX_SUBZONE_OFFSET = INVALID_SUBZONE_OFFSET - static_cast<SubzoneOffset_t>(1);
- static ItemOffset_t const INVALID_ITEM_OFFSET = static_cast<ItemOffset_t>((uint64_t(1) << ItemOffsetBitSize));
- static ItemOffset_t const MAX_ITEM_OFFSET = INVALID_ITEM_OFFSET - static_cast<ItemOffset_t>(1);
- class SubzoneAddress
- {
- public:
- inline SubzoneAddress() { INVARIANT(SIZE_IN_BITS(*this) == 64U); }
- inline SubzoneAddress(___2980 ___2977, SubzoneOffset_t subzoneOffset) : m_partition(___2977), m_subzoneOffset(subzoneOffset)
- {
- INVARIANT(SIZE_IN_BITS(*this) == 64U);
- REQUIRE(VALID_ITEM_ADDRESS_PARTITION(m_partition));
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_OFFSET(m_subzoneOffset));
- }
- inline ___2980 ___2977() const
- {
- REQUIRE(VALID_ITEM_ADDRESS_PARTITION(m_partition));
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_OFFSET(m_subzoneOffset));
- return m_partition;
- }
- inline SubzoneOffset_t subzoneOffset() const
- {
- REQUIRE(VALID_ITEM_ADDRESS_PARTITION(m_partition));
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_OFFSET(m_subzoneOffset));
- return m_subzoneOffset;
- }
- inline bool operator==(SubzoneAddress const &___2888) const
- {
- REQUIRE(VALID_ITEM_ADDRESS_PARTITION(m_partition));
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_OFFSET(m_subzoneOffset));
- return m_partition == ___2888.m_partition && m_subzoneOffset == ___2888.m_subzoneOffset;
- }
- private:
- ___2980 m_partition;
- SubzoneOffset_t m_subzoneOffset;
- };
- inline ___2090() { INVARIANT(___4306()); }
- inline ___2090(___2980 ___2977, SubzoneOffset_t subzoneOffset, ItemOffset_t itemOffset)
- {
- INVARIANT(___4306());
- REQUIRE(VALID_ITEM_ADDRESS_PARTITION(___2977));
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_OFFSET(subzoneOffset));
- REQUIRE(VALID_ITEM_ADDRESS_ITEM_OFFSET(itemOffset));
- ___478(___15 + ___4259 == SIZE_IN_BITS(___2090));
- ___478(___15 + PartitionBitSize + SubzoneOffsetBitSize + ItemOffsetBitSize == SIZE_IN_BITS(___2090));
- m.___14 = SzlAddressType;
- m.szlItemAddress.___2977 = ___2977;
- m.szlItemAddress.subzoneOffset = subzoneOffset;
- m.szlItemAddress.itemOffset = itemOffset;
- }
- inline ___2090(SubzoneAddress subzoneAddress, ItemOffset_t itemOffset)
- {
- INVARIANT(___4306());
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(subzoneAddress));
- REQUIRE(VALID_ITEM_ADDRESS_ITEM_OFFSET(itemOffset));
- ___478(___15 + ___4259 == SIZE_IN_BITS(___2090));
- ___478(___15 + PartitionBitSize + SubzoneOffsetBitSize + ItemOffsetBitSize == SIZE_IN_BITS(___2090));
- m.___14 = SzlAddressType;
- m.szlItemAddress.___2977 = subzoneAddress.___2977();
- m.szlItemAddress.subzoneOffset = subzoneAddress.subzoneOffset();
- m.szlItemAddress.itemOffset = itemOffset;
- }
- inline explicit ___2090(___4261 ___4258)
- {
- INVARIANT(___4306());
- ___478(___15 + ___4259 == SIZE_IN_BITS(___2090));
- ___478(___15 + PartitionBitSize + SubzoneOffsetBitSize + ItemOffsetBitSize == SIZE_IN_BITS(___2090));
- m.___14 = UniformAddressType;
- m.___4256.___2865 = ___4258;
- }
- inline bool ___2065() const
- {
- ENSURE(m.___14 == SzlAddressType || m.___14 == UniformAddressType);
- return m.___14 == UniformAddressType;
- }
- inline bool isSzlItem() const
- {
- ENSURE(m.___14 == SzlAddressType || m.___14 == UniformAddressType);
- return m.___14 == SzlAddressType;
- }
- inline uint32_t ___14() const
- {
- ENSURE(m.___14 == SzlAddressType || m.___14 == UniformAddressType);
- return m.___14;
- }
- inline SubzoneAddress subzoneAddress() const
- {
- REQUIRE(m.___14 == SzlAddressType);
- return SubzoneAddress(m.szlItemAddress.___2977, m.szlItemAddress.subzoneOffset);
- }
- inline ___2980 ___2977() const
- {
- REQUIRE(m.___14 == SzlAddressType);
- ENSURE(VALID_ITEM_ADDRESS_PARTITION(m.szlItemAddress.___2977));
- return m.szlItemAddress.___2977;
- }
- inline SubzoneOffset_t subzoneOffset() const
- {
- REQUIRE(m.___14 == SzlAddressType);
- ENSURE(VALID_ITEM_ADDRESS_SUBZONE_OFFSET(m.szlItemAddress.subzoneOffset));
- return m.szlItemAddress.subzoneOffset;
- }
- inline ItemOffset_t itemOffset() const
- {
- REQUIRE(m.___14 == SzlAddressType);
- ENSURE(VALID_ITEM_ADDRESS_ITEM_OFFSET(m.szlItemAddress.itemOffset));
- return m.szlItemAddress.itemOffset;
- }
- inline ___4261 ___4258() const
- {
- REQUIRE(___2065());
- return m.___4256.___2865;
- }
- inline uint64_t toRawBits() const { return m.___3270; }
- static ___2090 fromRawBits(uint64_t ___3270)
- {
- ___2090 ___3358;
- ___3358.m.___3270 = ___3270;
- ENSURE(VALID_ITEM_ADDRESS(___3358));
- return ___3358;
- }
- inline bool operator==(___2090 const &___2888) const
- {
- REQUIRE(VALID_ITEM_ADDRESS(___2888));
- return m.___3270 == ___2888.m.___3270;
- }
- private:
- #if !defined NO_ASSERTS
- static bool ___4306()
- {
- return (SIZE_IN_BITS(___2090) <= 64U && SIZE_IN_BITS(___2980) >= PartitionBitSize && SIZE_IN_BITS(SubzoneOffset_t) >= SubzoneOffsetBitSize && SIZE_IN_BITS(ItemOffset_t) > ItemOffsetBitSize && SIZE_IN_BITS(___4261) >= ___4259 && ___15 + ___4259 == SIZE_IN_BITS(___2090) && ___15 + PartitionBitSize + SubzoneOffsetBitSize + ItemOffsetBitSize == SIZE_IN_BITS(___2090));
- }
- #endif
- struct SzlItemAddress_s
- {
- uint64_t ___14 : ___15;
- uint64_t ___2977 : PartitionBitSize;
- uint64_t subzoneOffset : SubzoneOffsetBitSize;
- uint64_t itemOffset : ItemOffsetBitSize;
- };
- struct ___4257
- {
- int64_t ___14 : ___15;
- int64_t ___2865 : ___4259;
- };
- union
- {
- uint64_t ___14 : ___15;
- SzlItemAddress_s szlItemAddress;
- ___4257 ___4256;
- uint64_t ___3270;
- } m;
- };
- inline bool operator<(___2090 const &___2229, ___2090 const &___3392)
- {
- REQUIRE(VALID_ITEM_ADDRESS(___2229));
- REQUIRE(VALID_ITEM_ADDRESS(___3392));
- uint32_t const ___2230 = ___2229.___14();
- uint32_t const ___3393 = ___3392.___14();
- if (___2230 != ___3393)
- {
- return ___2230 < ___3393;
- }
- else if (___2230 == tecplot::___2090::UniformAddressType)
- {
- return ___2229.___4258() < ___3392.___4258();
- }
- else if (___2229.___2977() == ___3392.___2977())
- {
- if (___2229.subzoneOffset() == ___3392.subzoneOffset())
- return ___2229.itemOffset() < ___3392.itemOffset();
- else
- return ___2229.subzoneOffset() < ___3392.subzoneOffset();
- }
- else
- {
- return ___2229.___2977() < ___3392.___2977();
- }
- }
- inline bool operator!=(___2090 const &___2229, ___2090 const &___3392)
- {
- REQUIRE(VALID_ITEM_ADDRESS(___2229));
- REQUIRE(VALID_ITEM_ADDRESS(___3392));
- return !(___2229 == ___3392);
- }
- inline bool operator<=(___2090 const &___2229, ___2090 const &___3392)
- {
- REQUIRE(VALID_ITEM_ADDRESS(___2229));
- REQUIRE(VALID_ITEM_ADDRESS(___3392));
- return ___2229 < ___3392 || ___2229 == ___3392;
- }
- inline bool operator>(___2090 const &___2229, ___2090 const &___3392)
- {
- REQUIRE(VALID_ITEM_ADDRESS(___2229));
- REQUIRE(VALID_ITEM_ADDRESS(___3392));
- return !(___2229 < ___3392) && !(___2229 == ___3392);
- }
- inline bool operator>=(___2090 const &___2229, ___2090 const &___3392)
- {
- REQUIRE(VALID_ITEM_ADDRESS(___2229));
- REQUIRE(VALID_ITEM_ADDRESS(___3392));
- return !(___2229 < ___3392);
- }
- inline bool operator<(___2090::SubzoneAddress const &___2229, ___2090::SubzoneAddress const &___3392)
- {
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(___2229));
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(___3392));
- if (___2229.___2977() == ___3392.___2977())
- return ___2229.subzoneOffset() < ___3392.subzoneOffset();
- else
- return ___2229.___2977() < ___3392.___2977();
- }
- inline bool operator!=(___2090::SubzoneAddress const &___2229, ___2090::SubzoneAddress const &___3392)
- {
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(___2229));
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(___3392));
- return !(___2229 == ___3392);
- }
- inline bool operator<=(___2090::SubzoneAddress const &___2229, ___2090::SubzoneAddress const &___3392)
- {
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(___2229));
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(___3392));
- return ___2229 < ___3392 || ___2229 == ___3392;
- }
- inline bool operator>(___2090::SubzoneAddress const &___2229, ___2090::SubzoneAddress const &___3392)
- {
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(___2229));
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(___3392));
- return !(___2229 < ___3392) && !(___2229 == ___3392);
- }
- inline bool operator>=(___2090::SubzoneAddress const &___2229, ___2090::SubzoneAddress const &___3392)
- {
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(___2229));
- REQUIRE(VALID_ITEM_ADDRESS_SUBZONE_ADDRESS(___3392));
- return !(___2229 < ___3392);
- }
- }
|