Skip to content

Commit 1457397

Browse files
committed
Update Conversions.h
1 parent 3e1a16b commit 1457397

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

Conversions.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,16 @@ class Conversions
6565
return Int2Highest(static_cast<DWORD>(v));
6666
}
6767

68+
static unsigned int TranslateFixedPoint(size_t bitsFrom, size_t bitsTo, size_t value, size_t offset = 0)
69+
{
70+
size_t maskIn = ((1u << bitsFrom) - 1);
71+
size_t maskOut = ((1u << bitsTo) - 1);
72+
73+
if (bitsFrom > bitsTo)
74+
return (((((value & maskIn) >> (bitsFrom - bitsTo - 1)) + 1) >> 1) + offset) & maskOut;
75+
else if (bitsFrom < bitsTo)
76+
return (((value - offset) & maskIn) << (bitsTo - bitsFrom)) & maskOut;
77+
else
78+
return value & maskOut;
79+
}
6880
};

0 commit comments

Comments
 (0)