Commit Graph

67 Commits

Author SHA1 Message Date
Jonas Maebe
aee5380ae0 * merged trunk up to r20882
o support for the new codepage-aware ansistrings in the jvm branch
   o empty ansistrings are now always represented by a nil pointer rather than
     by an empty string, because an empty string also has a code page which
     can confuse code (although this will make ansistrings harder to use
     in Java code)
   o more string helpers code shared between the general and jvm rtl
   o support for indexbyte/word in the jvm rtl (warning: first parameter
     is an open array rather than an untyped parameter there, so
     indexchar(pcharvar^,10,0) will be equivalent to
     indexchar[pcharvar^],10,0) there, which is different from what is
     intended; changing it to an untyped parameter wouldn't help though)
   o default() support is not yet complete
   o calling fpcres is currently broken due to limitations in
     sysutils.executeprocess() regarding handling unix quoting and
     the compiler using the same command lines for scripts and directly
     calling external programs
   o compiling the Java compiler currently requires adding ALLOW_WARNINGS=1
     to the make command line

git-svn-id: branches/jvmbackend@20887 -
2012-04-15 15:54:10 +00:00
Jonas Maebe
e8dae4f30a * set result of exp() to 0 in case of underflow with masked exceptions
(mantis #21265)

git-svn-id: trunk@20368 -
2012-02-17 13:07:50 +00:00
sergei
2642403d5b * float_raise: Reduce amount of threadvar accesses, gains a bit more compact code. Functionality is not changed.
git-svn-id: trunk@19846 -
2011-12-13 20:21:22 +00:00
Jonas Maebe
8a95a04e16 * extracted dynarray helpers from system unit into jdynarr.inc (were
in the system unit for easier debugging)
  * disabled a bunch more feature flags by default for the JVM target
  * incorporate modified version of inc/systemh.inc (split into two parts:
    jsystemh_types.inc and jsystemh.inc, because some of the types are
    required for the declaration of the shortstring/ansistring/set/...
    classes, which in turn are required for the routine declarations) and
    inc/system.inc (as jsystem.inc)
   o moved some routines around from old to new locations based on where
     they appear in the common files
   o added a number of defines that allow skipping more common implementations
     in case a platform-specific one is already available
  * all base classes (AnsistringClass etc) are now descendants of
    JLObject rather than TObject, because their declaration is now parsed
    before TObject is known (and there's no need for them to inherit from
    TObject)
  * incorporate modified version of inc/system.inc
  * use the common version of generic.inc, currh.inc, gencurr.inc and
    genmath.inc (with small modification to those files)
  + addition of quite a bit of system unit functionality (halt, runerror,
    random, round, str() for integer types, abs, odd, endian swapping helpers,
    bit scanning, trigonometric functions, ln, exp, ...)
   o round()/trunc() for comp-types has been renamed trunc_comp() on the
     JVM target because their JVM signature conflicts with trunc(currency)
   o the unsigned versions of swapendian() and other endian helpers are not
     available on the JVM target because of JVM signature conflicts

git-svn-id: branches/jvmbackend@18746 -
2011-08-20 08:32:13 +00:00
Jonas Maebe
26cc281390 * fixed real48 to double conversion for 0.0 (patch by "jeng", mantis #16863)
git-svn-id: trunk@15543 -
2010-07-10 12:15:13 +00:00
Jonas Maebe
310ec39757 * fixed + optimized generic round_real
- removed cgenmath version of round_real because it wasn't any better
    than the generic one anymore

git-svn-id: trunk@11295 -
2008-06-28 14:17:06 +00:00
Jonas Maebe
30a51c2dee + support for the different rounding modes in the generic rounding
routines (mantis #11392)

git-svn-id: trunk@11290 -
2008-06-27 17:20:56 +00:00
florian
81fd66f6f6 * typo in define fixed
git-svn-id: trunk@11229 -
2008-06-15 10:54:26 +00:00
micha
83b7f81f81 + add no-fpu support to compiler/rtl for powerpc-linux (-Cfnone)
git-svn-id: trunk@10422 -
2008-03-02 12:59:02 +00:00
yury
5e3462b6fc * Fixed warnings and notes.
git-svn-id: trunk@9508 -
2007-12-21 23:28:36 +00:00
yury
04b640880c * fixed exp() for hardfloat on arm.
git-svn-id: trunk@8013 -
2007-07-10 20:31:47 +00:00
florian
5596cd5391 * ensure that qword_to_double is calculated using doubles
git-svn-id: trunk@6152 -
2007-01-23 21:06:46 +00:00
tom_at_work
e501fab034 * replaced all HandleError() calls to appropriate float_raise() calls
* added overflow handling for fpc_exp_real
* removed arbitrary tabbing by spaces, improving readability somewhat

git-svn-id: trunk@6061 -
2007-01-18 22:10:32 +00:00
yury
fa5865845a * use float_raise instead of HandleError in fpc_exp_real.
git-svn-id: trunk@6036 -
2007-01-18 00:20:29 +00:00
tom_at_work
67e6d8d2da * fixed float_error() to call HandleError instead of RunError so that they are properly converted to exceptions
git-svn-id: trunk@6032 -
2007-01-17 22:08:36 +00:00
florian
ce6f6ee4bf * fixed compilation on i386
git-svn-id: trunk@5968 -
2007-01-14 13:56:11 +00:00
florian
b3a1868ff0 * correct masking of exceptions in genmath code
git-svn-id: trunk@5965 -
2007-01-14 10:44:10 +00:00
yury
737634d781 * Call HandleError in fpc_exp_real for overflow and underflow. It fixes webtbs/tw3157.pp for targets where generic fpc_exp_real is used.
git-svn-id: trunk@5948 -
2007-01-13 16:51:43 +00:00
yury
b04c30dfb8 * fixed warnings.
git-svn-id: trunk@5855 -
2007-01-08 19:14:51 +00:00
yury
61f0f0b793 * define FPC_DOUBLE_HILO_SWAPPED for ARM CPU if needed to properly handle doubles in RTL.
git-svn-id: trunk@5439 -
2006-11-21 21:24:01 +00:00
florian
cd5861a01e * fixed compilation on arm
git-svn-id: trunk@5070 -
2006-10-29 20:12:12 +00:00
florian
028a4c0cbf * compilation fixed
git-svn-id: trunk@5066 -
2006-10-29 19:03:52 +00:00
florian
02a553668f + software implementation of exp(<double>)
git-svn-id: trunk@5065 -
2006-10-29 18:02:10 +00:00
florian
484e7ac0c1 * fixed defines
git-svn-id: trunk@4976 -
2006-10-19 15:17:14 +00:00
Jonas Maebe
200ad7e5ae * moved some generic constants out of the {$ifndef FPC_SYSTEM_HAS_TRUNC}
block

git-svn-id: trunk@4940 -
2006-10-16 11:08:47 +00:00
florian
5f3a3bc051 * made the softfpu unit embedable in the system unit
* several fixes to get the softfpu working
* resolved conflicts between genmath and softfpu

git-svn-id: trunk@4935 -
2006-10-15 21:27:30 +00:00
Jonas Maebe
83884ec540 * more "real" fixes
git-svn-id: trunk@4641 -
2006-09-17 21:44:20 +00:00
florian
d4bf6d2aed * fixed problems caused by unifying the real data type
git-svn-id: trunk@4634 -
2006-09-17 18:00:37 +00:00
Jonas Maebe
4c3fb9ae00 * frexp has out instead of var parameter
git-svn-id: trunk@2040 -
2005-12-23 22:03:21 +00:00
florian
b1bd426009 + fpower10 implemented
git-svn-id: trunk@1099 -
2005-09-17 18:56:32 +00:00
michael
3a2eaa94b1 + Removed INTERNCONSTINTF define
git-svn-id: trunk@267 -
2005-06-07 22:04:18 +00:00
michael
93ba0409be + Removed HASCOMPILERPROC define
git-svn-id: trunk@265 -
2005-06-07 21:41:02 +00:00
peter
4ace790492 * remove $Log
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
michael
ffb55c4254 + Removed VER1_0 defines
git-svn-id: trunk@33 -
2005-05-19 21:14:45 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
florian
f093fa9242 - killed power from system unit
* move operator ** to math unit
2005-02-08 20:25:28 +00:00
Jonas Maebe
08da4e9278 * fixed power() in genmath.inc (code duplication from math.pp for **
support!)
  * fixed power() in math.pp to give an error from 0^0
2004-12-05 16:43:57 +00:00
peter
4d8460ec2f * float routines all use internproc and compilerproc helpers 2004-11-21 15:35:23 +00:00
Jonas Maebe
cfeaa8aa65 * some compilation fixes for powerpc after all the internconst and
internproc changes, still crashes with internalerror(88) for ppc1
    on real2str.inc(193,39)
2004-11-20 15:49:21 +00:00
Jonas Maebe
0f26252376 + cgenmath with libc math functions. Faster than the routines in genmath
and also have full double support (exp() only has support for values in
    the single range in genmath, for example). Used in FPC_USE_LIBC is
    defined
  * several fixes to allow compilation with -dHASINLINE, but internalerrors
    because of missing support for inlining assembler code
2004-10-09 21:00:46 +00:00
florian
12bf88080f * fixed trunc for abs(value) < 1 2004-10-03 14:09:39 +00:00
florian
7e328ccf29 + made generic trunc 64 bit aware 2004-10-03 14:00:21 +00:00
peter
3094258825 * removed warnings 2004-05-31 20:25:04 +00:00
florian
5fe2004441 * fixed some arm related real stuff 2004-03-13 18:33:52 +00:00
florian
2e80f0de5f * arm startup code fixed
* made some generic math code more readable
2004-03-11 22:39:53 +00:00
florian
9e6f48750a * fixed generic system.int(...) 2004-02-04 14:15:57 +00:00
florian
9e00ecb080 * fixed small bugs
* fixed some arm issues
2004-01-24 18:15:58 +00:00
florian
1d3368ccde * some const inserted 2004-01-24 01:32:00 +00:00