mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-01 10:12:27 +00:00
Bring back gc() function
Renaming gc() to _gc() was a mistake since the better thing to do is put it behind the _COSMO_SOURCE macro. We need this change because I haven't wanted to use my amazing garbage collector ever since we renamed it. You now need to define _COSMO_SOURCE yourself when using amalgamation header and cosmocc users need to pass the -mcosmo flag to get the gc() function Some other issues relating to cancelation have been fixed along the way. We're also now putting cosmocc in a folder named `.cosmocc` so it can be more safely excluded by grep --exclude-dir=.cosmocc --exclude-dir=o etc.
This commit is contained in:
parent
6cb0354e19
commit
a4b455185b
280 changed files with 1362 additions and 1407 deletions
|
@ -27,26 +27,26 @@ float _cosf(float) asm("cosf");
|
|||
long double _cosl(long double) asm("cosl");
|
||||
|
||||
TEST(cos, test) {
|
||||
EXPECT_STREQ("1", _gc(xasprintf("%.15g", _cos(0.))));
|
||||
EXPECT_STREQ("1", _gc(xasprintf("%.15g", _cos(-0.))));
|
||||
EXPECT_STREQ("0.995004165278026", _gc(xasprintf("%.15g", _cos(.1))));
|
||||
EXPECT_STREQ("0.995004165278026", _gc(xasprintf("%.15g", _cos(-.1))));
|
||||
EXPECT_STREQ("0.877582561890373", _gc(xasprintf("%.15g", _cos(.5))));
|
||||
EXPECT_STREQ("0.877582561890373", _gc(xasprintf("%.15g", _cos(-.5))));
|
||||
EXPECT_STREQ("0.54030230586814", _gc(xasprintf("%.15g", _cos(1.))));
|
||||
EXPECT_STREQ("0.54030230586814", _gc(xasprintf("%.15g", _cos(-1.))));
|
||||
EXPECT_STREQ("0.0707372016677029", _gc(xasprintf("%.15g", _cos(1.5))));
|
||||
EXPECT_STREQ("0.0707372016677029", _gc(xasprintf("%.15g", _cos(-1.5))));
|
||||
EXPECT_STREQ("-0.416146836547142", _gc(xasprintf("%.15g", _cos(2.))));
|
||||
EXPECT_STREQ("1", gc(xasprintf("%.15g", _cos(0.))));
|
||||
EXPECT_STREQ("1", gc(xasprintf("%.15g", _cos(-0.))));
|
||||
EXPECT_STREQ("0.995004165278026", gc(xasprintf("%.15g", _cos(.1))));
|
||||
EXPECT_STREQ("0.995004165278026", gc(xasprintf("%.15g", _cos(-.1))));
|
||||
EXPECT_STREQ("0.877582561890373", gc(xasprintf("%.15g", _cos(.5))));
|
||||
EXPECT_STREQ("0.877582561890373", gc(xasprintf("%.15g", _cos(-.5))));
|
||||
EXPECT_STREQ("0.54030230586814", gc(xasprintf("%.15g", _cos(1.))));
|
||||
EXPECT_STREQ("0.54030230586814", gc(xasprintf("%.15g", _cos(-1.))));
|
||||
EXPECT_STREQ("0.0707372016677029", gc(xasprintf("%.15g", _cos(1.5))));
|
||||
EXPECT_STREQ("0.0707372016677029", gc(xasprintf("%.15g", _cos(-1.5))));
|
||||
EXPECT_STREQ("-0.416146836547142", gc(xasprintf("%.15g", _cos(2.))));
|
||||
EXPECT_TRUE(isnan(_cos(NAN)));
|
||||
EXPECT_TRUE(isnan(_cos(-NAN)));
|
||||
EXPECT_TRUE(isnan(_cos(INFINITY)));
|
||||
EXPECT_TRUE(isnan(_cos(-INFINITY)));
|
||||
EXPECT_STREQ("1", _gc(xasprintf("%.15g", _cos(__DBL_MIN__))));
|
||||
EXPECT_STREQ("-0.99998768942656", _gc(xasprintf("%.15g", _cos(__DBL_MAX__))));
|
||||
EXPECT_STREQ("1", gc(xasprintf("%.15g", _cos(__DBL_MIN__))));
|
||||
EXPECT_STREQ("-0.99998768942656", gc(xasprintf("%.15g", _cos(__DBL_MAX__))));
|
||||
EXPECT_STREQ("0.54030230586814",
|
||||
_gc(xasprintf("%.15g", _cos(-1.0000000000000002))));
|
||||
EXPECT_STREQ("1", _gc(xasprintf("%.15g", _cos(-2.1073424255447e-08))));
|
||||
gc(xasprintf("%.15g", _cos(-1.0000000000000002))));
|
||||
EXPECT_STREQ("1", gc(xasprintf("%.15g", _cos(-2.1073424255447e-08))));
|
||||
}
|
||||
|
||||
BENCH(cos, bench) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue