euclidean
Euclidean Division & Euclidean Modulo
Summary
| Latest Version | Unknown |
|---|---|
| License | MIT |
| CI Status | Passing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:24 |
Tags
Installation
nimble install euclidean
choosenim install euclidean
git clone https://github.com/juancarlospaco/nim-euclidean
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| euclidean | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://github.com/juancarlospaco/nim-euclidean |
|---|---|
| Homepage | https://github.com/juancarlospaco/nim-euclidean |
| Documentation | View Documentation |
| Registry Source | nimble_official |
README
Euclidean
![]()
Use
import euclidean
echo euclideanDivision(-3, 5) # -3 / 5
echo euclideanModulo(-3, 5) # -3 mod 5
- You can use
import euclideanDivision as eDivor similar for short name, etc. - You can use
import euclideanModulo as eModor similar for short name, etc. - Remember results will be different than standard library
systemDivison and Modulo. - Remember results will be different than standard library
mathDivison and Modulo. - No dependencies. Uses
limits.h. - See http://wikipedia.org/wiki/Modulo_operation http://wikipedia.org/wiki/Euclidean_division
FAQ
- This already exists in the Standard Library on
math.floorDiv,math.floorMod? - This already exists in the Standard Library on
system./,system.mod?
Nim
from math import floorDiv, floorMod
echo "system.`/` Versus euclidean.euclideanDivision:"
echo "\tEuclideans Division\t-3 / 5 =\t", euclideanDivision(-3.cint, 5.cint)
echo "\tNim StdLib Division\t-3 / 5 = \t", -3.cint / 5.cint, "\n"
echo "system.`mod` Versus euclidean.euclideanModulo:"
echo "\tEuclideans Modulo\t-3 mod 5 =\t", euclideanModulo(-3.cint, 5.cint)
echo "\tNim StdLib Modulo\t-3 mod 5 =\t", -3.cint mod 5.cint, "\n\n"
echo "math.floorDiv Versus euclidean.euclideanDivision:"
echo "\tEuclideans Division\t5 / -3 =\t", euclideanDivision(5.cint, -3.cint)
echo "\tNim Floor Division\t5 / -3 = \t", floorDiv(5, -3), "\n"
echo "math.floorMod Versus euclidean.euclideanModulo:"
echo "\tEuclideans Modulo\t5 mod -3 =\t", euclideanModulo(5.cint, -3.cint)
echo "\tNim Floor Modulo\t5 mod -3 = \t", floorMod(5, -3)
Results
system.`/` Versus euclidean.euclideanDivision:
Euclideans Division -3 / 5 = -1
Nim StdLib Division -3 / 5 = -0.6
system.`mod` Versus euclidean.euclideanModulo:
Euclideans Modulo -3 mod 5 = 2
Nim StdLib Modulo -3 mod 5 = -3
math.floorDiv Versus euclidean.euclideanDivision:
Euclideans Division 5 / -3 = -1
Nim Floor Division 5 / -3 = -2
math.floorMod Versus euclidean.euclideanModulo:
Euclideans Modulo 5 mod -3 = 2
Nim Floor Modulo 5 mod -3 = -1