Home
last modified time | relevance | path

Searched full:ulp (Results 1 – 25 of 358) sorted by relevance

12345678910>>...15

/freebsd/contrib/arm-optimized-routines/math/
H A DDir.mk13 $(warning WARNING: Double-precision ULP tests will not be usable without MPFR)
54 $(math-src-dir)/test/ulp.c \
69 build/bin/ulp \
101 ulp-funcs-dir = build/test/ulp-funcs/
102 ulp-wrappers-dir = build/test/ulp-wrappers/
104 test-sig-dirs = $(ulp-funcs-dir) $(ulp-wrappers-dir) $(mathbench-funcs-dir)
110 ulp-funcs = $(patsubst $(math-src-dir)/%,$(ulp-funcs-dir)/%,$(basename $(math-lib-srcs)))
111 ulp-wrappers = $(patsubst $(math-src-dir)/%,$(ulp-wrappers-dir)/%,$(basename $(math-lib-srcs)))
116 ulp-funcs := $(foreach a,$(ulp-funcs),$(if $(findstring sve,$a),,$a))
117 ulp-wrappers := $(foreach a,$(ulp-wrappers),$(if $(findstring sve,$a),,$a))
[all …]
H A Dlog.c60 /* Worst-case error is around 0.516 ULP. */ in log()
68 /* Worst-case error is around 0.516 ULP. */ in log()
81 /* Worst-case error is around 0.532 ULP. */ in log()
87 /* Worst-case error is around 0.507 ULP. */ in log()
145 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma) in log()
147 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma). */ in log()
H A DREADME.contributors28 - Worst-case ULP error should be small in the entire input domain (for most
29 common double precision scalar functions the target is < 0.66 ULP error,
30 and < 1 ULP for single precision, even performance optimized function
31 variant should not have > 5 ULP error if the goal is to be a drop in
34 The ulp tool is for this and runulp.sh should be updated for new functions.
H A Dlog2.c67 /* Worst-case error is less than 0.54 ULP (0.55 ULP without fma). */ in log2()
130 /* Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma). in log2()
131 ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma). */ in log2()
H A Dexp2.c52 range to avoid double rounding that can cause 0.5+E/2 ulp error where in specialcase()
53 E is the worst-case ulp error outside the subnormal range. So this in specialcase()
54 is only useful if the goal is better than 1 ulp worst-case error. */ in specialcase()
123 /* Without fma the worst case error is 0.5/N ulp larger. */ in exp2()
124 /* Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp. */ in exp2()
H A Dpow.c15 Worst-case error: 0.54 ULP (~= ulperr_exp + 1024*Ln2*relerr_log*2^53)
17 ulperr_exp: 0.509 ULP (ULP error of exp, 0.511 ULP without fma)
149 range to avoid double rounding that can cause 0.5+E/2 ulp error where in specialcase()
150 E is the worst-case ulp error outside the subnormal range. So this in specialcase()
151 is only useful if the goal is better than 1 ulp worst-case error. */ in specialcase()
232 /* Without fma the worst case error is 0.25/N ulp larger. */ in exp_inline()
233 /* Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp. */ in exp_inline()
H A Dexp.c54 range to avoid double rounding that can cause 0.5+E/2 ulp error where in specialcase()
55 E is the worst-case ulp error outside the subnormal range. So this in specialcase()
56 is only useful if the goal is better than 1 ulp worst-case error. */ in specialcase()
141 /* Without fma the worst case error is 0.25/N ulp larger. */ in exp_inline()
142 /* Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp. */ in exp_inline()
/freebsd/usr.bin/mkuzip/
H A Dmkuz_lzma.c53 struct mkuz_lzma *ulp; in mkuz_lzma_init() local
62 ulp = mkuz_safe_zmalloc(sizeof(struct mkuz_lzma)); in mkuz_lzma_init()
65 ulp->strm = (lzma_stream)LZMA_STREAM_INIT; in mkuz_lzma_init()
66 if (lzma_lzma_preset(&ulp->opt_lzma, *comp_level)) in mkuz_lzma_init()
69 ulp->filters[0].id = LZMA_FILTER_LZMA2; in mkuz_lzma_init()
70 ulp->filters[0].options = &ulp->opt_lzma; in mkuz_lzma_init()
71 ulp->filters[1].id = LZMA_VLI_UNKNOWN; in mkuz_lzma_init()
73 return (void *)ulp; in mkuz_lzma_init()
80 struct mkuz_lzma *ulp; in mkuz_lzma_compress() local
82 ulp = (struct mkuz_lzma *)p; in mkuz_lzma_compress()
[all …]
/freebsd/sys/dev/bnxt/bnxt_en/
H A Dbnxt_ulp.c58 struct bnxt_ulp *ulp; in bnxt_register_dev() local
65 ulp = &edev->ulp_tbl[ulp_id]; in bnxt_register_dev()
66 if (rcu_access_pointer(ulp->ulp_ops)) { in bnxt_register_dev()
67 device_printf(bp->dev, "ulp id %d already registered\n", ulp_id); in bnxt_register_dev()
73 atomic_set(&ulp->ref_count, 0); in bnxt_register_dev()
74 ulp->handle = handle; in bnxt_register_dev()
75 rcu_assign_pointer(ulp->ulp_ops, ulp_ops); in bnxt_register_dev()
90 struct bnxt_ulp *ulp; in bnxt_unregister_dev() local
96 ulp = &edev->ulp_tbl[ulp_id]; in bnxt_unregister_dev()
97 if (!rcu_access_pointer(ulp->ulp_ops)) { in bnxt_unregister_dev()
[all …]
/freebsd/lib/msun/src/
H A De_sqrt.c79 * result is exact, bigger than 1/2ulp, or less than 1/2ulp
80 * (it will never equal to 1/2ulp).
257 sqrt(x) to within 1 ulp (Unit in the Last Place):
261 y := y-(y-x/y)/2 ... within 1 ulp
265 Another way to improve y to within 1 ulp is:
272 y := y + 2* ---------- ...within 1 ulp
290 use the expression y+-ulp for the next representable floating
291 numbers (up and down) of y. Note that y+-ulp = either fixed
304 z := z - ulp; ... special rounding
308 If (r=RN) then z=z+ulp ... rounded-to-nearest
[all …]
H A De_sqrtl.c35 /* Return (x + ulp) for normal positive x. Assumes no overflow. */
51 /* Return (x - ulp) for normal positive x. Assumes no underflow. */
144 /* Round correctly for inputs like x = y**2 - ulp. */ in sqrtl()
145 xn = dec(xn); /* xn = xn - ulp. */ in sqrtl()
149 xn = inc(xn); /* xn = xn + ulp. */ in sqrtl()
151 u.e = inc(u.e); /* u.e = u.e + ulp. */ in sqrtl()
152 xn = inc(xn); /* xn = xn + ulp. */ in sqrtl()
H A Ds_nextafterf.c40 if(hx>hy) { /* x > y, x -= ulp */ in nextafterf()
42 } else { /* x < y, x += ulp */ in nextafterf()
46 if(hy>=0||hx>hy){ /* x < y, x -= ulp */ in nextafterf()
48 } else { /* x > y, x += ulp */ in nextafterf()
H A Ds_nextafter.c46 if(hx>hy||((hx==hy)&&(lx>ly))) { /* x > y, x -= ulp */ in nextafter()
49 } else { /* x < y, x += ulp */ in nextafter()
54 if(hy>=0||hx>hy||((hx==hy)&&(lx>ly))){/* x < y, x -= ulp */ in nextafter()
57 } else { /* x > y, x += ulp */ in nextafter()
/freebsd/contrib/arm-optimized-routines/math/test/
H A Drunulp.sh3 # ULP error check script.
35 # Any remaining arguments forwards directly to ulp tool
38 # Read ULP limits, fenv expectation and control values from autogenerated files
42 …[ -n "$L" ] || { echo ERROR: Could not determine ULP limit for $routine in $limits_file && false; }
51 …$emu ./ulp -e $L $flags $extra_flags -r $r $c_arg $routine $ITV $n && PASS=$((PASS+1)) || FAIL=$((…
57 # Run ULP tool
62 $emu ./ulp -f -q "$@"
H A Dulp.h2 * Generic functions for ULP error estimation.
58 /* Fall through to ULP calculation if ignoring sign of zero and at in RT()
86 ? got - want - tail ulp - 0.5 ulp in RT()
87 : got - want - tail ulp + 0.5 ulp. */ in RT()
340 // TODO: inf ulp handling in T()
341 printf (" got %a want %a %+g ulp err %g\n", ygot, want.y, in T()
353 printf (" is %a %+g ulp, got except 0x%0x", want.y, want.tail, in T()
/freebsd/sys/netpfil/ipfw/
H A Dip_fw2.c1478 * We store in ulp a pointer to the upper layer protocol header. in ipfw_chk()
1481 * ulp is NULL if not found. in ipfw_chk()
1483 void *ulp = NULL; /* upper layer protocol pointer. */ in ipfw_chk() local
1600 while (ulp == NULL && offset == 0) { in ipfw_chk()
1603 PULLUP_TO(hlen, ulp, struct icmp6_hdr); in ipfw_chk()
1605 icmp6_type = ICMP6(ulp)->icmp6_type; in ipfw_chk()
1610 PULLUP_TO(hlen, ulp, struct tcphdr); in ipfw_chk()
1611 dst_port = TCP(ulp)->th_dport; in ipfw_chk()
1612 src_port = TCP(ulp)->th_sport; in ipfw_chk()
1614 args->f_id._flags = tcp_get_flags(TCP(ulp)); in ipfw_chk()
[all …]
/freebsd/sys/contrib/device-tree/Bindings/input/
H A Diqs626a.yaml45 2: Ultra-low power (ULP channel proximity sensing)
52 azoteq,ulp-enable:
58 azoteq,ulp-update:
90 1: ULP channel
138 azoteq,rate-ulp-ms:
152 from normal-power mode to low-power mode, or (if 'azoteq,ulp-enable' is
170 "^ulp-0|generic-[0-2]|hall$":
209 touch states (ULP channel).
260 limited to 4 in the case of the ULP channel, and the property is un-
294 Tightens the ATI band from 1/8 to 1/16 of the desired target (ULP and
[all …]
/freebsd/contrib/arm-optimized-routines/math/tools/
H A Dplot.py3 # ULP error plot tool.
14 # build/bin/ulp -e .0001 log 0.5 2.0 2345678 | math/tools/plot.py
24 # Has to match the format used in ulp.c
25 r = re.compile(r'[^ (]+\(([^ )]*)\) got ([^ ]+) want ([^ ]+) [^ ]+ ulp err ([^ ]+)')
/freebsd/sys/dev/ocs_fc/
H A Docs_hw_queues.c170 if ((hw->ulp_start + qt->ulp) > hw->ulp_max) { in ocs_hw_init_queues()
171 ocs_log_err(hw->os, "invalid ULP %d for WQ\n", qt->ulp); in ocs_hw_init_queues()
179 wq = hw_new_wq(cq, len, qt->class, hw->ulp_start + qt->ulp); in ocs_hw_init_queues()
223 if ((hw->ulp_start + qt->ulp) > hw->ulp_max) { in ocs_hw_init_queues()
224 ocs_log_err(hw->os, "invalid ULP %d for RQ\n", qt->ulp); in ocs_hw_init_queues()
231 mrq.rq_cfg[mrq.num_pairs].ulp = hw->ulp_start + qt->ulp; in ocs_hw_init_queues()
236 rq = hw_new_rq(cq, len, hw->ulp_start + qt->ulp); in ocs_hw_init_queues()
281 rqset_ulp = mrq.rq_cfg[i].ulp; in ocs_hw_init_queues()
296 rq = hw_new_rq(cq, mrq.rq_cfg[i].len, mrq.rq_cfg[i].ulp); in ocs_hw_init_queues()
540 * @param ulp index of chute
[all …]
/freebsd/lib/msun/man/
H A Dieee.397 .Em ulp ,
99 .Em ulp
103 .Em ulp
159 .Em ulp ) ,
194 .Em ulp ) ,
225 .Em ulp ) ,
256 .Em ulp ) ,
/freebsd/sys/dev/e1000/
H A De1000_ich8lan.h80 #define E1000_H2ME_ULP 0x00000800 /* ULP Indication Bit */
199 #define I218_ULP_CONFIG1_START 0x0001 /* Start auto ULP config */
200 #define I218_ULP_CONFIG1_IND 0x0004 /* Pwr up from ULP indication */
201 #define I218_ULP_CONFIG1_STICKY_ULP 0x0010 /* Set sticky ULP mode */
202 #define I218_ULP_CONFIG1_INBAND_EXIT 0x0020 /* Inband on ULP exit */
203 #define I218_ULP_CONFIG1_WOL_HOST 0x0040 /* WoL Host on ULP exit */
205 /* enable ULP even if when phy powered down via lanphypc */
207 /* disable clear of sticky ULP on PERST */
/freebsd/lib/msun/bsdsrc/
H A Db_tgamma.c79 * x > 0: error provably < 0.9ulp.
80 * Maximum observed in 1,000,000 trials was .87ulp.
82 * Maximum observed error < 4ulp in 1,000,000 trials.
103 * Accurate to max(ulp(1/128) absolute, 2^-66 relative) error.
218 * Good to < 1 ulp. (provably .90 ulp; .87 ulp on 1,000,000 runs.)
257 * Good on (0, 1+x0+left]. Accurate to 1 ulp.
/freebsd/contrib/arm-optimized-routines/math/aarch64/experimental/
H A Dexp_inline.h55 range to avoid double rounding that can cause 0.5+E/2 ulp error where in exp_inline_special_case()
56 E is the worst-case ulp error outside the subnormal range. So this in exp_inline_special_case()
57 is only useful if the goal is better than 1 ulp worst-case error. */ in exp_inline_special_case()
142 /* Without fma the worst case error is 0.25/N ulp larger. */ in exp_inline()
143 /* Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp. */ in exp_inline()
H A Dacoshf_2u8.c21 ln(2). The greatest error in the region is 0.94 ULP:
25 sqrt(x*x - 1)). Greatest error in this region is 1.30 ULP:
29 undefined. For 1 <= x <= 2, the greatest error is 2.78 ULP:
/freebsd/contrib/gdtoa/
H A Dstrtod.c75 rv = ulp(x);
666 /* Error is less than an ulp */
706 dval(&rv) += adj*ulp(&rv);
712 dval(&rv) += adj.d*ulp(&rv);
735 dval(&adj) *= ulp(&rv);
745 dval(&adj) *= ulp(&rv);
758 /* Error is less than half an ulp -- check for
871 dval(&rv) += ulp(&rv);
878 dval(&rv) -= ulp(&rv);
937 dval(&adj) = dval(&aadj1) * ulp(&rv);
[all …]

12345678910>>...15