소스 검색

simplify overflow checks somewhat

dds
PaulStoffregen 10 년 전
부모
커밋
aa8c6400a3
1개의 변경된 파일2개의 추가작업 그리고 14개의 파일을 삭제
  1. +2
    -14
      synth_dc.h

+ 2
- 14
synth_dc.h 파일 보기

@@ -57,13 +57,7 @@ static inline int32_t substract_int32_then_divide_int32(int32_t a, int32_t b, in

if (a >= 0) {
if (b >= 0) {
if (a >= b) {
diff = a - b;
negative = 0;
} else {
diff = b - a;
negative = 1;
}
return (a - b) / c; // no overflow if both a & b are positive
} else {
diff = a + (b * -1); // assumes 0x80000000 * -1 == 0x80000000
negative = 0;
@@ -73,13 +67,7 @@ static inline int32_t substract_int32_then_divide_int32(int32_t a, int32_t b, in
diff = (a * -1) + b; // assumes 0x80000000 * -1 == 0x80000000
negative = 1;
} else {
if (a >= b) {
diff = a - b;
negative = 0;
} else {
diff = b - a;
negative = 1;
}
return (a - b) / c; // no overflow if both a & b are negative
}
}
if (c >= 0) {

Loading…
취소
저장