fix left shift of negative value (-fsanitize=undefined)
This commit is contained in:
parent
15f16ce6ec
commit
3976014dcd
1 changed files with 10 additions and 10 deletions
8
deps/agg/include/agg_dda_line.h
vendored
8
deps/agg/include/agg_dda_line.h
vendored
|
@ -27,8 +27,9 @@ namespace agg
|
|||
{
|
||||
|
||||
//===================================================dda_line_interpolator
|
||||
template<int FractionShift, int YShift=0> class dda_line_interpolator
|
||||
template<int FractionShift, int YShift = 0> class dda_line_interpolator
|
||||
{
|
||||
static constexpr int factor = 2 << (FractionShift - 1);
|
||||
public:
|
||||
//--------------------------------------------------------------------
|
||||
dda_line_interpolator() {}
|
||||
|
@ -36,7 +37,7 @@ namespace agg
|
|||
//--------------------------------------------------------------------
|
||||
dda_line_interpolator(int y1, int y2, unsigned count) :
|
||||
m_y(y1),
|
||||
m_inc(((y2 - y1) << FractionShift) / int(count)),
|
||||
m_inc(((y2 - y1) * factor) / static_cast<int>(count)),
|
||||
m_dy(0)
|
||||
{
|
||||
}
|
||||
|
@ -67,10 +68,9 @@ namespace agg
|
|||
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
int y() const { return m_y + (m_dy >> (FractionShift-YShift)); }
|
||||
int y() const { return m_y + (m_dy >> (FractionShift - YShift)); }
|
||||
int dy() const { return m_dy; }
|
||||
|
||||
|
||||
private:
|
||||
int m_y;
|
||||
int m_inc;
|
||||
|
|
Loading…
Add table
Reference in a new issue