Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/tester/float/softfloat1.c

    rc0f8909 r000494d  
    3434#include <mul.h>
    3535#include <div.h>
    36 #include <comparison.h>
    3736#include <bool.h>
    3837#include "../tester.h"
     
    4645typedef void (* float_op_t)(float, float, float *, float_t *);
    4746typedef void (* double_op_t)(double, double, double *, double_t *);
    48 typedef void (* double_cmp_op_t)(double, double, cmptype_t *, cmptype_t *);
    4947typedef void (* template_t)(void *, unsigned, unsigned, cmptype_t *,
    5048    cmptype_t *);
     
    6866       
    6967        return -a;
    70 }
    71 
    72 static int dcmp(double a, double b)
    73 {
    74         if (a < b)
    75                 return -1;
    76         else if (a > b)
    77                 return 1;
    78 
    79         return 0;
    8068}
    8169
     
    10896        *pic = (cmptype_t) (c * PRECISION);
    10997        *pisc = (cmptype_t) (sc.val * PRECISION);
    110 }
    111 
    112 static void
    113 double_compare_template(void *f, unsigned i, unsigned j, cmptype_t *pis,
    114     cmptype_t *piss)
    115 {
    116         double_cmp_op_t op = (double_cmp_op_t) f;
    117        
    118         op(dop_a[i], dop_b[j], pis, piss);
    11998}
    12099
     
    242221}
    243222
    244 static void
    245 double_cmp_operator(double a, double b, cmptype_t *pis, cmptype_t *piss)
    246 {
    247         *pis = dcmp(a, b);
    248 
    249         double_t sa;
    250         double_t sb;
    251 
    252         sa.val = a;
    253         sb.val = b;
    254 
    255         if (is_double_lt(sa.data, sb.data))
    256                 *piss = -1;
    257         else if (is_double_gt(sa.data, sb.data))
    258                 *piss = 1;
    259         else if (is_double_eq(sa.data, sb.data))
    260                 *piss = 0;
    261         else
    262                 *piss = 42;
    263 }
    264 
    265223const char *test_softfloat1(void)
    266224{
     
    291249                TPRINTF("%s\n", err);
    292250        }
    293         if (!test_template(double_compare_template, double_cmp_operator)) {
    294                 err = "Double comparison failed";
    295                 TPRINTF("%s\n", err);
    296         }
    297251       
    298252        return err;
Note: See TracChangeset for help on using the changeset viewer.