source: git/factory/cf_util.cc @ 5df7d0

spielwiese
Last change on this file since 5df7d0 was c1b9927, checked in by Hans Schoenemann <hannes@…>, 13 years ago
- removed some unsed variables - never put static inline routine without a body in a .h file git-svn-id: file:///usr/local/Singular/svn/trunk@14265 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 872 bytes
Line 
1/* emacs edit mode for this file is -*- C++ -*- */
2/* $Id$ */
3
4//{{{ docu
5//
6// cf_util.cc - miscellaneous functions, not necessarily related
7//   to canonical forms.
8//
9// Used by: fac_cantzass.cc, gfops.cc
10//
11//}}}
12
13#include <config.h>
14
15//{{{ int ipower ( int b, int m )
16//{{{ docu
17//
18// ipower() - calculate b^m in standard integer arithmetic.
19//
20// Note: Beware of overflows.
21//
22//}}}
23int ipower ( int b, int m )
24{
25    int prod = 1;
26
27    while ( m != 0 )
28    {
29        if ( m % 2 != 0 )
30            prod *= b;
31        m /= 2;
32        if ( m != 0 )
33            b *= b;
34    }
35    return prod;
36}
37//}}}
38
39int ilog2 (int a)
40{
41  int n = -1;
42  while ( a > 0 )
43  {
44    n++;
45    a /=2;
46  }
47  return n;
48}
49
50#include<stdio.h>
51#include<stdlib.h>
52
53void factoryError_intern(const char *s)
54{
55  fputs(s,stderr);
56  abort();
57}
58void (*factoryError)(const char *s) = factoryError_intern;
59
60
Note: See TracBrowser for help on using the repository browser.