/freebsd/contrib/arm-optimized-routines/math/ |
H A D | Dir.mk | 13 $(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 D | log.c | 60 /* 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 D | README.contributors | 28 - 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 D | log2.c | 67 /* 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 D | exp2.c | 52 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 D | pow.c | 15 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 D | exp.c | 54 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 D | mkuz_lzma.c | 53 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 D | bnxt_ulp.c | 58 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 D | e_sqrt.c | 79 * 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 D | e_sqrtl.c | 35 /* 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 D | s_nextafterf.c | 40 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 D | s_nextafter.c | 46 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 D | runulp.sh | 3 # 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 D | ulp.h | 2 * 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 D | ip_fw2.c | 1478 * 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 D | iqs626a.yaml | 45 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 D | plot.py | 3 # 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 D | ocs_hw_queues.c | 170 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 D | ieee.3 | 97 .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 D | e1000_ich8lan.h | 80 #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 D | b_tgamma.c | 79 * 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 D | exp_inline.h | 55 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 D | acoshf_2u8.c | 21 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 D | strtod.c | 75 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 …]
|