View Issue Details

IDProjectCategoryView StatusLast Update
0030833RunnerWindows (YYC)Public2019-05-20 14:49
ReporterYellowAfterlifeAssigned ToRussell Kay 
PriorityLowSeverityC - GeneralReproducibility100%
Status ClosedResolutionFixed 
PlatformWindowsOSWindows 10 ProOS Version>=1703
Product Version2.2.2 
Target Version2.2.3Fixed in Version2.2.3 
Summary0030833: YYC: Default epsilon is just low enough that setting a built-in f32 var to 0.18 will then fail a ==0.18 check
Description
with (instance_create_depth(0, 0, 0, obj_blank)) {
    x = 0.18;
    if (x == 0.18) show_debug_message("x OK"); else show_debug_message("x not OK");
    z = 0.18;
    if (z == 0.18) show_debug_message("z OK"); else show_debug_message("z not OK");
    math_set_epsilon(0.00001); // VM precision
    x = 0.18;
    if (x == 0.18) show_debug_message("ex OK"); else show_debug_message("ex not OK");
}

prints "x not OK", "z OK", "ex OK"

sbuiltin_x vs default epsilon:
0.18000000715255737
0.000000000100000


(what was the reason for having a different default epsilon value on YYC anyway? All it seems to do is cause people confusion when they attempt to get things to work for the first time)
TagsCompiler, yyc
1.4 Found In
2.x Runtime Found In9.9.1.1426
2.x Runtime Verified In9.9.1.1441

Activities

YellowAfterlife

2019-05-05 16:06

Developer  

a_bug.yyz (19,799 bytes)

Russell Kay

2019-05-15 16:28

Manager   ~0063931

Fixed in gitlab - epsilon on VM and YYC are now the same.