Which function returns a pair after division ? (integer,frac)

Richard (Rikki) Andrew Cattermole richard at cattermole.co.nz
Tue Sep 19 03:53:06 UTC 2023


There are no operators for this, not that you need one.

```d
void func(int numerator, int denominator, out int quotient, out int 
remainder) {
     quotient = numerator / denominator;
     remainder = numerator % denominator;
}
```

This will produce with ldc2 -O3:

```
void example.func(int, int, out int, out int):
         mov     r8, rdx
         mov     eax, edi
         cdq
         idiv    esi
         mov     dword ptr [r8], eax
         mov     dword ptr [rcx], edx
         ret
```

Embrace modern backends, they are amazing!


More information about the Digitalmars-d-learn mailing list