Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 6571 in orxonox.OLD for branches/network


Ignore:
Timestamp:
Jan 18, 2006, 3:31:05 PM (19 years ago)
Author:
rennerc
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/network/src/lib/network/converter.cc

    r6564 r6571  
    229229    //  printf("Denormalisiert!\n");
    230230    //printf("DenormConst = %e", getDenormConst());
    231    
     231
    232232    float sub = 1;
    233233    while (sub < x)
     
    251251    exponent++;
    252252    mantisse /= 2;
    253    
     253
    254254    printf("Conv:        mantisse = %i exponent = %i \n", mantisse, exponent);
    255255
    256    
     256
    257257    if (mantisse != 0)
    258258    {
     
    262262        exponent--;
    263263      }
    264    
     264
    265265      mantisse -= expmult;
    266266    }
     
    294294  int hexp = a[2] + a[3] * 256;
    295295  int exponent = (hexp / 128) % 256;
    296  
     296
    297297  int hmant = a[0] + a[1] * 256 + a[2] * 65536;
    298298  int mantisse = hmant % expmult;
    299299  if (mantisse == 0 && exponent == 255)
    300300    return 0;
    301  
     301
    302302  mantisse += expmult;
    303303  exponent -= 128;
     
    371371    //  printf("Denormalisiert!\n");
    372372    //printf("DenormConst = %e", getDenormConst());
    373    
     373
    374374    float sub = 1;
    375375    while (sub < x)
     
    393393    exponent++;
    394394    mantisse /= 2;
    395    
     395
    396396
    397397///    printf("Conv:        mantisse = %i exponent = %i \n", mantisse, exponent);
    398398
    399    
     399
    400400    if (mantisse != 0)
    401401    {
     
    405405        exponent--;
    406406      }
    407    
     407
    408408      mantisse -= expmult;
    409409    }
     
    412412///  printf("Conv: mantisse = %i exponent = %i \n", mantisse, exponent);
    413413
    414  
     414
    415415  int hx = mantisse + expmult * exponent;
    416416  int result = intToByteArray(hx, a, length);
     
    449449  int hexp = a[2] + a[3] * 256;
    450450  int exponent = (hexp / 128) % 256;
    451  
     451
    452452  int hmant = a[0] + a[1] * 256 + a[2] * 65536;
    453453  int mantisse = hmant % expmult;
    454  
     454
    455455  //handle 0
    456456  if (mantisse == 0 && exponent == 255)
    457457    return 0;
    458  
     458
    459459  mantisse += expmult;
    460460  exponent -= 128;
     
    581581  int n = Converter::byteArrayToInt( a, &length );
    582582
     583  PRINTF(0)("length = %d\n", length);
     584
    583585  s = new char[length+1];
    584586
     
    602604  //float x = 8.0f;
    603605  //float x = numeric_limits<float>::infinity();
    604  
     606
    605607  printf("To Convert: %e\n", x);
    606  
     608
    607609  byte* res = floatToByteArray(x);
    608610  for (int i = 0; i < 4; i++)
    609611    printf("%i ", res[i]);
    610612  printf("\n");
    611  
     613
    612614  float y = byteArrayToFloat(res);
    613615  printf("ReConvert: %e\n", y);
    614  
     616
    615617  if (x == y)
    616618    printf("equal\n");
     
    622624{
    623625  printf("We rulez\n");
    624  
     626
    625627  //Denormalized?
    626628  //floatTest(-9.87624e-38f);
     
    628630  //floatTest(-9.87624e-36f);
    629631  //floatTest(-9.87624e-35f);
    630  
     632
    631633  /*
    632634  floatTest(14.7f);
     
    635637  floatTest(5.67e-15f);
    636638  */
    637  
     639
    638640  //floatTest(-18.0098f);
    639641  //floatTest(-24.07e23f);
Note: See TracChangeset for help on using the changeset viewer.