summaryrefslogtreecommitdiffstats
path: root/lib/libc/arch/sparc64/fpu (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Mark the _Qp_{mul,div,add,sub} functions as 'protected' to eliminateguenther2019-10-271-2/+3
| | | | | | PLT entries and prevent overriding ok kettenis@ deraadt@
* Fix conversions to long double on sparc64jca2019-06-212-12/+12
| | | | | | | | | | | | | | | | | | | | | | | Bug exposed by erratic sqlite3 behavior used in ports/devel/proj, as pointed out by landry@. Richard Hipps (SQLite) pointed at the culprit (_Qp_div), many thanks. Adapted from FreeBSD revision 146673 by Stephen Paskaluk and stefanf@FreeBSD. FreeBSD commit message: """ Fix long (and long long) to long double, unsigned to long double and unsigned long (and unsigned long long) to long double conversions. - Add a parameter that specifies the position of the sign bit to the _QP_TTOQ macro, previously it always looked at bit 31. Pass a negative number to disable sign inspection for unsigned types. This fixes _Qp_xtoq(), _Qp_uitoq() and _Qp_uxtoq(). - In the functions __fpu_itof() and __fpu_xtof(), look at the sign bit to decide whether we're doing a conversion from an unsigned type. If so, don't negate the mantissa if the integer exceeds the biggest signed number. """ ok deraadt@
* Remove FBSDID.kevlo2019-03-159-45/+9
| | | | ok deraadt@
* Hide __fpu_* and make internal _Qp_* calls go direct.guenther2016-05-085-13/+53
| | | | ok kettenis@
* Tweak previous: rename it to fpround() to match FreeBSDguenther2015-11-151-11/+11
| | | | requested by kettenis@
* I got a round tuit to rename round() to roundit() to avoid gcc warning.guenther2015-11-151-14/+14
| | | | ok deraadt@
* Fix some bugs in the _Qp_sqrt implementation that would limit the accuracykettenis2014-09-121-4/+4
| | | | | | of the result in many cases. From FreeBSD allbeit with some changes to keep the coding style consistent. This fixes the asinhl(4) issue reported by dickman@ on tech@.
* It's been a quarter century: we can assume volatile is present with that name.guenther2014-04-172-17/+17
|
* 1 << 31 cleanup. Eitan Adler pointed out that there has been aderaadt2013-11-262-8/+8
| | | | | resurrection of the bad idiom in the tree. sufficient review by miod, kettenis, tedu
* Remove excessive sys/cdefs.h inclusionderaadt2012-12-059-18/+9
| | | | ok guenther millert kettenis
* Add two missing quad-precision emulation functions: _Qp_cmp and _Qp_cmpe. Atkettenis2012-12-031-9/+12
| | | | least the former is emitted by modern versions of GCC.
* arithemtic -> arithmeticmiod2011-09-171-2/+2
|
* First pass at removing clauses 3 and 4 from NetBSD licenses.ray2008-06-261-8/+1
| | | | | | | | | Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code that NetBSD has claimed for itself without attributing to the actual authors. OK deraadt@
* from FreeBSD via Jung (moorang at gmail), fix obvious typo in __fpu_ftox()jason2007-02-121-9/+9
| | | | which caused all negative numbers returned to be == -1.
* please gccderaadt2006-12-231-1/+2
|
* Fix unsigned {int, long, long long} to long double conversions forotto2004-09-283-11/+65
| | | | values with the high bit set. ok kettenis@ jason@
* From the how many ways can you screw up replacing one line of codejason2004-03-241-2/+2
| | | | | department: cast 'i' to u_int64_t so the sign comparison actually makes sense. Any other bugs in here just ship in the release, I'm done.
* use absolute value like rev 1.1 did; pointed out by tom and ok deraadt.jason2004-03-231-1/+2
|
* gcc3 doesn't align things the same as gcc2. Casting upwards is dangerousjason2004-03-231-2/+3
| | | | to a program's health, avoid it. ok deraadt
* correct psABI functions _Q_feq and friends (they return 'int' not long double);jason2004-02-032-14/+14
| | | | pointed out by Mark Kettenis, kettenis,chello,nl
* quad float emulation stuff. Mostly based on freebsd (which is based onjason2003-07-2117-0/+3898
NetBSD's kernel emulation stuff). Not enabled yet.