| 456 | } |
| 457 | |
| 458 | extern "C" __declspec(dllexport) float roundf(float val) |
| 459 | { |
| 460 | if (!_finitef(val)) |
| 461 | { |
| 462 | return val; |
| 463 | } |
| 464 | else if (val >= 0) |
| 465 | { |
| 466 | float result = floorf(val); |
| 467 | if (result - val <= -0.5f) |
| 468 | result += 1.0f; |
| 469 | return result; |
| 470 | } |
| 471 | else |
| 472 | { |
| 473 | float result = floorf(-val); |
| 474 | if (result + val <= -0.5f) |
| 475 | result += 1.0f; |
| 476 | return -result; |
| 477 | } |
| 478 | } |
| 479 | |
| 480 | extern "C" __declspec(dllexport) double round(double val) |
| 481 | { |