Skip to content

Conversation

@ezyang
Copy link
Contributor

@ezyang ezyang commented Aug 1, 2018

This will be needed soon because I want to move Half.h into
ATen/core, and then I cannot have a TH dependency.

I also took the liberty of making the code more strict-aliasing
safe (this is not actually useful, since we will never built Torch
with strict aliasing) by replacing pointer casts between
float and unsigned with a memcpy instead.

Signed-off-by: Edward Z. Yang [email protected]

This will be needed soon because I want to move Half.h into
ATen/core, and then I cannot have a TH dependency.

I also took the liberty of making the code more strict-aliasing
safe (this is not actually useful, since we will never built Torch
with strict aliasing) by replacing pointer casts between
float and unsigned with a memcpy instead.

Signed-off-by: Edward Z. Yang <[email protected]>
Copy link
Contributor

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ezyang has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.


// Reinterpret the result bit pattern as a float
float result_float;
std::memcpy(&result_float, &result_bit, sizeof(result_float));

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

{
// Reinterpret the float as a bit pattern
unsigned x;
std::memcpy(&x, &src, sizeof(x));

This comment was marked as off-topic.

Copy link
Contributor

@cpuhrsch cpuhrsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM aside from minor comment

ezyang added a commit to ezyang/pytorch that referenced this pull request Aug 1, 2018
…10134)

Summary:
This will be needed soon because I want to move Half.h into
ATen/core, and then I cannot have a TH dependency.

I also took the liberty of making the code more strict-aliasing
safe (this is not actually useful, since we will never built Torch
with strict aliasing) by replacing pointer casts between
float and unsigned with a memcpy instead.

Signed-off-by: Edward Z. Yang <[email protected]>
Pull Request resolved: pytorch#10134

Differential Revision: D9121920

fbshipit-source-id: 2ab1012d3df3b4ad39ab6d0c5b26f9779d7f3521
zdevito pushed a commit to zdevito/ATen that referenced this pull request Aug 2, 2018
Summary:
This will be needed soon because I want to move Half.h into
ATen/core, and then I cannot have a TH dependency.

I also took the liberty of making the code more strict-aliasing
safe (this is not actually useful, since we will never built Torch
with strict aliasing) by replacing pointer casts between
float and unsigned with a memcpy instead.

Signed-off-by: Edward Z. Yang <[email protected]>
Pull Request resolved: pytorch/pytorch#10134

Differential Revision: D9121920

Pulled By: ezyang

fbshipit-source-id: 3b1f86a7c5880e8ac1a589a51f0635bb72e1fd40
goodlux pushed a commit to goodlux/pytorch that referenced this pull request Aug 15, 2018
…10134)

Summary:
This will be needed soon because I want to move Half.h into
ATen/core, and then I cannot have a TH dependency.

I also took the liberty of making the code more strict-aliasing
safe (this is not actually useful, since we will never built Torch
with strict aliasing) by replacing pointer casts between
float and unsigned with a memcpy instead.

Signed-off-by: Edward Z. Yang <[email protected]>
Pull Request resolved: pytorch#10134

Differential Revision: D9121920

Pulled By: ezyang

fbshipit-source-id: 3b1f86a7c5880e8ac1a589a51f0635bb72e1fd40
@ezyang ezyang added the merged label Jun 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants