Main Content

nearestDiv

Round the result of division toward the nearest integer

Description

example

y = nearestDiv(x,d) returns the result of x/d rounded to the nearest integer value.

example

y = nearestDiv(x,d,m) returns the result of x/d rounded to the nearest multiple of m.

The datatype of y is calculated such that the wordlength and fraction length are of a sufficient size to contain both the largest and smallest possible solutions given the data type of x, and the values of d and m.

Examples

collapse all

Perform a division operation and round to the nearest integer value.

nearestDiv(int16(201),10)
ans = 
    20

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 13
        FractionLength: 0

Perform a division operation and round to the nearest multiple of 7.

nearestDiv(int16(201),10,7)
ans = 
    21

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 13
        FractionLength: 0

Define a function that uses nearestDiv.

function y = nearestDiv_example(x,d)
y = nearestDiv(x,d);
end

Define inputs and execute the function in MATLAB®.

x = fi(pi);
d = fi(2);
y = nearestDiv_example(x,d)
y = 
     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 2
        FractionLength: 0

To generate code for this function, the denominator d must be defined as a constant.

codegen nearestDiv_example -args {x, coder.Constant(d)}
Code generation successful.

Alternatively, you can define the denominator, d, as constant in the body of the code.

function y = nearestDiv10(x)
y = nearestDiv(x,10);
end
x = fi(5*pi);
y = nearestDiv10(x)
y = 
     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 2
        FractionLength: 0
codegen nearestDiv10 -args {x}
Code generation successful.

Input Arguments

collapse all

Dividend, specified as a scalar.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi

Divisor, specified as a scalar.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi

Value to round to nearest multiple of, specified as a scalar.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi

Output Arguments

collapse all

Result of division and round to floor, returned as a scalar.

The datatype of y is calculated such that the wordlength and fraction length are of a sufficient size to contain both the largest and smallest possible solutions given the data type of x, and the values of d and m.

Extended Capabilities

Version History

Introduced in R2021a

See Also

| |