1 1.10 martin /* $NetBSD: t_ceil.c,v 1.10 2014/03/03 10:39:08 martin Exp $ */ 2 1.1 jruoho 3 1.1 jruoho /*- 4 1.1 jruoho * Copyright (c) 2011 The NetBSD Foundation, Inc. 5 1.1 jruoho * All rights reserved. 6 1.1 jruoho * 7 1.1 jruoho * This code is derived from software contributed to The NetBSD Foundation 8 1.1 jruoho * by Jukka Ruohonen. 9 1.1 jruoho * 10 1.1 jruoho * Redistribution and use in source and binary forms, with or without 11 1.1 jruoho * modification, are permitted provided that the following conditions 12 1.1 jruoho * are met: 13 1.1 jruoho * 1. Redistributions of source code must retain the above copyright 14 1.1 jruoho * notice, this list of conditions and the following disclaimer. 15 1.1 jruoho * 2. Redistributions in binary form must reproduce the above copyright 16 1.1 jruoho * notice, this list of conditions and the following disclaimer in the 17 1.1 jruoho * documentation and/or other materials provided with the distribution. 18 1.1 jruoho * 19 1.1 jruoho * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 20 1.1 jruoho * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 21 1.1 jruoho * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22 1.1 jruoho * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 23 1.1 jruoho * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 1.1 jruoho * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 1.1 jruoho * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 1.1 jruoho * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 1.1 jruoho * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 1.1 jruoho * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 1.1 jruoho * POSSIBILITY OF SUCH DAMAGE. 30 1.1 jruoho */ 31 1.1 jruoho #include <sys/cdefs.h> 32 1.10 martin __RCSID("$NetBSD: t_ceil.c,v 1.10 2014/03/03 10:39:08 martin Exp $"); 33 1.1 jruoho 34 1.5 jruoho #include <atf-c.h> 35 1.1 jruoho #include <math.h> 36 1.1 jruoho #include <limits.h> 37 1.5 jruoho #include <stdio.h> 38 1.1 jruoho 39 1.5 jruoho #ifdef __vax__ 40 1.5 jruoho #define SMALL_NUM 1.0e-38 41 1.5 jruoho #else 42 1.5 jruoho #define SMALL_NUM 1.0e-40 43 1.5 jruoho #endif 44 1.1 jruoho 45 1.7 jruoho /* 46 1.7 jruoho * ceil(3) 47 1.7 jruoho */ 48 1.5 jruoho ATF_TC(ceil_basic); 49 1.5 jruoho ATF_TC_HEAD(ceil_basic, tc) 50 1.1 jruoho { 51 1.1 jruoho atf_tc_set_md_var(tc, "descr", "A basic test of ceil(3)"); 52 1.1 jruoho } 53 1.1 jruoho 54 1.5 jruoho ATF_TC_BODY(ceil_basic, tc) 55 1.5 jruoho { 56 1.5 jruoho const double x = 0.999999999999999; 57 1.5 jruoho const double y = 0.000000000000001; 58 1.5 jruoho 59 1.5 jruoho ATF_CHECK(fabs(ceil(x) - 1) < SMALL_NUM); 60 1.5 jruoho ATF_CHECK(fabs(ceil(y) - 1) < SMALL_NUM); 61 1.5 jruoho } 62 1.5 jruoho 63 1.7 jruoho ATF_TC(ceil_nan); 64 1.7 jruoho ATF_TC_HEAD(ceil_nan, tc) 65 1.7 jruoho { 66 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test ceil(NaN) == NaN"); 67 1.7 jruoho } 68 1.7 jruoho 69 1.7 jruoho ATF_TC_BODY(ceil_nan, tc) 70 1.7 jruoho { 71 1.7 jruoho const double x = 0.0L / 0.0L; 72 1.7 jruoho 73 1.7 jruoho ATF_CHECK(isnan(ceil(x)) != 0); 74 1.7 jruoho } 75 1.7 jruoho 76 1.7 jruoho ATF_TC(ceil_inf_neg); 77 1.7 jruoho ATF_TC_HEAD(ceil_inf_neg, tc) 78 1.7 jruoho { 79 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test ceil(-Inf) == -Inf"); 80 1.7 jruoho } 81 1.7 jruoho 82 1.7 jruoho ATF_TC_BODY(ceil_inf_neg, tc) 83 1.7 jruoho { 84 1.7 jruoho const double x = -1.0L / 0.0L; 85 1.7 jruoho double y = ceil(x); 86 1.7 jruoho 87 1.7 jruoho if (isinf(y) == 0 || signbit(y) == 0) 88 1.7 jruoho atf_tc_fail_nonfatal("ceil(-Inf) != -Inf"); 89 1.7 jruoho } 90 1.7 jruoho 91 1.7 jruoho ATF_TC(ceil_inf_pos); 92 1.7 jruoho ATF_TC_HEAD(ceil_inf_pos, tc) 93 1.7 jruoho { 94 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test ceil(+Inf) == +Inf"); 95 1.7 jruoho } 96 1.7 jruoho 97 1.7 jruoho ATF_TC_BODY(ceil_inf_pos, tc) 98 1.7 jruoho { 99 1.7 jruoho const double x = 1.0L / 0.0L; 100 1.7 jruoho double y = ceil(x); 101 1.7 jruoho 102 1.7 jruoho if (isinf(y) == 0 || signbit(y) != 0) 103 1.7 jruoho atf_tc_fail_nonfatal("ceil(+Inf) != +Inf"); 104 1.7 jruoho } 105 1.7 jruoho 106 1.7 jruoho ATF_TC(ceil_zero_neg); 107 1.7 jruoho ATF_TC_HEAD(ceil_zero_neg, tc) 108 1.7 jruoho { 109 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test ceil(-0.0) == -0.0"); 110 1.7 jruoho } 111 1.7 jruoho 112 1.7 jruoho ATF_TC_BODY(ceil_zero_neg, tc) 113 1.7 jruoho { 114 1.7 jruoho const double x = -0.0L; 115 1.7 jruoho double y = ceil(x); 116 1.7 jruoho 117 1.7 jruoho if (fabs(y) > 0.0 || signbit(y) == 0) 118 1.7 jruoho atf_tc_fail_nonfatal("ceil(-0.0) != -0.0"); 119 1.7 jruoho } 120 1.7 jruoho 121 1.7 jruoho ATF_TC(ceil_zero_pos); 122 1.7 jruoho ATF_TC_HEAD(ceil_zero_pos, tc) 123 1.7 jruoho { 124 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test ceil(+0.0) == +0.0"); 125 1.7 jruoho } 126 1.7 jruoho 127 1.7 jruoho ATF_TC_BODY(ceil_zero_pos, tc) 128 1.7 jruoho { 129 1.7 jruoho const double x = 0.0L; 130 1.7 jruoho double y = ceil(x); 131 1.7 jruoho 132 1.7 jruoho if (fabs(y) > 0.0 || signbit(y) != 0) 133 1.7 jruoho atf_tc_fail_nonfatal("ceil(+0.0) != +0.0"); 134 1.7 jruoho } 135 1.7 jruoho 136 1.7 jruoho /* 137 1.7 jruoho * ceilf(3) 138 1.7 jruoho */ 139 1.5 jruoho ATF_TC(ceilf_basic); 140 1.5 jruoho ATF_TC_HEAD(ceilf_basic, tc) 141 1.5 jruoho { 142 1.5 jruoho atf_tc_set_md_var(tc, "descr", "A basic test of ceilf(3)"); 143 1.5 jruoho } 144 1.5 jruoho 145 1.5 jruoho ATF_TC_BODY(ceilf_basic, tc) 146 1.5 jruoho { 147 1.5 jruoho const float x = 0.9999999; 148 1.5 jruoho const float y = 0.0000001; 149 1.5 jruoho 150 1.5 jruoho ATF_CHECK(fabsf(ceilf(x) - 1) < SMALL_NUM); 151 1.5 jruoho ATF_CHECK(fabsf(ceilf(y) - 1) < SMALL_NUM); 152 1.5 jruoho } 153 1.5 jruoho 154 1.7 jruoho ATF_TC(ceilf_nan); 155 1.7 jruoho ATF_TC_HEAD(ceilf_nan, tc) 156 1.7 jruoho { 157 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test ceilf(NaN) == NaN"); 158 1.7 jruoho } 159 1.7 jruoho 160 1.7 jruoho ATF_TC_BODY(ceilf_nan, tc) 161 1.7 jruoho { 162 1.7 jruoho const float x = 0.0L / 0.0L; 163 1.7 jruoho 164 1.7 jruoho ATF_CHECK(isnan(ceilf(x)) != 0); 165 1.7 jruoho } 166 1.7 jruoho 167 1.7 jruoho ATF_TC(ceilf_inf_neg); 168 1.7 jruoho ATF_TC_HEAD(ceilf_inf_neg, tc) 169 1.7 jruoho { 170 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test ceilf(-Inf) == -Inf"); 171 1.7 jruoho } 172 1.7 jruoho 173 1.7 jruoho ATF_TC_BODY(ceilf_inf_neg, tc) 174 1.7 jruoho { 175 1.7 jruoho const float x = -1.0L / 0.0L; 176 1.7 jruoho float y = ceilf(x); 177 1.7 jruoho 178 1.7 jruoho if (isinf(y) == 0 || signbit(y) == 0) 179 1.7 jruoho atf_tc_fail_nonfatal("ceilf(-Inf) != -Inf"); 180 1.7 jruoho } 181 1.7 jruoho 182 1.7 jruoho ATF_TC(ceilf_inf_pos); 183 1.7 jruoho ATF_TC_HEAD(ceilf_inf_pos, tc) 184 1.7 jruoho { 185 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test ceilf(+Inf) == +Inf"); 186 1.7 jruoho } 187 1.7 jruoho 188 1.7 jruoho ATF_TC_BODY(ceilf_inf_pos, tc) 189 1.7 jruoho { 190 1.7 jruoho const float x = 1.0L / 0.0L; 191 1.7 jruoho float y = ceilf(x); 192 1.7 jruoho 193 1.7 jruoho if (isinf(y) == 0 || signbit(y) != 0) 194 1.7 jruoho atf_tc_fail_nonfatal("ceilf(+Inf) != +Inf"); 195 1.7 jruoho } 196 1.7 jruoho 197 1.7 jruoho ATF_TC(ceilf_zero_neg); 198 1.7 jruoho ATF_TC_HEAD(ceilf_zero_neg, tc) 199 1.7 jruoho { 200 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test ceilf(-0.0) == -0.0"); 201 1.7 jruoho } 202 1.7 jruoho 203 1.7 jruoho ATF_TC_BODY(ceilf_zero_neg, tc) 204 1.7 jruoho { 205 1.7 jruoho const float x = -0.0L; 206 1.7 jruoho float y = ceilf(x); 207 1.7 jruoho 208 1.7 jruoho if (fabsf(y) > 0.0 || signbit(y) == 0) 209 1.7 jruoho atf_tc_fail_nonfatal("ceilf(-0.0) != -0.0"); 210 1.7 jruoho } 211 1.7 jruoho 212 1.7 jruoho ATF_TC(ceilf_zero_pos); 213 1.7 jruoho ATF_TC_HEAD(ceilf_zero_pos, tc) 214 1.7 jruoho { 215 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test ceilf(+0.0) == +0.0"); 216 1.7 jruoho } 217 1.7 jruoho 218 1.7 jruoho ATF_TC_BODY(ceilf_zero_pos, tc) 219 1.7 jruoho { 220 1.7 jruoho const float x = 0.0L; 221 1.7 jruoho float y = ceilf(x); 222 1.7 jruoho 223 1.7 jruoho if (fabsf(y) > 0.0 || signbit(y) != 0) 224 1.7 jruoho atf_tc_fail_nonfatal("ceilf(+0.0) != +0.0"); 225 1.7 jruoho } 226 1.7 jruoho 227 1.7 jruoho /* 228 1.8 joerg * ceill(3) 229 1.8 joerg */ 230 1.8 joerg ATF_TC(ceill_basic); 231 1.8 joerg ATF_TC_HEAD(ceill_basic, tc) 232 1.8 joerg { 233 1.8 joerg atf_tc_set_md_var(tc, "descr", "A basic test of ceill(3)"); 234 1.8 joerg } 235 1.8 joerg 236 1.8 joerg ATF_TC_BODY(ceill_basic, tc) 237 1.8 joerg { 238 1.8 joerg const long double x = 0.9999999; 239 1.8 joerg const long double y = 0.0000001; 240 1.8 joerg 241 1.8 joerg ATF_CHECK(fabsl(ceill(x) - 1) < SMALL_NUM); 242 1.8 joerg ATF_CHECK(fabsl(ceill(y) - 1) < SMALL_NUM); 243 1.8 joerg } 244 1.8 joerg 245 1.8 joerg ATF_TC(ceill_nan); 246 1.8 joerg ATF_TC_HEAD(ceill_nan, tc) 247 1.8 joerg { 248 1.8 joerg atf_tc_set_md_var(tc, "descr", "Test ceill(NaN) == NaN"); 249 1.8 joerg } 250 1.8 joerg 251 1.8 joerg ATF_TC_BODY(ceill_nan, tc) 252 1.8 joerg { 253 1.8 joerg const long double x = 0.0L / 0.0L; 254 1.8 joerg 255 1.8 joerg ATF_CHECK(isnan(ceill(x)) != 0); 256 1.8 joerg } 257 1.8 joerg 258 1.8 joerg ATF_TC(ceill_inf_neg); 259 1.8 joerg ATF_TC_HEAD(ceill_inf_neg, tc) 260 1.8 joerg { 261 1.8 joerg atf_tc_set_md_var(tc, "descr", "Test ceill(-Inf) == -Inf"); 262 1.8 joerg } 263 1.8 joerg 264 1.8 joerg ATF_TC_BODY(ceill_inf_neg, tc) 265 1.8 joerg { 266 1.8 joerg const long double x = -1.0L / 0.0L; 267 1.8 joerg long double y = ceill(x); 268 1.8 joerg 269 1.8 joerg if (isinf(y) == 0 || signbit(y) == 0) 270 1.8 joerg atf_tc_fail_nonfatal("ceill(-Inf) != -Inf"); 271 1.8 joerg } 272 1.8 joerg 273 1.8 joerg ATF_TC(ceill_inf_pos); 274 1.8 joerg ATF_TC_HEAD(ceill_inf_pos, tc) 275 1.8 joerg { 276 1.8 joerg atf_tc_set_md_var(tc, "descr", "Test ceill(+Inf) == +Inf"); 277 1.8 joerg } 278 1.8 joerg 279 1.8 joerg ATF_TC_BODY(ceill_inf_pos, tc) 280 1.8 joerg { 281 1.8 joerg const long double x = 1.0L / 0.0L; 282 1.8 joerg long double y = ceill(x); 283 1.8 joerg 284 1.8 joerg if (isinf(y) == 0 || signbit(y) != 0) 285 1.8 joerg atf_tc_fail_nonfatal("ceill(+Inf) != +Inf"); 286 1.8 joerg } 287 1.8 joerg 288 1.8 joerg ATF_TC(ceill_zero_neg); 289 1.8 joerg ATF_TC_HEAD(ceill_zero_neg, tc) 290 1.8 joerg { 291 1.8 joerg atf_tc_set_md_var(tc, "descr", "Test ceill(-0.0) == -0.0"); 292 1.8 joerg } 293 1.8 joerg 294 1.8 joerg ATF_TC_BODY(ceill_zero_neg, tc) 295 1.8 joerg { 296 1.8 joerg const long double x = -0.0L; 297 1.8 joerg long double y = ceill(x); 298 1.8 joerg 299 1.8 joerg if (fabsl(y) > 0.0 || signbit(y) == 0) 300 1.8 joerg atf_tc_fail_nonfatal("ceill(-0.0) != -0.0"); 301 1.8 joerg } 302 1.8 joerg 303 1.8 joerg ATF_TC(ceill_zero_pos); 304 1.8 joerg ATF_TC_HEAD(ceill_zero_pos, tc) 305 1.8 joerg { 306 1.8 joerg atf_tc_set_md_var(tc, "descr", "Test ceill(+0.0) == +0.0"); 307 1.8 joerg } 308 1.8 joerg 309 1.8 joerg ATF_TC_BODY(ceill_zero_pos, tc) 310 1.8 joerg { 311 1.8 joerg const long double x = 0.0L; 312 1.8 joerg long double y = ceill(x); 313 1.8 joerg 314 1.8 joerg if (fabsl(y) > 0.0 || signbit(y) != 0) 315 1.8 joerg atf_tc_fail_nonfatal("ceill(+0.0) != +0.0"); 316 1.8 joerg } 317 1.8 joerg 318 1.8 joerg /* 319 1.7 jruoho * floor(3) 320 1.7 jruoho */ 321 1.5 jruoho ATF_TC(floor_basic); 322 1.5 jruoho ATF_TC_HEAD(floor_basic, tc) 323 1.5 jruoho { 324 1.5 jruoho atf_tc_set_md_var(tc, "descr", "A basic test of floor(3)"); 325 1.5 jruoho } 326 1.4 mrg 327 1.5 jruoho ATF_TC_BODY(floor_basic, tc) 328 1.1 jruoho { 329 1.5 jruoho const double x = 0.999999999999999; 330 1.5 jruoho const double y = 0.000000000000001; 331 1.1 jruoho 332 1.5 jruoho ATF_CHECK(floor(x) < SMALL_NUM); 333 1.5 jruoho ATF_CHECK(floor(y) < SMALL_NUM); 334 1.5 jruoho } 335 1.1 jruoho 336 1.7 jruoho ATF_TC(floor_nan); 337 1.7 jruoho ATF_TC_HEAD(floor_nan, tc) 338 1.7 jruoho { 339 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test floor(NaN) == NaN"); 340 1.7 jruoho } 341 1.7 jruoho 342 1.7 jruoho ATF_TC_BODY(floor_nan, tc) 343 1.7 jruoho { 344 1.7 jruoho const double x = 0.0L / 0.0L; 345 1.7 jruoho 346 1.7 jruoho ATF_CHECK(isnan(floor(x)) != 0); 347 1.7 jruoho } 348 1.7 jruoho 349 1.7 jruoho ATF_TC(floor_inf_neg); 350 1.7 jruoho ATF_TC_HEAD(floor_inf_neg, tc) 351 1.7 jruoho { 352 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test floor(-Inf) == -Inf"); 353 1.7 jruoho } 354 1.7 jruoho 355 1.7 jruoho ATF_TC_BODY(floor_inf_neg, tc) 356 1.7 jruoho { 357 1.7 jruoho const double x = -1.0L / 0.0L; 358 1.7 jruoho double y = floor(x); 359 1.7 jruoho 360 1.7 jruoho if (isinf(y) == 0 || signbit(y) == 0) 361 1.7 jruoho atf_tc_fail_nonfatal("floor(-Inf) != -Inf"); 362 1.7 jruoho } 363 1.7 jruoho 364 1.7 jruoho ATF_TC(floor_inf_pos); 365 1.7 jruoho ATF_TC_HEAD(floor_inf_pos, tc) 366 1.7 jruoho { 367 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test floor(+Inf) == +Inf"); 368 1.7 jruoho } 369 1.7 jruoho 370 1.7 jruoho ATF_TC_BODY(floor_inf_pos, tc) 371 1.7 jruoho { 372 1.7 jruoho const double x = 1.0L / 0.0L; 373 1.7 jruoho double y = floor(x); 374 1.7 jruoho 375 1.7 jruoho if (isinf(y) == 0 || signbit(y) != 0) 376 1.7 jruoho atf_tc_fail_nonfatal("floor(+Inf) != +Inf"); 377 1.7 jruoho } 378 1.7 jruoho 379 1.7 jruoho ATF_TC(floor_zero_neg); 380 1.7 jruoho ATF_TC_HEAD(floor_zero_neg, tc) 381 1.7 jruoho { 382 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test floor(-0.0) == -0.0"); 383 1.7 jruoho } 384 1.7 jruoho 385 1.7 jruoho ATF_TC_BODY(floor_zero_neg, tc) 386 1.7 jruoho { 387 1.7 jruoho const double x = -0.0L; 388 1.7 jruoho double y = floor(x); 389 1.7 jruoho 390 1.7 jruoho if (fabs(y) > 0.0 || signbit(y) == 0) 391 1.7 jruoho atf_tc_fail_nonfatal("floor(-0.0) != -0.0"); 392 1.7 jruoho } 393 1.7 jruoho 394 1.7 jruoho ATF_TC(floor_zero_pos); 395 1.7 jruoho ATF_TC_HEAD(floor_zero_pos, tc) 396 1.7 jruoho { 397 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test floor(+0.0) == +0.0"); 398 1.7 jruoho } 399 1.7 jruoho 400 1.7 jruoho ATF_TC_BODY(floor_zero_pos, tc) 401 1.7 jruoho { 402 1.7 jruoho const double x = 0.0L; 403 1.7 jruoho double y = floor(x); 404 1.7 jruoho 405 1.7 jruoho if (fabs(y) > 0.0 || signbit(y) != 0) 406 1.7 jruoho atf_tc_fail_nonfatal("floor(+0.0) != +0.0"); 407 1.7 jruoho } 408 1.7 jruoho 409 1.7 jruoho /* 410 1.7 jruoho * floorf(3) 411 1.7 jruoho */ 412 1.5 jruoho ATF_TC(floorf_basic); 413 1.5 jruoho ATF_TC_HEAD(floorf_basic, tc) 414 1.5 jruoho { 415 1.5 jruoho atf_tc_set_md_var(tc, "descr", "A basic test of floorf(3)"); 416 1.5 jruoho } 417 1.1 jruoho 418 1.5 jruoho ATF_TC_BODY(floorf_basic, tc) 419 1.5 jruoho { 420 1.5 jruoho const float x = 0.9999999; 421 1.5 jruoho const float y = 0.0000001; 422 1.5 jruoho 423 1.5 jruoho ATF_CHECK(floorf(x) < SMALL_NUM); 424 1.5 jruoho ATF_CHECK(floorf(y) < SMALL_NUM); 425 1.1 jruoho } 426 1.1 jruoho 427 1.7 jruoho ATF_TC(floorf_nan); 428 1.7 jruoho ATF_TC_HEAD(floorf_nan, tc) 429 1.7 jruoho { 430 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test floorf(NaN) == NaN"); 431 1.7 jruoho } 432 1.7 jruoho 433 1.7 jruoho ATF_TC_BODY(floorf_nan, tc) 434 1.7 jruoho { 435 1.7 jruoho const float x = 0.0L / 0.0L; 436 1.7 jruoho 437 1.7 jruoho ATF_CHECK(isnan(floorf(x)) != 0); 438 1.7 jruoho } 439 1.7 jruoho 440 1.7 jruoho ATF_TC(floorf_inf_neg); 441 1.7 jruoho ATF_TC_HEAD(floorf_inf_neg, tc) 442 1.7 jruoho { 443 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test floorf(-Inf) == -Inf"); 444 1.7 jruoho } 445 1.7 jruoho 446 1.7 jruoho ATF_TC_BODY(floorf_inf_neg, tc) 447 1.7 jruoho { 448 1.7 jruoho const float x = -1.0L / 0.0L; 449 1.7 jruoho float y = floorf(x); 450 1.7 jruoho 451 1.7 jruoho if (isinf(y) == 0 || signbit(y) == 0) 452 1.7 jruoho atf_tc_fail_nonfatal("floorf(-Inf) != -Inf"); 453 1.7 jruoho } 454 1.7 jruoho 455 1.7 jruoho ATF_TC(floorf_inf_pos); 456 1.7 jruoho ATF_TC_HEAD(floorf_inf_pos, tc) 457 1.7 jruoho { 458 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test floorf(+Inf) == +Inf"); 459 1.7 jruoho } 460 1.7 jruoho 461 1.7 jruoho ATF_TC_BODY(floorf_inf_pos, tc) 462 1.7 jruoho { 463 1.7 jruoho const float x = 1.0L / 0.0L; 464 1.7 jruoho float y = floorf(x); 465 1.7 jruoho 466 1.7 jruoho if (isinf(y) == 0 || signbit(y) != 0) 467 1.7 jruoho atf_tc_fail_nonfatal("floorf(+Inf) != +Inf"); 468 1.7 jruoho } 469 1.7 jruoho 470 1.7 jruoho ATF_TC(floorf_zero_neg); 471 1.7 jruoho ATF_TC_HEAD(floorf_zero_neg, tc) 472 1.7 jruoho { 473 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test floorf(-0.0) == -0.0"); 474 1.7 jruoho } 475 1.7 jruoho 476 1.7 jruoho ATF_TC_BODY(floorf_zero_neg, tc) 477 1.7 jruoho { 478 1.7 jruoho const float x = -0.0L; 479 1.7 jruoho float y = floorf(x); 480 1.7 jruoho 481 1.7 jruoho if (fabsf(y) > 0.0 || signbit(y) == 0) 482 1.7 jruoho atf_tc_fail_nonfatal("floorf(-0.0) != -0.0"); 483 1.7 jruoho } 484 1.7 jruoho 485 1.7 jruoho ATF_TC(floorf_zero_pos); 486 1.7 jruoho ATF_TC_HEAD(floorf_zero_pos, tc) 487 1.7 jruoho { 488 1.7 jruoho atf_tc_set_md_var(tc, "descr", "Test floorf(+0.0) == +0.0"); 489 1.7 jruoho } 490 1.7 jruoho 491 1.7 jruoho ATF_TC_BODY(floorf_zero_pos, tc) 492 1.7 jruoho { 493 1.7 jruoho const float x = 0.0L; 494 1.7 jruoho float y = floorf(x); 495 1.7 jruoho 496 1.7 jruoho if (fabsf(y) > 0.0 || signbit(y) != 0) 497 1.7 jruoho atf_tc_fail_nonfatal("floorf(+0.0) != +0.0"); 498 1.7 jruoho } 499 1.7 jruoho 500 1.8 joerg /* 501 1.8 joerg * floorl(3) 502 1.8 joerg */ 503 1.8 joerg ATF_TC(floorl_basic); 504 1.8 joerg ATF_TC_HEAD(floorl_basic, tc) 505 1.8 joerg { 506 1.8 joerg atf_tc_set_md_var(tc, "descr", "A basic test of floorl(3)"); 507 1.8 joerg } 508 1.8 joerg 509 1.8 joerg ATF_TC_BODY(floorl_basic, tc) 510 1.8 joerg { 511 1.8 joerg const long double x = 0.9999999; 512 1.8 joerg const long double y = 0.0000001; 513 1.8 joerg 514 1.8 joerg ATF_CHECK(floorl(x) < SMALL_NUM); 515 1.8 joerg ATF_CHECK(floorl(y) < SMALL_NUM); 516 1.8 joerg } 517 1.8 joerg 518 1.8 joerg ATF_TC(floorl_nan); 519 1.8 joerg ATF_TC_HEAD(floorl_nan, tc) 520 1.8 joerg { 521 1.8 joerg atf_tc_set_md_var(tc, "descr", "Test floorl(NaN) == NaN"); 522 1.8 joerg } 523 1.8 joerg 524 1.8 joerg ATF_TC_BODY(floorl_nan, tc) 525 1.8 joerg { 526 1.8 joerg const long double x = 0.0L / 0.0L; 527 1.8 joerg 528 1.8 joerg ATF_CHECK(isnan(floorl(x)) != 0); 529 1.8 joerg } 530 1.8 joerg 531 1.8 joerg ATF_TC(floorl_inf_neg); 532 1.8 joerg ATF_TC_HEAD(floorl_inf_neg, tc) 533 1.8 joerg { 534 1.8 joerg atf_tc_set_md_var(tc, "descr", "Test floorl(-Inf) == -Inf"); 535 1.8 joerg } 536 1.8 joerg 537 1.8 joerg ATF_TC_BODY(floorl_inf_neg, tc) 538 1.8 joerg { 539 1.8 joerg const long double x = -1.0L / 0.0L; 540 1.8 joerg long double y = floorl(x); 541 1.8 joerg 542 1.8 joerg if (isinf(y) == 0 || signbit(y) == 0) 543 1.8 joerg atf_tc_fail_nonfatal("floorl(-Inf) != -Inf"); 544 1.8 joerg } 545 1.8 joerg 546 1.8 joerg ATF_TC(floorl_inf_pos); 547 1.8 joerg ATF_TC_HEAD(floorl_inf_pos, tc) 548 1.8 joerg { 549 1.8 joerg atf_tc_set_md_var(tc, "descr", "Test floorl(+Inf) == +Inf"); 550 1.8 joerg } 551 1.8 joerg 552 1.8 joerg ATF_TC_BODY(floorl_inf_pos, tc) 553 1.8 joerg { 554 1.8 joerg const long double x = 1.0L / 0.0L; 555 1.8 joerg long double y = floorl(x); 556 1.8 joerg 557 1.8 joerg if (isinf(y) == 0 || signbit(y) != 0) 558 1.8 joerg atf_tc_fail_nonfatal("floorl(+Inf) != +Inf"); 559 1.8 joerg } 560 1.8 joerg 561 1.8 joerg ATF_TC(floorl_zero_neg); 562 1.8 joerg ATF_TC_HEAD(floorl_zero_neg, tc) 563 1.8 joerg { 564 1.8 joerg atf_tc_set_md_var(tc, "descr", "Test floorl(-0.0) == -0.0"); 565 1.8 joerg } 566 1.8 joerg 567 1.8 joerg ATF_TC_BODY(floorl_zero_neg, tc) 568 1.8 joerg { 569 1.8 joerg const long double x = -0.0L; 570 1.8 joerg long double y = floorl(x); 571 1.8 joerg 572 1.8 joerg if (fabsl(y) > 0.0 || signbit(y) == 0) 573 1.8 joerg atf_tc_fail_nonfatal("floorl(-0.0) != -0.0"); 574 1.8 joerg } 575 1.8 joerg 576 1.8 joerg ATF_TC(floorl_zero_pos); 577 1.8 joerg ATF_TC_HEAD(floorl_zero_pos, tc) 578 1.8 joerg { 579 1.8 joerg atf_tc_set_md_var(tc, "descr", "Test floorl(+0.0) == +0.0"); 580 1.8 joerg } 581 1.8 joerg 582 1.8 joerg ATF_TC_BODY(floorl_zero_pos, tc) 583 1.8 joerg { 584 1.8 joerg const long double x = 0.0L; 585 1.8 joerg long double y = floorl(x); 586 1.8 joerg 587 1.8 joerg if (fabsl(y) > 0.0 || signbit(y) != 0) 588 1.8 joerg atf_tc_fail_nonfatal("floorl(+0.0) != +0.0"); 589 1.8 joerg } 590 1.8 joerg 591 1.9 joerg /* 592 1.9 joerg * trunc(3) 593 1.9 joerg */ 594 1.9 joerg ATF_TC(trunc_basic); 595 1.9 joerg ATF_TC_HEAD(trunc_basic, tc) 596 1.9 joerg { 597 1.9 joerg atf_tc_set_md_var(tc, "descr", "A basic test of trunc(3)"); 598 1.9 joerg } 599 1.9 joerg 600 1.9 joerg ATF_TC_BODY(trunc_basic, tc) 601 1.9 joerg { 602 1.9 joerg const double x = 0.999999999999999; 603 1.9 joerg const double y = 0.000000000000001; 604 1.9 joerg 605 1.9 joerg ATF_CHECK(trunc(x) < SMALL_NUM); 606 1.9 joerg ATF_CHECK(trunc(y) < SMALL_NUM); 607 1.9 joerg } 608 1.9 joerg 609 1.9 joerg ATF_TC(trunc_nan); 610 1.9 joerg ATF_TC_HEAD(trunc_nan, tc) 611 1.9 joerg { 612 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test trunc(NaN) == NaN"); 613 1.9 joerg } 614 1.9 joerg 615 1.9 joerg ATF_TC_BODY(trunc_nan, tc) 616 1.9 joerg { 617 1.9 joerg const double x = 0.0L / 0.0L; 618 1.9 joerg 619 1.9 joerg ATF_CHECK(isnan(trunc(x)) != 0); 620 1.9 joerg } 621 1.9 joerg 622 1.9 joerg ATF_TC(trunc_inf_neg); 623 1.9 joerg ATF_TC_HEAD(trunc_inf_neg, tc) 624 1.9 joerg { 625 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test trunc(-Inf) == -Inf"); 626 1.9 joerg } 627 1.9 joerg 628 1.9 joerg ATF_TC_BODY(trunc_inf_neg, tc) 629 1.9 joerg { 630 1.9 joerg const double x = -1.0L / 0.0L; 631 1.9 joerg double y = trunc(x); 632 1.9 joerg 633 1.9 joerg if (isinf(y) == 0 || signbit(y) == 0) 634 1.9 joerg atf_tc_fail_nonfatal("trunc(-Inf) != -Inf"); 635 1.9 joerg } 636 1.9 joerg 637 1.9 joerg ATF_TC(trunc_inf_pos); 638 1.9 joerg ATF_TC_HEAD(trunc_inf_pos, tc) 639 1.9 joerg { 640 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test trunc(+Inf) == +Inf"); 641 1.9 joerg } 642 1.9 joerg 643 1.9 joerg ATF_TC_BODY(trunc_inf_pos, tc) 644 1.9 joerg { 645 1.9 joerg const double x = 1.0L / 0.0L; 646 1.9 joerg double y = trunc(x); 647 1.9 joerg 648 1.9 joerg if (isinf(y) == 0 || signbit(y) != 0) 649 1.9 joerg atf_tc_fail_nonfatal("trunc(+Inf) != +Inf"); 650 1.9 joerg } 651 1.9 joerg 652 1.9 joerg ATF_TC(trunc_zero_neg); 653 1.9 joerg ATF_TC_HEAD(trunc_zero_neg, tc) 654 1.9 joerg { 655 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test trunc(-0.0) == -0.0"); 656 1.9 joerg } 657 1.9 joerg 658 1.9 joerg ATF_TC_BODY(trunc_zero_neg, tc) 659 1.9 joerg { 660 1.9 joerg const double x = -0.0L; 661 1.9 joerg double y = trunc(x); 662 1.9 joerg 663 1.9 joerg if (fabs(y) > 0.0 || signbit(y) == 0) 664 1.9 joerg atf_tc_fail_nonfatal("trunc(-0.0) != -0.0"); 665 1.9 joerg } 666 1.9 joerg 667 1.9 joerg ATF_TC(trunc_zero_pos); 668 1.9 joerg ATF_TC_HEAD(trunc_zero_pos, tc) 669 1.9 joerg { 670 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test trunc(+0.0) == +0.0"); 671 1.9 joerg } 672 1.9 joerg 673 1.9 joerg ATF_TC_BODY(trunc_zero_pos, tc) 674 1.9 joerg { 675 1.9 joerg const double x = 0.0L; 676 1.9 joerg double y = trunc(x); 677 1.9 joerg 678 1.9 joerg if (fabs(y) > 0.0 || signbit(y) != 0) 679 1.9 joerg atf_tc_fail_nonfatal("trunc(+0.0) != +0.0"); 680 1.9 joerg } 681 1.9 joerg 682 1.9 joerg /* 683 1.9 joerg * truncf(3) 684 1.9 joerg */ 685 1.9 joerg ATF_TC(truncf_basic); 686 1.9 joerg ATF_TC_HEAD(truncf_basic, tc) 687 1.9 joerg { 688 1.9 joerg atf_tc_set_md_var(tc, "descr", "A basic test of truncf(3)"); 689 1.9 joerg } 690 1.9 joerg 691 1.9 joerg ATF_TC_BODY(truncf_basic, tc) 692 1.9 joerg { 693 1.9 joerg const float x = 0.9999999; 694 1.9 joerg const float y = 0.0000001; 695 1.9 joerg 696 1.9 joerg ATF_CHECK(truncf(x) < SMALL_NUM); 697 1.9 joerg ATF_CHECK(truncf(y) < SMALL_NUM); 698 1.9 joerg } 699 1.9 joerg 700 1.9 joerg ATF_TC(truncf_nan); 701 1.9 joerg ATF_TC_HEAD(truncf_nan, tc) 702 1.9 joerg { 703 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test truncf(NaN) == NaN"); 704 1.9 joerg } 705 1.9 joerg 706 1.9 joerg ATF_TC_BODY(truncf_nan, tc) 707 1.9 joerg { 708 1.9 joerg const float x = 0.0L / 0.0L; 709 1.9 joerg 710 1.9 joerg ATF_CHECK(isnan(truncf(x)) != 0); 711 1.9 joerg } 712 1.9 joerg 713 1.9 joerg ATF_TC(truncf_inf_neg); 714 1.9 joerg ATF_TC_HEAD(truncf_inf_neg, tc) 715 1.9 joerg { 716 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test truncf(-Inf) == -Inf"); 717 1.9 joerg } 718 1.9 joerg 719 1.9 joerg ATF_TC_BODY(truncf_inf_neg, tc) 720 1.9 joerg { 721 1.9 joerg const float x = -1.0L / 0.0L; 722 1.9 joerg float y = truncf(x); 723 1.9 joerg 724 1.9 joerg if (isinf(y) == 0 || signbit(y) == 0) 725 1.9 joerg atf_tc_fail_nonfatal("truncf(-Inf) != -Inf"); 726 1.9 joerg } 727 1.9 joerg 728 1.9 joerg ATF_TC(truncf_inf_pos); 729 1.9 joerg ATF_TC_HEAD(truncf_inf_pos, tc) 730 1.9 joerg { 731 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test truncf(+Inf) == +Inf"); 732 1.9 joerg } 733 1.9 joerg 734 1.9 joerg ATF_TC_BODY(truncf_inf_pos, tc) 735 1.9 joerg { 736 1.9 joerg const float x = 1.0L / 0.0L; 737 1.9 joerg float y = truncf(x); 738 1.9 joerg 739 1.9 joerg if (isinf(y) == 0 || signbit(y) != 0) 740 1.9 joerg atf_tc_fail_nonfatal("truncf(+Inf) != +Inf"); 741 1.9 joerg } 742 1.9 joerg 743 1.9 joerg ATF_TC(truncf_zero_neg); 744 1.9 joerg ATF_TC_HEAD(truncf_zero_neg, tc) 745 1.9 joerg { 746 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test truncf(-0.0) == -0.0"); 747 1.9 joerg } 748 1.9 joerg 749 1.9 joerg ATF_TC_BODY(truncf_zero_neg, tc) 750 1.9 joerg { 751 1.9 joerg const float x = -0.0L; 752 1.9 joerg float y = truncf(x); 753 1.9 joerg 754 1.9 joerg if (fabsf(y) > 0.0 || signbit(y) == 0) 755 1.9 joerg atf_tc_fail_nonfatal("truncf(-0.0) != -0.0"); 756 1.9 joerg } 757 1.9 joerg 758 1.9 joerg ATF_TC(truncf_zero_pos); 759 1.9 joerg ATF_TC_HEAD(truncf_zero_pos, tc) 760 1.9 joerg { 761 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test truncf(+0.0) == +0.0"); 762 1.9 joerg } 763 1.9 joerg 764 1.9 joerg ATF_TC_BODY(truncf_zero_pos, tc) 765 1.9 joerg { 766 1.9 joerg const float x = 0.0L; 767 1.9 joerg float y = truncf(x); 768 1.9 joerg 769 1.9 joerg if (fabsf(y) > 0.0 || signbit(y) != 0) 770 1.9 joerg atf_tc_fail_nonfatal("truncf(+0.0) != +0.0"); 771 1.9 joerg } 772 1.9 joerg 773 1.9 joerg /* 774 1.9 joerg * truncl(3) 775 1.9 joerg */ 776 1.9 joerg ATF_TC(truncl_basic); 777 1.9 joerg ATF_TC_HEAD(truncl_basic, tc) 778 1.9 joerg { 779 1.9 joerg atf_tc_set_md_var(tc, "descr", "A basic test of truncl(3)"); 780 1.9 joerg } 781 1.9 joerg 782 1.9 joerg ATF_TC_BODY(truncl_basic, tc) 783 1.9 joerg { 784 1.9 joerg const long double x = 0.9999999; 785 1.9 joerg const long double y = 0.0000001; 786 1.9 joerg 787 1.9 joerg ATF_CHECK(truncl(x) < SMALL_NUM); 788 1.9 joerg ATF_CHECK(truncl(y) < SMALL_NUM); 789 1.9 joerg } 790 1.9 joerg 791 1.9 joerg ATF_TC(truncl_nan); 792 1.9 joerg ATF_TC_HEAD(truncl_nan, tc) 793 1.9 joerg { 794 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test truncl(NaN) == NaN"); 795 1.9 joerg } 796 1.9 joerg 797 1.9 joerg ATF_TC_BODY(truncl_nan, tc) 798 1.9 joerg { 799 1.9 joerg const long double x = 0.0L / 0.0L; 800 1.9 joerg 801 1.9 joerg ATF_CHECK(isnan(truncl(x)) != 0); 802 1.9 joerg } 803 1.9 joerg 804 1.9 joerg ATF_TC(truncl_inf_neg); 805 1.9 joerg ATF_TC_HEAD(truncl_inf_neg, tc) 806 1.9 joerg { 807 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test truncl(-Inf) == -Inf"); 808 1.9 joerg } 809 1.9 joerg 810 1.9 joerg ATF_TC_BODY(truncl_inf_neg, tc) 811 1.9 joerg { 812 1.9 joerg const long double x = -1.0L / 0.0L; 813 1.9 joerg long double y = truncl(x); 814 1.9 joerg 815 1.9 joerg if (isinf(y) == 0 || signbit(y) == 0) 816 1.9 joerg atf_tc_fail_nonfatal("truncl(-Inf) != -Inf"); 817 1.9 joerg } 818 1.9 joerg 819 1.9 joerg ATF_TC(truncl_inf_pos); 820 1.9 joerg ATF_TC_HEAD(truncl_inf_pos, tc) 821 1.9 joerg { 822 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test truncl(+Inf) == +Inf"); 823 1.9 joerg } 824 1.9 joerg 825 1.9 joerg ATF_TC_BODY(truncl_inf_pos, tc) 826 1.9 joerg { 827 1.9 joerg const long double x = 1.0L / 0.0L; 828 1.9 joerg long double y = truncl(x); 829 1.9 joerg 830 1.9 joerg if (isinf(y) == 0 || signbit(y) != 0) 831 1.9 joerg atf_tc_fail_nonfatal("truncl(+Inf) != +Inf"); 832 1.9 joerg } 833 1.9 joerg 834 1.9 joerg ATF_TC(truncl_zero_neg); 835 1.9 joerg ATF_TC_HEAD(truncl_zero_neg, tc) 836 1.9 joerg { 837 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test truncl(-0.0) == -0.0"); 838 1.9 joerg } 839 1.9 joerg 840 1.9 joerg ATF_TC_BODY(truncl_zero_neg, tc) 841 1.9 joerg { 842 1.9 joerg const long double x = -0.0L; 843 1.9 joerg long double y = truncl(x); 844 1.9 joerg 845 1.9 joerg if (fabsl(y) > 0.0 || signbit(y) == 0) 846 1.9 joerg atf_tc_fail_nonfatal("truncl(-0.0) != -0.0"); 847 1.9 joerg } 848 1.9 joerg 849 1.9 joerg ATF_TC(truncl_zero_pos); 850 1.9 joerg ATF_TC_HEAD(truncl_zero_pos, tc) 851 1.9 joerg { 852 1.9 joerg atf_tc_set_md_var(tc, "descr", "Test truncl(+0.0) == +0.0"); 853 1.9 joerg } 854 1.9 joerg 855 1.9 joerg ATF_TC_BODY(truncl_zero_pos, tc) 856 1.9 joerg { 857 1.9 joerg const long double x = 0.0L; 858 1.9 joerg long double y = truncl(x); 859 1.9 joerg 860 1.9 joerg if (fabsl(y) > 0.0 || signbit(y) != 0) 861 1.9 joerg atf_tc_fail_nonfatal("truncl(+0.0) != +0.0"); 862 1.9 joerg } 863 1.9 joerg 864 1.1 jruoho ATF_TP_ADD_TCS(tp) 865 1.1 jruoho { 866 1.5 jruoho 867 1.5 jruoho ATF_TP_ADD_TC(tp, ceil_basic); 868 1.7 jruoho ATF_TP_ADD_TC(tp, ceil_nan); 869 1.7 jruoho ATF_TP_ADD_TC(tp, ceil_inf_neg); 870 1.7 jruoho ATF_TP_ADD_TC(tp, ceil_inf_pos); 871 1.7 jruoho ATF_TP_ADD_TC(tp, ceil_zero_neg); 872 1.7 jruoho ATF_TP_ADD_TC(tp, ceil_zero_pos); 873 1.7 jruoho 874 1.5 jruoho ATF_TP_ADD_TC(tp, ceilf_basic); 875 1.7 jruoho ATF_TP_ADD_TC(tp, ceilf_nan); 876 1.7 jruoho ATF_TP_ADD_TC(tp, ceilf_inf_neg); 877 1.7 jruoho ATF_TP_ADD_TC(tp, ceilf_inf_pos); 878 1.7 jruoho ATF_TP_ADD_TC(tp, ceilf_zero_neg); 879 1.7 jruoho ATF_TP_ADD_TC(tp, ceilf_zero_pos); 880 1.7 jruoho 881 1.8 joerg ATF_TP_ADD_TC(tp, ceill_basic); 882 1.8 joerg ATF_TP_ADD_TC(tp, ceill_nan); 883 1.8 joerg ATF_TP_ADD_TC(tp, ceill_inf_neg); 884 1.8 joerg ATF_TP_ADD_TC(tp, ceill_inf_pos); 885 1.8 joerg ATF_TP_ADD_TC(tp, ceill_zero_neg); 886 1.8 joerg ATF_TP_ADD_TC(tp, ceill_zero_pos); 887 1.8 joerg 888 1.6 jruoho ATF_TP_ADD_TC(tp, floor_basic); 889 1.7 jruoho ATF_TP_ADD_TC(tp, floor_nan); 890 1.7 jruoho ATF_TP_ADD_TC(tp, floor_inf_neg); 891 1.7 jruoho ATF_TP_ADD_TC(tp, floor_inf_pos); 892 1.7 jruoho ATF_TP_ADD_TC(tp, floor_zero_neg); 893 1.7 jruoho ATF_TP_ADD_TC(tp, floor_zero_pos); 894 1.7 jruoho 895 1.5 jruoho ATF_TP_ADD_TC(tp, floorf_basic); 896 1.7 jruoho ATF_TP_ADD_TC(tp, floorf_nan); 897 1.7 jruoho ATF_TP_ADD_TC(tp, floorf_inf_neg); 898 1.7 jruoho ATF_TP_ADD_TC(tp, floorf_inf_pos); 899 1.7 jruoho ATF_TP_ADD_TC(tp, floorf_zero_neg); 900 1.7 jruoho ATF_TP_ADD_TC(tp, floorf_zero_pos); 901 1.1 jruoho 902 1.8 joerg ATF_TP_ADD_TC(tp, floorl_basic); 903 1.8 joerg ATF_TP_ADD_TC(tp, floorl_nan); 904 1.8 joerg ATF_TP_ADD_TC(tp, floorl_inf_neg); 905 1.8 joerg ATF_TP_ADD_TC(tp, floorl_inf_pos); 906 1.8 joerg ATF_TP_ADD_TC(tp, floorl_zero_neg); 907 1.8 joerg ATF_TP_ADD_TC(tp, floorl_zero_pos); 908 1.8 joerg 909 1.9 joerg ATF_TP_ADD_TC(tp, trunc_basic); 910 1.9 joerg ATF_TP_ADD_TC(tp, trunc_nan); 911 1.9 joerg ATF_TP_ADD_TC(tp, trunc_inf_neg); 912 1.9 joerg ATF_TP_ADD_TC(tp, trunc_inf_pos); 913 1.9 joerg ATF_TP_ADD_TC(tp, trunc_zero_neg); 914 1.9 joerg ATF_TP_ADD_TC(tp, trunc_zero_pos); 915 1.9 joerg 916 1.9 joerg ATF_TP_ADD_TC(tp, truncf_basic); 917 1.9 joerg ATF_TP_ADD_TC(tp, truncf_nan); 918 1.9 joerg ATF_TP_ADD_TC(tp, truncf_inf_neg); 919 1.9 joerg ATF_TP_ADD_TC(tp, truncf_inf_pos); 920 1.9 joerg ATF_TP_ADD_TC(tp, truncf_zero_neg); 921 1.9 joerg ATF_TP_ADD_TC(tp, truncf_zero_pos); 922 1.9 joerg 923 1.9 joerg ATF_TP_ADD_TC(tp, truncl_basic); 924 1.9 joerg ATF_TP_ADD_TC(tp, truncl_nan); 925 1.9 joerg ATF_TP_ADD_TC(tp, truncl_inf_neg); 926 1.9 joerg ATF_TP_ADD_TC(tp, truncl_inf_pos); 927 1.9 joerg ATF_TP_ADD_TC(tp, truncl_zero_neg); 928 1.9 joerg ATF_TP_ADD_TC(tp, truncl_zero_pos); 929 1.9 joerg 930 1.1 jruoho return atf_no_error(); 931 1.1 jruoho } 932