summary refs log tree commit diff stats
path: root/nim/nmath.pas
diff options
context:
space:
mode:
Diffstat (limited to 'nim/nmath.pas')
-rwxr-xr-xnim/nmath.pas68
1 files changed, 0 insertions, 68 deletions
diff --git a/nim/nmath.pas b/nim/nmath.pas
deleted file mode 100755
index 8b638eb42..000000000
--- a/nim/nmath.pas
+++ /dev/null
@@ -1,68 +0,0 @@
-//
-//
-//           The Nimrod Compiler
-//        (c) Copyright 2008 Andreas Rumpf
-//
-//    See the file "copying.txt", included in this
-//    distribution, for details about the copyright.
-//
-
-unit nmath;
-
-interface
-
-{$include 'config.inc'}
-
-{@ignore}
-uses
-  nsystem;
-{@emit}
-
-function countBits(n: cardinal): int;
-function IsPowerOfTwo(x: int): Boolean;
-function nextPowerOfTwo(x: int): int;
-
-implementation
-
-function countBits(n: cardinal): int;
-const
-  lookup: array [0..255] of Byte = (
-    0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3,
-    2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4,
-    2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5,
-    4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
-    2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4,
-    3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6,
-    4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4,
-    3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
-    2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5,
-    4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5,
-    3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6,
-    5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
-    4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8
-  );
-var
-  i: int;
-begin
-  result := 0;
-  for i := 0 to sizeof(n)-1 do
-    Inc(result, lookup[ (n shr (i * 8)) and 255 ])
-end;
-
-function IsPowerOfTwo(x: int): Boolean;
-begin
-  result := x and -x = x
-end;
-
-function nextPowerOfTwo(x: int): int;
-begin
-  result := x - 1;
-  result := result or (result shr 16);
-  result := result or (result shr 8);
-  result := result or (result shr 4);
-  result := result or (result shr 2);
-  result := result or (result shr 1);
-  Inc(result)
-end;
-
-end.