OpenCores
URL https://opencores.org/ocsvn/plasma/plasma/trunk

Subversion Repositories plasma

[/] [plasma/] [trunk/] [tools/] [count.c] - Diff between revs 94 and 135

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 94 Rev 135
Line 11... Line 11...
};
};
 
 
#ifndef MLITE
#ifndef MLITE
int puts(const char *ptr)
int puts(const char *ptr)
{
{
   while(*ptr) {
   while(*ptr)
 
   {
      putchar(*ptr++);
      putchar(*ptr++);
   }
   }
   return 0;
   return 0;
}
}
#endif
#endif
Line 24... Line 25...
char *xtoa(unsigned long num)
char *xtoa(unsigned long num)
{
{
   static char buf[12];
   static char buf[12];
   int i,digit;
   int i,digit;
   buf[8]=0;
   buf[8]=0;
   for(i=7;i>=0;--i) {
   for (i = 7; i >= 0; --i)
 
   {
      digit=num&0xf;
      digit=num&0xf;
      buf[i]=digit+(digit<10?'0':'A'-10);
      buf[i]=digit+(digit<10?'0':'A'-10);
      num>>=4;
      num>>=4;
   }
   }
   return buf;
   return buf;
Line 38... Line 40...
char *itoa(unsigned long num)
char *itoa(unsigned long num)
{
{
   static char buf[12];
   static char buf[12];
   int i;
   int i;
   buf[10]=0;
   buf[10]=0;
   for(i=9;i>=0;--i) {
   for (i = 9; i >= 0; --i)
      buf[i]=(char)((num%10)+'0');
   {
 
      buf[i] = (char)((num % 10) + '0');
      num/=10;
      num/=10;
   }
   }
   return buf;
   return buf;
}
}
 
 
void number_text(unsigned long number)
void number_text(unsigned long number)
{
{
   int digit;
   int digit;
   puts(itoa(number));
   puts(itoa(number));
   puts(": ");
   puts(": ");
   if(number>=1000000000) {
   if(number >= 1000000000)
 
   {
      digit=number/1000000000;
      digit=number/1000000000;
      puts(name[digit]);
      puts(name[digit]);
      puts(" billion ");
      puts(" billion ");
      number%=1000000000;
      number%=1000000000;
   }
   }
   if(number>=100000000) {
   if(number >= 100000000)
 
   {
      digit=number/100000000;
      digit=number/100000000;
      puts(name[digit]);
      puts(name[digit]);
      puts(" hundred ");
      puts(" hundred ");
      number%=100000000;
      number%=100000000;
      if(number<1000000) {
      if(number < 1000000)
 
      {
         puts("million ");
         puts("million ");
      }
      }
   }
   }
   if(number>=20000000) {
   if(number >= 20000000)
 
   {
      digit=number/10000000;
      digit=number/10000000;
      puts(name[digit+20]);
      puts(name[digit+20]);
      putchar(' ');
      putchar(' ');
      number%=10000000;
      number%=10000000;
      if(number<1000000) {
      if(number < 1000000)
 
      {
         puts("million ");
         puts("million ");
      }
      }
   }
   }
   if(number>=1000000) {
   if(number >= 1000000)
 
   {
      digit=number/1000000;
      digit=number/1000000;
      puts(name[digit]);
      puts(name[digit]);
      puts(" million ");
      puts(" million ");
      number%=1000000;
      number%=1000000;
   }
   }
   if(number>=100000) {
   if(number >= 100000)
 
   {
      digit=number/100000;
      digit=number/100000;
      puts(name[digit]);
      puts(name[digit]);
      puts(" hundred ");
      puts(" hundred ");
      number%=100000;
      number%=100000;
      if(number<1000) {
      if(number < 1000)
 
      {
         puts("thousand ");
         puts("thousand ");
      }
      }
   }
   }
   if(number>=20000) {
   if(number >= 20000)
 
   {
      digit=number/10000;
      digit=number/10000;
      puts(name[digit+20]);
      puts(name[digit+20]);
      putchar(' ');
      putchar(' ');
      number%=10000;
      number%=10000;
      if(number<1000) {
      if(number < 1000)
 
      {
         puts("thousand ");
         puts("thousand ");
      }
      }
   }
   }
   if(number>=1000) {
   if(number >= 1000)
 
   {
      digit=number/1000;
      digit=number/1000;
      puts(name[digit]);
      puts(name[digit]);
      puts(" thousand ");
      puts(" thousand ");
      number%=1000;
      number%=1000;
   }
   }
   if(number>=100) {
   if(number >= 100)
 
   {
      digit=number/100;
      digit=number/100;
      puts(name[digit]);
      puts(name[digit]);
      puts(" hundred ");
      puts(" hundred ");
      number%=100;
      number%=100;
   }
   }
   if(number>=20) {
   if(number >= 20)
 
   {
      digit=number/10;
      digit=number/10;
      puts(name[digit+20]);
      puts(name[digit+20]);
      putchar(' ');
      putchar(' ');
      number%=10;
      number%=10;
   }
   }
Line 126... Line 142...
void main()
void main()
{
{
   unsigned long number,i;
   unsigned long number,i;
   puts("Mult by 3\r\n");
   puts("Mult by 3\r\n");
   number=3;
   number=3;
   for(i=0;;++i) {
   for(i = 0;; ++i)
 
   {
      number_text(number);
      number_text(number);
      number*=3;
      number*=3;
   }
   }
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.