• Matthew Dempsky's avatar
    math: fix bad shift in Expm1 · 7832c82b
    Matthew Dempsky authored
    Noticed by cmd/vet.
    
    Expected values array produced by Python instead of Keisan because:
    
    1) Keisan's website calculator is painfully difficult to copy/paste
    values into and out of, and
    
    2) after tediously computing e^(vf[i] * 10) - 1 via Keisan I
    discovered that Keisan computing vf[i]*10 in a higher precision was
    giving substantially different output values.
    
    Also, testing uses "close" instead of "veryclose" because 386's
    assembly implementation produces values for some of the test cases
    that fail "veryclose".  Curiously, Expm1(vf[i]*10) is identical to
    Exp(vf[i]*10)-1 on 386, whereas with the portable implementation
    they're only "veryclose".
    
    Investigating these questions is left to someone else.  I just wanted
    to fix the cmd/vet warning.
    
    Fixes #13101.
    
    Change-Id: Ica8f6c267d01aa4cc31f53593e95812746942fbc
    Reviewed-on: https://go-review.googlesource.com/16505
    Run-TryBot: Matthew Dempsky <mdempsky@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarKlaus Post <klauspost@gmail.com>
    Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
    7832c82b
all_test.go 66.4 KB