reciprocal_scale(9)

reciprocal_scale9

"scale" a value into range [0, ep_ro)

Usage

u32 reciprocal_scale(u32 val, u32 ep_ro);

Arguments

val

value

ep_ro

right open interval endpoint

Overview

Perform a “reciprocal multiplication” in order to “scale” a value into range [0, ep_ro), where the upper interval endpoint is right-open. This is useful, e.g. for accessing a index of an array containing ep_ro elements, for example. Think of it as sort of modulus, only that the result isn't that of modulo. ;) Note that if initial input is a small value, then result will return 0.

Return

a result based on val in interval [0, ep_ro).

From linux-manual-3.16 3.16.56-1+deb8u1 in Debian 8 (Jessie). Parsed by carta from the page's man source.