Main Content

ceilDiv

Round the result of division toward positive infinity

Since R2021a

Description

y = ceilDiv(x,d) returns the result of x/d rounded to the nearest integer value in the direction of positive infinity.

example

y = ceilDiv(x,d,m) returns the result of x/d rounded to the nearest multiple of m in the direction of positive infinity.

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.

example

Examples

collapse all

Perform a division operation and round to the nearest integer value in the direction of positive infinity.

ceilDiv(int16(201),10)
ans = 
    21

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

Perform a division operation and round to the nearest multiple of 5 in the direction of positive infinity.

ceilDiv(int16(201),10,5)
ans = 
    25

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

Define a function that uses ceilDiv.

function y = ceilDiv_example(x,d)
y = ceilDiv(x,d);
end

Define inputs and execute the function in MATLAB®.

x = fi(pi);
d = fi(2);
y = ceilDiv_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 ceilDiv_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 = ceilDiv10(x)
y = ceilDiv(x,10);
end
x = fi(5*pi);
y = ceilDiv10(x)
y = 
     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 2
        FractionLength: 0
codegen ceilDiv10 -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 ceiling, 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