- // Copy floats into 32 bits (casting will alter the representation)
- unsigned a; memcpy(&a, &opa, 8);
- unsigned b; memcpy(&b, &opb, 8);
-
-
- char buffer[BUFSIZ];
- int len = sprintf(buffer, "%08x\n%08x\n%03x\n",a, b, op); // This is... truly awful... why am I doing this
- //fprintf(stderr, "Writing:\n%s", buffer);
-
- assert(len == 9+9+4);
- assert(write(g_fpu_socket[1], buffer, len) == len);
- //fprintf(stderr, "Wrote!\n");
-
- len = read(g_fpu_socket[1], buffer, sizeof(buffer));
- assert(len == 9);
- buffer[len] = '\0';
-
-
- unsigned result = 0x00000000;