MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / cbm_platform_scale_fraction

Function cbm_platform_scale_fraction

src/foundation/platform.c:18–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16#define CBM_NSEC_PER_SEC 1000000000ULL
17
18static uint64_t cbm_platform_scale_fraction(uint64_t remainder, uint64_t multiplier,
19 uint64_t divisor) {
20 uint64_t quotient = 0;
21 uint64_t reduced = 0;
22 uint64_t mask = 1;
23 while (mask <= multiplier / 2) {
24 mask <<= 1U;
25 }
26 for (; mask != 0; mask >>= 1U) {
27 quotient *= 2;
28 if (reduced >= divisor - reduced) {
29 reduced -= divisor - reduced;
30 quotient++;
31 } else {
32 reduced += reduced;
33 }
34 if ((multiplier & mask) != 0) {
35 if (reduced >= divisor - remainder) {
36 reduced -= divisor - remainder;
37 quotient++;
38 } else {
39 reduced += remainder;
40 }
41 }
42 }
43 return quotient;
44}
45
46uint64_t cbm_platform_scale_counter_ns(uint64_t counter, uint64_t frequency) {
47 if (frequency == 0) {

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected