Skip to content
This repository has been archived by the owner on May 18, 2024. It is now read-only.

Commit

Permalink
test/atan,atanh,cbrt,ceil,copysign,erf
Browse files Browse the repository at this point in the history
  • Loading branch information
xushiwei committed Aug 4, 2022
1 parent 0f80908 commit 90504db
Show file tree
Hide file tree
Showing 32 changed files with 860 additions and 8 deletions.
46 changes: 38 additions & 8 deletions test/c2go.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,30 @@
"target": {
"cmds": [
{
"skip": [
"drem",
"dremf",

"acosh",
"acoshf",
"acoshl",
"atan2",
"atan2f",
"atan2l",
"copysignf",
"cos",
"cosf",
"cosl",
"cosh",
"coshf",
"coshl",
"erfc",
"erfcf",
"erfcl",
"frexp",
"frexpf",
"frexpl"
],
"for": [
"acos",
"acosf",
Expand All @@ -12,14 +36,20 @@
"atan",
"atanf",
"atanh",

"acosh",
"acoshf",
"acoshl",
"atan2",
"atan2f",
"atan2l",
"frexpl"
"atanhf",
"atanhl",
"atanl",
"cbrt",
"cbrtf",
"cbrtl",
"ceil",
"ceilf",
"ceill",
"copysign",
"copysignl",
"erf",
"erff",
"erfl"
],
"dir": "cmd/test_$(it)",
"deps": [
Expand Down
51 changes: 51 additions & 0 deletions test/cmd/test/atanhf/atanhf.c.i.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package atanhf

import (
common "github.com/goplus/libc/test/common"
unsafe "unsafe"
libc "github.com/goplus/libc"
testing "testing"
)

var _cgos_t_atanhf [24]common.Struct_f_f = [24]common.Struct_f_f{common.Struct_f_f{(*int8)(unsafe.Pointer(&[56]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'a', 'n', 'i', 't', 'y', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(1), int32(0), float32(-8.0668487548828125), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[56]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'a', 'n', 'i', 't', 'y', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(2), int32(0), float32(4.3452396392822266), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[56]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'a', 'n', 'i', 't', 'y', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(3), int32(0), float32(-8.3814334869384765), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[56]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'a', 'n', 'i', 't', 'y', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(4), int32(0), float32(-6.5316734313964844), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[56]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'a', 'n', 'i', 't', 'y', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(5), int32(0), float32(9.2670574188232421), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[56]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'a', 'n', 'i', 't', 'y', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(6), int32(0), float32(0.66198587417602539), float32(0.79634040594100952), float32(0.19112196564674377), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[56]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'a', 'n', 'i', 't', 'y', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(7), int32(0), float32(-0.40660393238067627), float32(-0.43153572082519531), float32(-0.051809251308441162), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[56]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'a', 'n', 'i', 't', 'y', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(8), int32(0), float32(0.56175976991653442), float32(0.63540065288543701), float32(0.11911056190729141), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[56]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'a', 'n', 'i', 't', 'y', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(9), int32(0), float32(0.77415227890014648), float32(1.0306085348129272), float32(0.17982703447341919), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[56]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'a', 'n', 'i', 't', 'y', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(10), int32(0), float32(-0.67876368761062622), float32(-0.82681792974472046), float32(0.11588983237743378), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(1), int32(0), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(2), int32(0), libc.X__builtin_inff(), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(3), int32(0), -libc.X__builtin_inff(), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(4), int32(0), float32(0), float32(0), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(5), int32(0), float32(-0), float32(-0), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(6), int32(0), float32(1), libc.X__builtin_inff(), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(7), int32(0), float32(-1), -libc.X__builtin_inff(), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(8), int32(0), float32(1.0000152587890625), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(9), int32(0), float32(-1.0000152587890625), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(10), int32(0), float32(1.3552527156068805e-20), float32(1.3552527156068805e-20), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(11), int32(0), float32(7.8886090522101181e-31), float32(7.8886090522101181e-31), float32(0), int32(0)}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(12), int32(0), float32(2.9387358770557188e-39), float32(2.9387358770557188e-39), float32(0), 0}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(13), int32(0), float32(-2.9387358770557188e-39), float32(-2.9387358770557188e-39), float32(0), 0}, common.Struct_f_f{(*int8)(unsafe.Pointer(&[57]int8{'/', 'U', 's', 'e', 'r', 's', '/', 'x', 'u', 's', 'h', 'i', 'w', 'e', 'i', '/', 'w', 'o', 'r', 'k', '/', 'l', 'i', 'b', 'c', '/', 't', 'e', 's', 't', '/', 's', 'r', 'c', '/', 'm', 'a', 't', 'h', '/', 's', 'p', 'e', 'c', 'i', 'a', 'l', '/', 'a', 't', 'a', 'n', 'h', 'f', '.', 'h', '\x00'})), int32(14), int32(0), float32(1.7014118346046923e+38), libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'}))), float32(0), int32(0)}}

func _cgo_main() int32 {
var y float32
var d float32
var e int32
var i int32
var err int32 = int32(0)
var p *common.Struct_f_f
for i = int32(0); uint64(i) < 24; i++ {
p = (*common.Struct_f_f)(unsafe.Pointer(uintptr(unsafe.Pointer((*common.Struct_f_f)(unsafe.Pointer(&_cgos_t_atanhf)))) + uintptr(i)*32))
if p.R < int32(0) {
continue
}
libc.Fesetround(p.R)
libc.Feclearexcept(int32(0))
y = libc.Atanhf(p.X)
e = libc.Fetestexcept(0)
if !(common.Checkexcept(e, p.E, p.R) != 0) {
libc.Printf((*int8)(unsafe.Pointer(&[51]int8{'%', 's', ':', '%', 'd', ':', ' ', 'b', 'a', 'd', ' ', 'f', 'p', ' ', 'e', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n', ':', ' ', '%', 's', ' ', 'a', 't', 'a', 'n', 'h', 'f', '(', '%', 'a', ')', '=', '%', 'a', ',', ' ', 'w', 'a', 'n', 't', ' ', '%', 's', '\x00'})), p.File, p.Line, common.Rstr(p.R), float64(p.X), float64(p.Y), common.Estr(p.E))
libc.Printf((*int8)(unsafe.Pointer(&[9]int8{' ', 'g', 'o', 't', ' ', '%', 's', '\n', '\x00'})), common.Estr(e))
err++
}
d = common.Ulperrf(y, p.Y, p.Dy)
if !(common.Checkulp(d, p.R) != 0) {
libc.Printf((*int8)(unsafe.Pointer(&[59]int8{'%', 's', ':', '%', 'd', ':', ' ', '%', 's', ' ', 'a', 't', 'a', 'n', 'h', 'f', '(', '%', 'a', ')', ' ', 'w', 'a', 'n', 't', ' ', '%', 'a', ' ', 'g', 'o', 't', ' ', '%', 'a', ' ', 'u', 'l', 'p', 'e', 'r', 'r', ' ', '%', '.', '3', 'f', ' ', '=', ' ', '%', 'a', ' ', '+', ' ', '%', 'a', '\n', '\x00'})), p.File, p.Line, common.Rstr(p.R), float64(p.X), float64(p.Y), float64(y), float64(d), float64(d-p.Dy), float64(p.Dy))
err++
}
}
return func() int32 {
if !!(err != 0) {
return 1
} else {
return 0
}
}()
}
func TestMain(t *testing.T) {
if _cgo_ret := _cgo_main(); _cgo_ret != 0 {
t.Fatal("exit status", _cgo_ret)
}
}
1 change: 1 addition & 0 deletions test/cmd/test/atanhf/c2go_header.i.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package atanhf
Loading

0 comments on commit 90504db

Please sign in to comment.