This source file includes following definitions.
- ieee754dp_dump
- ieee754sp_dump
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 #include <linux/types.h>
  17 #include <linux/printk.h>
  18 #include "ieee754.h"
  19 #include "ieee754sp.h"
  20 #include "ieee754dp.h"
  21 
  22 union ieee754dp ieee754dp_dump(char *m, union ieee754dp x)
  23 {
  24         int i;
  25 
  26         printk("%s", m);
  27         printk("<%08x,%08x>\n", (unsigned) (x.bits >> 32),
  28                (unsigned) x.bits);
  29         printk("\t=");
  30         switch (ieee754dp_class(x)) {
  31         case IEEE754_CLASS_QNAN:
  32         case IEEE754_CLASS_SNAN:
  33                 printk("Nan %c", DPSIGN(x) ? '-' : '+');
  34                 for (i = DP_FBITS - 1; i >= 0; i--)
  35                         printk("%c", DPMANT(x) & DP_MBIT(i) ? '1' : '0');
  36                 break;
  37         case IEEE754_CLASS_INF:
  38                 printk("%cInfinity", DPSIGN(x) ? '-' : '+');
  39                 break;
  40         case IEEE754_CLASS_ZERO:
  41                 printk("%cZero", DPSIGN(x) ? '-' : '+');
  42                 break;
  43         case IEEE754_CLASS_DNORM:
  44                 printk("%c0.", DPSIGN(x) ? '-' : '+');
  45                 for (i = DP_FBITS - 1; i >= 0; i--)
  46                         printk("%c", DPMANT(x) & DP_MBIT(i) ? '1' : '0');
  47                 printk("e%d", DPBEXP(x) - DP_EBIAS);
  48                 break;
  49         case IEEE754_CLASS_NORM:
  50                 printk("%c1.", DPSIGN(x) ? '-' : '+');
  51                 for (i = DP_FBITS - 1; i >= 0; i--)
  52                         printk("%c", DPMANT(x) & DP_MBIT(i) ? '1' : '0');
  53                 printk("e%d", DPBEXP(x) - DP_EBIAS);
  54                 break;
  55         default:
  56                 printk("Illegal/Unknown IEEE754 value class");
  57         }
  58         printk("\n");
  59         return x;
  60 }
  61 
  62 union ieee754sp ieee754sp_dump(char *m, union ieee754sp x)
  63 {
  64         int i;
  65 
  66         printk("%s=", m);
  67         printk("<%08x>\n", (unsigned) x.bits);
  68         printk("\t=");
  69         switch (ieee754sp_class(x)) {
  70         case IEEE754_CLASS_QNAN:
  71         case IEEE754_CLASS_SNAN:
  72                 printk("Nan %c", SPSIGN(x) ? '-' : '+');
  73                 for (i = SP_FBITS - 1; i >= 0; i--)
  74                         printk("%c", SPMANT(x) & SP_MBIT(i) ? '1' : '0');
  75                 break;
  76         case IEEE754_CLASS_INF:
  77                 printk("%cInfinity", SPSIGN(x) ? '-' : '+');
  78                 break;
  79         case IEEE754_CLASS_ZERO:
  80                 printk("%cZero", SPSIGN(x) ? '-' : '+');
  81                 break;
  82         case IEEE754_CLASS_DNORM:
  83                 printk("%c0.", SPSIGN(x) ? '-' : '+');
  84                 for (i = SP_FBITS - 1; i >= 0; i--)
  85                         printk("%c", SPMANT(x) & SP_MBIT(i) ? '1' : '0');
  86                 printk("e%d", SPBEXP(x) - SP_EBIAS);
  87                 break;
  88         case IEEE754_CLASS_NORM:
  89                 printk("%c1.", SPSIGN(x) ? '-' : '+');
  90                 for (i = SP_FBITS - 1; i >= 0; i--)
  91                         printk("%c", SPMANT(x) & SP_MBIT(i) ? '1' : '0');
  92                 printk("e%d", SPBEXP(x) - SP_EBIAS);
  93                 break;
  94         default:
  95                 printk("Illegal/Unknown IEEE754 value class");
  96         }
  97         printk("\n");
  98         return x;
  99 }