mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 21:21:48 +03:00
38 lines
729 B
D
38 lines
729 B
D
/* REQUIRED_ARGS: -O -inline
|
|
*/
|
|
|
|
// https://issues.dlang.org/show_bug.cgi?id=23076
|
|
|
|
struct S
|
|
{
|
|
int depthLow = 0;
|
|
int depthHigh = 30000;
|
|
|
|
void fun(int* pixels)
|
|
{
|
|
float b = depthLow;
|
|
int depthA = cast(int)(b);
|
|
int depthB = cast(short)(cast(float)depthHigh * cast(float)depthLow);
|
|
pixels[depthA] = depthB;
|
|
}
|
|
}
|
|
|
|
/**********************/
|
|
|
|
float mul3(float a, float b, float t)
|
|
{
|
|
return t * b * a;
|
|
}
|
|
|
|
class A
|
|
{
|
|
ushort depthLow = 0;
|
|
ushort depthHigh = 30000;
|
|
|
|
void fun(short* pixels)
|
|
{
|
|
short depthA = (cast(short)(mul3(depthHigh, depthLow, 0)));
|
|
short depthB = (cast(short)(mul3(depthLow, depthHigh, 0)));
|
|
pixels[depthA] = depthB;
|
|
}
|
|
}
|