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

Commit

Permalink
test/scalbln,scalbn,tanh
Browse files Browse the repository at this point in the history
  • Loading branch information
xushiwei committed Aug 4, 2022
1 parent 9a7c1b6 commit 9bf4042
Show file tree
Hide file tree
Showing 20 changed files with 510 additions and 2 deletions.
24 changes: 22 additions & 2 deletions test/c2go.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,18 @@
"pow",
"remainder",
"remquo",
"round"
"round",
"scalb",
"sin",
"sincos",
"sinh",
"sqrt",
"tan",
"tgamma",
"trunc",
"y0",
"y1",
"yn"
],
"for": [
"acos",
Expand Down Expand Up @@ -122,7 +133,16 @@
"nexttowardl",
"rint",
"rintf",
"rintl"
"rintl",
"scalbln",
"scalblnf",
"scalblnl",
"scalbn",
"scalbnf",
"scalbnl",
"tanh",
"tanhf",
"tanhl"
],
"dir": "cmd/test_$(it)",
"deps": [
Expand Down
1 change: 1 addition & 0 deletions test/cmd/test/scalbln/c2go_header.i.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package scalbln
51 changes: 51 additions & 0 deletions test/cmd/test/scalbln/scalbln.c.i.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package scalbln

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

var _cgos_t_scalbln [27]common.Struct_di_d = [27]common.Struct_di_d{common.Struct_di_d{(*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', 'a', 'n', 'i', 't', 'y', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(1), int32(0), -8.0668483905796808, int64(-2), -2.0167120976449202, float32(0), int32(0)}, common.Struct_di_d{(*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', 'a', 'n', 'i', 't', 'y', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(2), int32(0), 4.3452398493383049, int64(-1), 2.1726199246691524, float32(0), int32(0)}, common.Struct_di_d{(*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', 'a', 'n', 'i', 't', 'y', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(3), int32(0), -8.3814334275552493, int64(0), -8.3814334275552493, float32(0), int32(0)}, common.Struct_di_d{(*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', 'a', 'n', 'i', 't', 'y', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(4), int32(0), -6.5316735819134841, int64(1), -13.063347163826968, float32(0), int32(0)}, common.Struct_di_d{(*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', 'a', 'n', 'i', 't', 'y', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(5), int32(0), 9.2670569669725857, int64(2), 37.068227867890343, float32(0), int32(0)}, common.Struct_di_d{(*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', 'a', 'n', 'i', 't', 'y', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(6), int32(0), 0.66198589809950448, int64(3), 5.2958871847960358, float32(0), int32(0)}, common.Struct_di_d{(*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', 'a', 'n', 'i', 't', 'y', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(7), int32(0), -0.40660392238535531, int64(4), -6.505662758165685, float32(0), int32(0)}, common.Struct_di_d{(*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', 'a', 'n', 'i', 't', 'y', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(8), int32(0), 0.56175974622072411, int64(5), 17.976311879063172, float32(0), int32(0)}, common.Struct_di_d{(*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', 'a', 'n', 'i', 't', 'y', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(9), int32(0), 0.77415229659130369, int64(6), 49.545746981843436, float32(0), int32(0)}, common.Struct_di_d{(*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', 'a', 'n', 'i', 't', 'y', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(10), int32(0), -0.67876370263940244, int64(7), -86.881753937843513, float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(1), int32(0), 0, int64(2147483647), 0, float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(2), int32(0), 0, int64(-2147483647), 0, float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(3), int32(0), -0, int64(2147483647), -0, float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(4), int32(0), float64(libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'})))), int64(0), float64(libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'})))), float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(5), int32(0), float64(libc.X__builtin_inff()), int64(0), float64(libc.X__builtin_inff()), float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(6), int32(0), float64(-libc.X__builtin_inff()), int64(0), float64(-libc.X__builtin_inff()), float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(7), int32(0), 1, int64(0), 1, float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(8), int32(0), 1, int64(1), 2, float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(9), int32(0), 1, int64(-1), 0.5, float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(10), int32(0), 1, int64(2147483647), float64(libc.X__builtin_inff()), float32(0), 0}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(11), int32(0), float64(libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'})))), int64(1), float64(libc.X__builtin_nanf((*int8)(unsafe.Pointer(&[1]int8{'\x00'})))), float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(12), int32(0), float64(libc.X__builtin_inff()), int64(2147483647), float64(libc.X__builtin_inff()), float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(13), int32(0), float64(libc.X__builtin_inff()), int64(-2147483647), float64(libc.X__builtin_inff()), float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(14), int32(0), float64(-libc.X__builtin_inff()), int64(2147483647), float64(-libc.X__builtin_inff()), float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(15), int32(0), 8.9884656743115795e+307, int64(-2097), 4.9406564584124654e-324, float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(16), int32(0), 4.9406564584124654e-324, int64(2097), 8.9884656743115795e+307, float32(0), int32(0)}, common.Struct_di_d{(*int8)(unsafe.Pointer(&[58]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', '/', 's', 'c', 'a', 'l', 'b', 'l', 'n', '.', 'h', '\x00'})), int32(17), int32(0), 1.000244140625, int64(-1074), 4.9406564584124654e-324, float32(0), 0}}

func _cgo_main() int32 {
var y float64
var d float32
var e int32
var i int32
var err int32 = int32(0)
var p *common.Struct_di_d
for i = int32(0); uint64(i) < 27; i++ {
p = (*common.Struct_di_d)(unsafe.Pointer(uintptr(unsafe.Pointer((*common.Struct_di_d)(unsafe.Pointer(&_cgos_t_scalbln)))) + uintptr(i)*48))
if p.R < int32(0) {
continue
}
libc.Fesetround(p.R)
libc.Feclearexcept(int32(0))
y = libc.Scalbln(p.X, int64(p.I))
e = libc.Fetestexcept(0)
if !(common.Checkexceptall(e, p.E, p.R) != 0) {
libc.Printf((*int8)(unsafe.Pointer(&[58]int8{'%', 's', ':', '%', 'd', ':', ' ', 'b', 'a', 'd', ' ', 'f', 'p', ' ', 'e', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n', ':', ' ', '%', 's', ' ', 's', 'c', 'a', 'l', 'b', 'l', 'n', '(', '%', 'a', ',', ' ', '%', 'l', 'l', 'd', ')', '=', '%', 'a', ',', ' ', 'w', 'a', 'n', 't', ' ', '%', 's', '\x00'})), p.File, p.Line, common.Rstr(p.R), p.X, p.I, 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.Ulperr(y, p.Y, p.Dy)
if !(common.Checkcr(float64(y), float64(p.Y), p.R) != 0) {
libc.Printf((*int8)(unsafe.Pointer(&[67]int8{'%', 's', ':', '%', 'd', ':', ' ', '%', 's', ' ', 's', 'c', 'a', 'l', 'b', 'l', 'n', '(', '%', 'a', ',', ' ', '%', 'l', 'l', 'd', ')', ' ', '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), p.X, p.I, p.Y, 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/scalblnf/c2go_header.i.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package scalblnf
Loading

0 comments on commit 9bf4042

Please sign in to comment.