@@ -17,7 +17,7 @@ Rounding TargetCharacteristics::defaultRounding;
1717
1818TargetCharacteristics::TargetCharacteristics () {
1919 auto enableCategoryKinds{[this ](TypeCategory category) {
20- for (int kind{1 }; kind <= maxKind; ++kind) {
20+ for (int kind{0 }; kind < maxKind; ++kind) {
2121 if (CanSupportType (category, kind)) {
2222 auto byteSize{static_cast <std::size_t >(kind)};
2323 if (category == TypeCategory::Real ||
@@ -70,14 +70,14 @@ bool TargetCharacteristics::EnableType(common::TypeCategory category,
7070
7171void TargetCharacteristics::DisableType (
7272 common::TypeCategory category, std::int64_t kind) {
73- if (kind > 0 && kind <= maxKind) {
73+ if (kind >= 0 && kind < maxKind) {
7474 align_[static_cast <int >(category)][kind] = 0 ;
7575 }
7676}
7777
7878std::size_t TargetCharacteristics::GetByteSize (
7979 common::TypeCategory category, std::int64_t kind) const {
80- if (kind > 0 && kind <= maxKind) {
80+ if (kind >= 0 && kind < maxKind) {
8181 return byteSize_[static_cast <int >(category)][kind];
8282 } else {
8383 return 0 ;
@@ -86,7 +86,7 @@ std::size_t TargetCharacteristics::GetByteSize(
8686
8787std::size_t TargetCharacteristics::GetAlignment (
8888 common::TypeCategory category, std::int64_t kind) const {
89- if (kind > 0 && kind <= maxKind) {
89+ if (kind >= 0 && kind < maxKind) {
9090 return align_[static_cast <int >(category)][kind];
9191 } else {
9292 return 0 ;
@@ -108,30 +108,6 @@ void TargetCharacteristics::set_areSubnormalsFlushedToZero(bool yes) {
108108 areSubnormalsFlushedToZero_ = yes;
109109}
110110
111- // Check if a given real kind has flushing control.
112- bool TargetCharacteristics::hasSubnormalFlushingControl (int kind) const {
113- CHECK (kind > 0 && kind <= maxKind);
114- CHECK (CanSupportType (TypeCategory::Real, kind));
115- return hasSubnormalFlushingControl_[kind];
116- }
117-
118- // Check if any or all real kinds have flushing control.
119- bool TargetCharacteristics::hasSubnormalFlushingControl (bool any) const {
120- for (int kind{1 }; kind <= maxKind; ++kind) {
121- if (CanSupportType (TypeCategory::Real, kind) &&
122- hasSubnormalFlushingControl_[kind] == any) {
123- return any;
124- }
125- }
126- return !any;
127- }
128-
129- void TargetCharacteristics::set_hasSubnormalFlushingControl (
130- int kind, bool yes) {
131- CHECK (kind > 0 && kind <= maxKind);
132- hasSubnormalFlushingControl_[kind] = yes;
133- }
134-
135111void TargetCharacteristics::set_roundingMode (Rounding rounding) {
136112 roundingMode_ = rounding;
137113}
0 commit comments