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

Subversion Repositories 1664

[/] [1664/] [trunk/] [c/] [lista/] [fl64__cadena.c] - Rev 2

Compare with Previous | Blame | View Log

#include "tipodef.h"
 
#include <stdio.h>
 
void debug_out(n1 *cadena,nN cuantia);
 
fl2 fl2__cadena(n1 *cadena,nN cuantia)
{
 n1 sinia_entero=0,sinia_potia=0;
 if (*cadena=='-') { cadena++; cuantia--; sinia_entero=1; }
 n1 *cadena_frato=0,*cadena_potia=0;
 nN cuantia_cadena_frato,cuantia_cadena_entero,cuantia_cadena_potia;
 nN indise;
 
 for(indise=0;indise<cuantia;indise++) 
 { 
  if(cadena[indise]=='.'){cadena_frato=cadena+indise+1; break;} 
 }
 
 if (cadena_frato!=0)
 {
  for(cuantia_cadena_frato=0;cuantia_cadena_frato<(cuantia-(cadena_frato-cadena));cuantia_cadena_frato++)
  { 
   if(cadena_frato[cuantia_cadena_frato]=='E') 
   { 
    cadena_potia=cadena_frato+cuantia_cadena_frato+1;
    if(*cadena_potia=='-') { cadena_potia++; sinia_potia=1; }
    cuantia_cadena_potia=cuantia-(cadena_potia-cadena);
    break; 
   }
  }
 }
 
 cuantia_cadena_entero=-(cadena-cadena_frato)-1;
 cuantia_cadena_entero=3;
 fl2 fl=0.0;
 fl=fl2__cadena_desimal(cadena,cuantia_cadena_entero);
 printf("%f\n",fl);
 return fl;
}
 
void debug_out(n1 *cadena,nN cuantia)
{
 nN i;
 for(i=0;i<cuantia;i++)
 {
  putchar(cadena[i]);
 }
}
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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