Skip to content

<cmath>: Use ceil/floor/round/etc. intrinsics #1234

@StephanTLavavej

Description

@StephanTLavavej

In VS 2019 16.8 Preview 3, the following intrinsics will be available (MS-internal MSVC-PR-265316):

double __ceil(double);
float __ceilf(float);
double __floor(double);
float __floorf(float);
double __round(double);
float __roundf(float);
double __trunc(double);
float __truncf(float);
double __copysign(double, double);
float __copysignf(float, float);
unsigned int __signbitvalue(double);
unsigned int __signbitvaluef(float);

These are available for all architectures, declared in <intrin0.h>. We should take advantage of them. (We may need to report this to the UCRT too.)

Also tracked by DevCom-987080 (MS-internal VSO-1101527 / AB#1101527) and DevCom-1038270 (MS-internal VSO-1129605 / AB#1129605).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions