mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-03 18:31:04 +00:00
f5f0f52651
This patch changes the expf and exp2f error handling semantics to only set errno accoring to POSIX rules. New symbol version is introduced at GLIBC_2.27. The old wrappers are kept for compat symbols. Internal calls to __expf now get the new error semantics, this seems to only affect sysdeps/i386/fpu/s_expm1f.S where the errno-only behaviour should be correct. ia64 needed assembly change to have the new and compat versioned symbol map to the same function. All linux libm abilists are updated. * math/Versions (expf): New libm symbol at GLIBC_2.27. (exp2f): Likewise. * math/w_exp2f.c: New file. * math/w_expf.c: New file. * math/w_exp2f_compat.c (__exp2f_compat): For compat symbol only. * math/w_expf_compat.c (__expf_compat): Likewise. * sysdeps/ia64/fpu/e_exp2f.S: Add versioned symbols. * sysdeps/ia64/fpu/e_expf.S: Likewise. * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
434 lines
9.1 KiB
Plaintext
434 lines
9.1 KiB
Plaintext
GLIBC_2.21 GLIBC_2.21 A
|
|
GLIBC_2.21 _LIB_VERSION D 0x4
|
|
GLIBC_2.21 __acos_finite F
|
|
GLIBC_2.21 __acosf_finite F
|
|
GLIBC_2.21 __acosh_finite F
|
|
GLIBC_2.21 __acoshf_finite F
|
|
GLIBC_2.21 __asin_finite F
|
|
GLIBC_2.21 __asinf_finite F
|
|
GLIBC_2.21 __atan2_finite F
|
|
GLIBC_2.21 __atan2f_finite F
|
|
GLIBC_2.21 __atanh_finite F
|
|
GLIBC_2.21 __atanhf_finite F
|
|
GLIBC_2.21 __clog10 F
|
|
GLIBC_2.21 __clog10f F
|
|
GLIBC_2.21 __clog10l F
|
|
GLIBC_2.21 __cosh_finite F
|
|
GLIBC_2.21 __coshf_finite F
|
|
GLIBC_2.21 __exp10_finite F
|
|
GLIBC_2.21 __exp10f_finite F
|
|
GLIBC_2.21 __exp2_finite F
|
|
GLIBC_2.21 __exp2f_finite F
|
|
GLIBC_2.21 __exp_finite F
|
|
GLIBC_2.21 __expf_finite F
|
|
GLIBC_2.21 __finite F
|
|
GLIBC_2.21 __finitef F
|
|
GLIBC_2.21 __finitel F
|
|
GLIBC_2.21 __fmod_finite F
|
|
GLIBC_2.21 __fmodf_finite F
|
|
GLIBC_2.21 __fpclassify F
|
|
GLIBC_2.21 __fpclassifyf F
|
|
GLIBC_2.21 __gamma_r_finite F
|
|
GLIBC_2.21 __gammaf_r_finite F
|
|
GLIBC_2.21 __hypot_finite F
|
|
GLIBC_2.21 __hypotf_finite F
|
|
GLIBC_2.21 __issignaling F
|
|
GLIBC_2.21 __issignalingf F
|
|
GLIBC_2.21 __j0_finite F
|
|
GLIBC_2.21 __j0f_finite F
|
|
GLIBC_2.21 __j1_finite F
|
|
GLIBC_2.21 __j1f_finite F
|
|
GLIBC_2.21 __jn_finite F
|
|
GLIBC_2.21 __jnf_finite F
|
|
GLIBC_2.21 __lgamma_r_finite F
|
|
GLIBC_2.21 __lgammaf_r_finite F
|
|
GLIBC_2.21 __log10_finite F
|
|
GLIBC_2.21 __log10f_finite F
|
|
GLIBC_2.21 __log2_finite F
|
|
GLIBC_2.21 __log2f_finite F
|
|
GLIBC_2.21 __log_finite F
|
|
GLIBC_2.21 __logf_finite F
|
|
GLIBC_2.21 __pow_finite F
|
|
GLIBC_2.21 __powf_finite F
|
|
GLIBC_2.21 __remainder_finite F
|
|
GLIBC_2.21 __remainderf_finite F
|
|
GLIBC_2.21 __scalb_finite F
|
|
GLIBC_2.21 __scalbf_finite F
|
|
GLIBC_2.21 __signbit F
|
|
GLIBC_2.21 __signbitf F
|
|
GLIBC_2.21 __sinh_finite F
|
|
GLIBC_2.21 __sinhf_finite F
|
|
GLIBC_2.21 __sqrt_finite F
|
|
GLIBC_2.21 __sqrtf_finite F
|
|
GLIBC_2.21 __y0_finite F
|
|
GLIBC_2.21 __y0f_finite F
|
|
GLIBC_2.21 __y1_finite F
|
|
GLIBC_2.21 __y1f_finite F
|
|
GLIBC_2.21 __yn_finite F
|
|
GLIBC_2.21 __ynf_finite F
|
|
GLIBC_2.21 acos F
|
|
GLIBC_2.21 acosf F
|
|
GLIBC_2.21 acosh F
|
|
GLIBC_2.21 acoshf F
|
|
GLIBC_2.21 acoshl F
|
|
GLIBC_2.21 acosl F
|
|
GLIBC_2.21 asin F
|
|
GLIBC_2.21 asinf F
|
|
GLIBC_2.21 asinh F
|
|
GLIBC_2.21 asinhf F
|
|
GLIBC_2.21 asinhl F
|
|
GLIBC_2.21 asinl F
|
|
GLIBC_2.21 atan F
|
|
GLIBC_2.21 atan2 F
|
|
GLIBC_2.21 atan2f F
|
|
GLIBC_2.21 atan2l F
|
|
GLIBC_2.21 atanf F
|
|
GLIBC_2.21 atanh F
|
|
GLIBC_2.21 atanhf F
|
|
GLIBC_2.21 atanhl F
|
|
GLIBC_2.21 atanl F
|
|
GLIBC_2.21 cabs F
|
|
GLIBC_2.21 cabsf F
|
|
GLIBC_2.21 cabsl F
|
|
GLIBC_2.21 cacos F
|
|
GLIBC_2.21 cacosf F
|
|
GLIBC_2.21 cacosh F
|
|
GLIBC_2.21 cacoshf F
|
|
GLIBC_2.21 cacoshl F
|
|
GLIBC_2.21 cacosl F
|
|
GLIBC_2.21 carg F
|
|
GLIBC_2.21 cargf F
|
|
GLIBC_2.21 cargl F
|
|
GLIBC_2.21 casin F
|
|
GLIBC_2.21 casinf F
|
|
GLIBC_2.21 casinh F
|
|
GLIBC_2.21 casinhf F
|
|
GLIBC_2.21 casinhl F
|
|
GLIBC_2.21 casinl F
|
|
GLIBC_2.21 catan F
|
|
GLIBC_2.21 catanf F
|
|
GLIBC_2.21 catanh F
|
|
GLIBC_2.21 catanhf F
|
|
GLIBC_2.21 catanhl F
|
|
GLIBC_2.21 catanl F
|
|
GLIBC_2.21 cbrt F
|
|
GLIBC_2.21 cbrtf F
|
|
GLIBC_2.21 cbrtl F
|
|
GLIBC_2.21 ccos F
|
|
GLIBC_2.21 ccosf F
|
|
GLIBC_2.21 ccosh F
|
|
GLIBC_2.21 ccoshf F
|
|
GLIBC_2.21 ccoshl F
|
|
GLIBC_2.21 ccosl F
|
|
GLIBC_2.21 ceil F
|
|
GLIBC_2.21 ceilf F
|
|
GLIBC_2.21 ceill F
|
|
GLIBC_2.21 cexp F
|
|
GLIBC_2.21 cexpf F
|
|
GLIBC_2.21 cexpl F
|
|
GLIBC_2.21 cimag F
|
|
GLIBC_2.21 cimagf F
|
|
GLIBC_2.21 cimagl F
|
|
GLIBC_2.21 clog F
|
|
GLIBC_2.21 clog10 F
|
|
GLIBC_2.21 clog10f F
|
|
GLIBC_2.21 clog10l F
|
|
GLIBC_2.21 clogf F
|
|
GLIBC_2.21 clogl F
|
|
GLIBC_2.21 conj F
|
|
GLIBC_2.21 conjf F
|
|
GLIBC_2.21 conjl F
|
|
GLIBC_2.21 copysign F
|
|
GLIBC_2.21 copysignf F
|
|
GLIBC_2.21 copysignl F
|
|
GLIBC_2.21 cos F
|
|
GLIBC_2.21 cosf F
|
|
GLIBC_2.21 cosh F
|
|
GLIBC_2.21 coshf F
|
|
GLIBC_2.21 coshl F
|
|
GLIBC_2.21 cosl F
|
|
GLIBC_2.21 cpow F
|
|
GLIBC_2.21 cpowf F
|
|
GLIBC_2.21 cpowl F
|
|
GLIBC_2.21 cproj F
|
|
GLIBC_2.21 cprojf F
|
|
GLIBC_2.21 cprojl F
|
|
GLIBC_2.21 creal F
|
|
GLIBC_2.21 crealf F
|
|
GLIBC_2.21 creall F
|
|
GLIBC_2.21 csin F
|
|
GLIBC_2.21 csinf F
|
|
GLIBC_2.21 csinh F
|
|
GLIBC_2.21 csinhf F
|
|
GLIBC_2.21 csinhl F
|
|
GLIBC_2.21 csinl F
|
|
GLIBC_2.21 csqrt F
|
|
GLIBC_2.21 csqrtf F
|
|
GLIBC_2.21 csqrtl F
|
|
GLIBC_2.21 ctan F
|
|
GLIBC_2.21 ctanf F
|
|
GLIBC_2.21 ctanh F
|
|
GLIBC_2.21 ctanhf F
|
|
GLIBC_2.21 ctanhl F
|
|
GLIBC_2.21 ctanl F
|
|
GLIBC_2.21 drem F
|
|
GLIBC_2.21 dremf F
|
|
GLIBC_2.21 dreml F
|
|
GLIBC_2.21 erf F
|
|
GLIBC_2.21 erfc F
|
|
GLIBC_2.21 erfcf F
|
|
GLIBC_2.21 erfcl F
|
|
GLIBC_2.21 erff F
|
|
GLIBC_2.21 erfl F
|
|
GLIBC_2.21 exp F
|
|
GLIBC_2.21 exp10 F
|
|
GLIBC_2.21 exp10f F
|
|
GLIBC_2.21 exp10l F
|
|
GLIBC_2.21 exp2 F
|
|
GLIBC_2.21 exp2f F
|
|
GLIBC_2.21 exp2l F
|
|
GLIBC_2.21 expf F
|
|
GLIBC_2.21 expl F
|
|
GLIBC_2.21 expm1 F
|
|
GLIBC_2.21 expm1f F
|
|
GLIBC_2.21 expm1l F
|
|
GLIBC_2.21 fabs F
|
|
GLIBC_2.21 fabsf F
|
|
GLIBC_2.21 fabsl F
|
|
GLIBC_2.21 fdim F
|
|
GLIBC_2.21 fdimf F
|
|
GLIBC_2.21 fdiml F
|
|
GLIBC_2.21 feclearexcept F
|
|
GLIBC_2.21 fedisableexcept F
|
|
GLIBC_2.21 feenableexcept F
|
|
GLIBC_2.21 fegetenv F
|
|
GLIBC_2.21 fegetexcept F
|
|
GLIBC_2.21 fegetexceptflag F
|
|
GLIBC_2.21 fegetround F
|
|
GLIBC_2.21 feholdexcept F
|
|
GLIBC_2.21 feraiseexcept F
|
|
GLIBC_2.21 fesetenv F
|
|
GLIBC_2.21 fesetexceptflag F
|
|
GLIBC_2.21 fesetround F
|
|
GLIBC_2.21 fetestexcept F
|
|
GLIBC_2.21 feupdateenv F
|
|
GLIBC_2.21 finite F
|
|
GLIBC_2.21 finitef F
|
|
GLIBC_2.21 finitel F
|
|
GLIBC_2.21 floor F
|
|
GLIBC_2.21 floorf F
|
|
GLIBC_2.21 floorl F
|
|
GLIBC_2.21 fma F
|
|
GLIBC_2.21 fmaf F
|
|
GLIBC_2.21 fmal F
|
|
GLIBC_2.21 fmax F
|
|
GLIBC_2.21 fmaxf F
|
|
GLIBC_2.21 fmaxl F
|
|
GLIBC_2.21 fmin F
|
|
GLIBC_2.21 fminf F
|
|
GLIBC_2.21 fminl F
|
|
GLIBC_2.21 fmod F
|
|
GLIBC_2.21 fmodf F
|
|
GLIBC_2.21 fmodl F
|
|
GLIBC_2.21 frexp F
|
|
GLIBC_2.21 frexpf F
|
|
GLIBC_2.21 frexpl F
|
|
GLIBC_2.21 gamma F
|
|
GLIBC_2.21 gammaf F
|
|
GLIBC_2.21 gammal F
|
|
GLIBC_2.21 hypot F
|
|
GLIBC_2.21 hypotf F
|
|
GLIBC_2.21 hypotl F
|
|
GLIBC_2.21 ilogb F
|
|
GLIBC_2.21 ilogbf F
|
|
GLIBC_2.21 ilogbl F
|
|
GLIBC_2.21 j0 F
|
|
GLIBC_2.21 j0f F
|
|
GLIBC_2.21 j0l F
|
|
GLIBC_2.21 j1 F
|
|
GLIBC_2.21 j1f F
|
|
GLIBC_2.21 j1l F
|
|
GLIBC_2.21 jn F
|
|
GLIBC_2.21 jnf F
|
|
GLIBC_2.21 jnl F
|
|
GLIBC_2.21 ldexp F
|
|
GLIBC_2.21 ldexpf F
|
|
GLIBC_2.21 ldexpl F
|
|
GLIBC_2.21 lgamma F
|
|
GLIBC_2.21 lgamma_r F
|
|
GLIBC_2.21 lgammaf F
|
|
GLIBC_2.21 lgammaf_r F
|
|
GLIBC_2.21 lgammal F
|
|
GLIBC_2.21 lgammal_r F
|
|
GLIBC_2.21 llrint F
|
|
GLIBC_2.21 llrintf F
|
|
GLIBC_2.21 llrintl F
|
|
GLIBC_2.21 llround F
|
|
GLIBC_2.21 llroundf F
|
|
GLIBC_2.21 llroundl F
|
|
GLIBC_2.21 log F
|
|
GLIBC_2.21 log10 F
|
|
GLIBC_2.21 log10f F
|
|
GLIBC_2.21 log10l F
|
|
GLIBC_2.21 log1p F
|
|
GLIBC_2.21 log1pf F
|
|
GLIBC_2.21 log1pl F
|
|
GLIBC_2.21 log2 F
|
|
GLIBC_2.21 log2f F
|
|
GLIBC_2.21 log2l F
|
|
GLIBC_2.21 logb F
|
|
GLIBC_2.21 logbf F
|
|
GLIBC_2.21 logbl F
|
|
GLIBC_2.21 logf F
|
|
GLIBC_2.21 logl F
|
|
GLIBC_2.21 lrint F
|
|
GLIBC_2.21 lrintf F
|
|
GLIBC_2.21 lrintl F
|
|
GLIBC_2.21 lround F
|
|
GLIBC_2.21 lroundf F
|
|
GLIBC_2.21 lroundl F
|
|
GLIBC_2.21 matherr F
|
|
GLIBC_2.21 modf F
|
|
GLIBC_2.21 modff F
|
|
GLIBC_2.21 modfl F
|
|
GLIBC_2.21 nan F
|
|
GLIBC_2.21 nanf F
|
|
GLIBC_2.21 nanl F
|
|
GLIBC_2.21 nearbyint F
|
|
GLIBC_2.21 nearbyintf F
|
|
GLIBC_2.21 nearbyintl F
|
|
GLIBC_2.21 nextafter F
|
|
GLIBC_2.21 nextafterf F
|
|
GLIBC_2.21 nextafterl F
|
|
GLIBC_2.21 nexttoward F
|
|
GLIBC_2.21 nexttowardf F
|
|
GLIBC_2.21 nexttowardl F
|
|
GLIBC_2.21 pow F
|
|
GLIBC_2.21 pow10 F
|
|
GLIBC_2.21 pow10f F
|
|
GLIBC_2.21 pow10l F
|
|
GLIBC_2.21 powf F
|
|
GLIBC_2.21 powl F
|
|
GLIBC_2.21 remainder F
|
|
GLIBC_2.21 remainderf F
|
|
GLIBC_2.21 remainderl F
|
|
GLIBC_2.21 remquo F
|
|
GLIBC_2.21 remquof F
|
|
GLIBC_2.21 remquol F
|
|
GLIBC_2.21 rint F
|
|
GLIBC_2.21 rintf F
|
|
GLIBC_2.21 rintl F
|
|
GLIBC_2.21 round F
|
|
GLIBC_2.21 roundf F
|
|
GLIBC_2.21 roundl F
|
|
GLIBC_2.21 scalb F
|
|
GLIBC_2.21 scalbf F
|
|
GLIBC_2.21 scalbl F
|
|
GLIBC_2.21 scalbln F
|
|
GLIBC_2.21 scalblnf F
|
|
GLIBC_2.21 scalblnl F
|
|
GLIBC_2.21 scalbn F
|
|
GLIBC_2.21 scalbnf F
|
|
GLIBC_2.21 scalbnl F
|
|
GLIBC_2.21 signgam D 0x4
|
|
GLIBC_2.21 significand F
|
|
GLIBC_2.21 significandf F
|
|
GLIBC_2.21 significandl F
|
|
GLIBC_2.21 sin F
|
|
GLIBC_2.21 sincos F
|
|
GLIBC_2.21 sincosf F
|
|
GLIBC_2.21 sincosl F
|
|
GLIBC_2.21 sinf F
|
|
GLIBC_2.21 sinh F
|
|
GLIBC_2.21 sinhf F
|
|
GLIBC_2.21 sinhl F
|
|
GLIBC_2.21 sinl F
|
|
GLIBC_2.21 sqrt F
|
|
GLIBC_2.21 sqrtf F
|
|
GLIBC_2.21 sqrtl F
|
|
GLIBC_2.21 tan F
|
|
GLIBC_2.21 tanf F
|
|
GLIBC_2.21 tanh F
|
|
GLIBC_2.21 tanhf F
|
|
GLIBC_2.21 tanhl F
|
|
GLIBC_2.21 tanl F
|
|
GLIBC_2.21 tgamma F
|
|
GLIBC_2.21 tgammaf F
|
|
GLIBC_2.21 tgammal F
|
|
GLIBC_2.21 trunc F
|
|
GLIBC_2.21 truncf F
|
|
GLIBC_2.21 truncl F
|
|
GLIBC_2.21 y0 F
|
|
GLIBC_2.21 y0f F
|
|
GLIBC_2.21 y0l F
|
|
GLIBC_2.21 y1 F
|
|
GLIBC_2.21 y1f F
|
|
GLIBC_2.21 y1l F
|
|
GLIBC_2.21 yn F
|
|
GLIBC_2.21 ynf F
|
|
GLIBC_2.21 ynl F
|
|
GLIBC_2.23 GLIBC_2.23 A
|
|
GLIBC_2.23 __signgam D 0x4
|
|
GLIBC_2.23 lgamma F
|
|
GLIBC_2.23 lgammaf F
|
|
GLIBC_2.23 lgammal F
|
|
GLIBC_2.24 GLIBC_2.24 A
|
|
GLIBC_2.24 nextdown F
|
|
GLIBC_2.24 nextdownf F
|
|
GLIBC_2.24 nextdownl F
|
|
GLIBC_2.24 nextup F
|
|
GLIBC_2.24 nextupf F
|
|
GLIBC_2.24 nextupl F
|
|
GLIBC_2.25 GLIBC_2.25 A
|
|
GLIBC_2.25 __iseqsig F
|
|
GLIBC_2.25 __iseqsigf F
|
|
GLIBC_2.25 canonicalize F
|
|
GLIBC_2.25 canonicalizef F
|
|
GLIBC_2.25 canonicalizel F
|
|
GLIBC_2.25 fegetmode F
|
|
GLIBC_2.25 fesetexcept F
|
|
GLIBC_2.25 fesetmode F
|
|
GLIBC_2.25 fetestexceptflag F
|
|
GLIBC_2.25 fmaxmag F
|
|
GLIBC_2.25 fmaxmagf F
|
|
GLIBC_2.25 fmaxmagl F
|
|
GLIBC_2.25 fminmag F
|
|
GLIBC_2.25 fminmagf F
|
|
GLIBC_2.25 fminmagl F
|
|
GLIBC_2.25 fromfp F
|
|
GLIBC_2.25 fromfpf F
|
|
GLIBC_2.25 fromfpl F
|
|
GLIBC_2.25 fromfpx F
|
|
GLIBC_2.25 fromfpxf F
|
|
GLIBC_2.25 fromfpxl F
|
|
GLIBC_2.25 getpayload F
|
|
GLIBC_2.25 getpayloadf F
|
|
GLIBC_2.25 getpayloadl F
|
|
GLIBC_2.25 llogb F
|
|
GLIBC_2.25 llogbf F
|
|
GLIBC_2.25 llogbl F
|
|
GLIBC_2.25 roundeven F
|
|
GLIBC_2.25 roundevenf F
|
|
GLIBC_2.25 roundevenl F
|
|
GLIBC_2.25 setpayload F
|
|
GLIBC_2.25 setpayloadf F
|
|
GLIBC_2.25 setpayloadl F
|
|
GLIBC_2.25 setpayloadsig F
|
|
GLIBC_2.25 setpayloadsigf F
|
|
GLIBC_2.25 setpayloadsigl F
|
|
GLIBC_2.25 totalorder F
|
|
GLIBC_2.25 totalorderf F
|
|
GLIBC_2.25 totalorderl F
|
|
GLIBC_2.25 totalordermag F
|
|
GLIBC_2.25 totalordermagf F
|
|
GLIBC_2.25 totalordermagl F
|
|
GLIBC_2.25 ufromfp F
|
|
GLIBC_2.25 ufromfpf F
|
|
GLIBC_2.25 ufromfpl F
|
|
GLIBC_2.25 ufromfpx F
|
|
GLIBC_2.25 ufromfpxf F
|
|
GLIBC_2.25 ufromfpxl F
|
|
GLIBC_2.27 GLIBC_2.27 A
|
|
GLIBC_2.27 exp2f F
|
|
GLIBC_2.27 expf F
|