My Project  debian-1:4.1.1-p2+ds-4build2
gf_tabutil.cc
Go to the documentation of this file.
1 /* emacs edit mode for this file is -*- C++ -*- */
2 
3 
4 #include "config.h"
5 
6 
7 #include "cf_assert.h"
8 
9 #include "cf_defs.h"
10 #include "gf_tabutil.h"
11 
12 int gf_tab_numdigits62 ( int q )
13 {
14  if ( q < 62 )
15  return 1;
16  else if ( q < 62*62 )
17  return 2;
18  else
19  return 3;
20 }
21 
22 char conv62 ( int i )
23 {
24  if ( i < 10 )
25  return '0' + char(i);
26  else if ( i < 36 )
27  return 'A' + char(i-10);
28  else
29  return 'a' + char(i-36);
30 }
31 
32 void convert62 ( int i, int n, char * p )
33 {
34  for ( int j = n-1; j >= 0; j-- ) {
35  p[j] = conv62( i % 62 );
36  i /= 62;
37  }
38 }
39 
40 int convback62 ( char c )
41 {
42  if ( c >= '0' && c <= '9' )
43  return int(c) - int('0');
44  else if ( c >= 'A' && c <= 'Z' )
45  return int(c) - int('A') + 10;
46  else
47  return int(c) - int('a') + 36;
48 }
49 
50 int convertback62 ( char * p, int n )
51 {
52  int r = 0;
53  for ( int j = 0; j < n; j++ )
54  r = r * 62 + convback62( p[j] );
55  return r;
56 }
j
int j
Definition: facHensel.cc:105
gf_tabutil.h
conv62
char conv62(int i)
Definition: gf_tabutil.cc:22
i
int i
Definition: cfEzgcd.cc:125
convert62
void convert62(int i, int n, char *p)
Definition: gf_tabutil.cc:32
cf_defs.h
convertback62
int convertback62(char *p, int n)
Definition: gf_tabutil.cc:50
gf_tab_numdigits62
int gf_tab_numdigits62(int q)
Definition: gf_tabutil.cc:12
convback62
int convback62(char c)
Definition: gf_tabutil.cc:40
cf_assert.h
p
int p
Definition: cfModGcd.cc:4019