1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /*
- * File: div_repeat_s32_floor.c
- *
- * Code generated for Simulink model 'SOC'.
- *
- * Model version : 1.52
- * Simulink Coder version : 9.4 (R2020b) 29-Jul-2020
- * C/C++ source code generated on : Tue Sep 14 16:42:25 2021
- */
- #include "rtwtypes.h"
- #include "div_nzp_repeat_u32.h"
- #include "div_nzp_repeat_u32_ceiling.h"
- #include "div_repeat_s32_floor.h"
- int32_T div_repeat_s32_floor(int32_T numerator, int32_T denominator, uint32_T
- nRepeatSub)
- {
- int32_T quotient;
- uint32_T absDenominator;
- uint32_T absNumerator;
- if (denominator == 0) {
- quotient = numerator >= 0 ? MAX_int32_T : MIN_int32_T;
- /* Divide by zero handler */
- } else {
- absNumerator = numerator < 0 ? ~(uint32_T)numerator + 1U : (uint32_T)
- numerator;
- absDenominator = denominator < 0 ? ~(uint32_T)denominator + 1U : (uint32_T)
- denominator;
- if ((numerator < 0) != (denominator < 0)) {
- quotient = -(int32_T)div_nzp_repeat_u32_ceiling(absNumerator,
- absDenominator, nRepeatSub);
- } else {
- quotient = (int32_T)div_nzp_repeat_u32(absNumerator, absDenominator,
- nRepeatSub);
- }
- }
- return quotient;
- }
- /*
- * File trailer for generated code.
- *
- * [EOF]
- */
|