Compare commits

..

1123 Commits

Author SHA1 Message Date
bryner%uiuc.edu
666ff43be0 Updating for rdf branch. Not part of build.
git-svn-id: svn://10.0.0.236/branches/RDF_FILEPICKER_BRANCH@77603 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-30 07:20:38 +00:00
(no author)
73f91c8955 This commit was manufactured by cvs2svn to create branch
'RDF_FILEPICKER_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/RDF_FILEPICKER_BRANCH@77601 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-30 07:15:24 +00:00
bryner%uiuc.edu
4b41f7560f Adding filepicker.dtd on the branch.
git-svn-id: svn://10.0.0.236/branches/RDF_FILEPICKER_BRANCH@77170 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-25 04:35:29 +00:00
(no author)
db8b93f218 This commit was manufactured by cvs2svn to create branch
'RDF_FILEPICKER_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/RDF_FILEPICKER_BRANCH@77148 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-25 01:56:40 +00:00
bryner%uiuc.edu
790f0b060f RDF filepicker changes.
git-svn-id: svn://10.0.0.236/branches/RDF_FILEPICKER_BRANCH@77124 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-24 22:38:19 +00:00
(no author)
bd57f5acca This commit was manufactured by cvs2svn to create branch
'RDF_FILEPICKER_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/RDF_FILEPICKER_BRANCH@76608 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 02:32:10 +00:00
bryner%uiuc.edu
de41f8b3c2 Fixing 47984 - crash when filepicker starts in invalid
directory.  r=pavlov.


git-svn-id: svn://10.0.0.236/trunk@76607 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 02:32:09 +00:00
mscott%netscape.com
9f33dfe18f Bug #46522 --> use weak references for message pane docshell and
root docshell to avoid a crash when you switch themes and we pull out
these docshells....
r=alecf


git-svn-id: svn://10.0.0.236/trunk@76606 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 01:47:44 +00:00
rcassin%supernova.org
a1433e6d19 Fix for 45645 (Can paste into ReadOnly textfield) r=akkana
git-svn-id: svn://10.0.0.236/trunk@76605 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 01:34:22 +00:00
akkana%netscape.com
ceaf606725 46643: Attempt to fix intermittent crash when clearing clipboard. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@76604 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 01:33:09 +00:00
morse%netscape.com
32a7d35469 bug 49393, context menu in ftp is wrong, fix=jrgm, r=morse
git-svn-id: svn://10.0.0.236/trunk@76603 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 01:28:58 +00:00
morse%netscape.com
20ba5c833d bug 49393, edit menu in ftp is wrong, fix=jrgm, r=morse
git-svn-id: svn://10.0.0.236/trunk@76602 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 01:28:23 +00:00
bryner%uiuc.edu
02c02201e8 Making saari's debug output #ifdef DEBUG_FOCUS. r=pavlov.
git-svn-id: svn://10.0.0.236/trunk@76601 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 01:24:57 +00:00
mccabe%netscape.com
f10846667d Rectify // comment to /** comment
git-svn-id: svn://10.0.0.236/trunk@76600 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 01:09:29 +00:00
ftang%netscape.com
c2db6c347e *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@76599 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 00:47:03 +00:00
beard%netscape.com
1d1f0fda1b standard leak format for leaksoup r=waterson (not part of build)
git-svn-id: svn://10.0.0.236/trunk@76598 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 00:45:24 +00:00
alecf%netscape.com
70722673f2 other part of fix for filter stuff r=bienvenu
git-svn-id: svn://10.0.0.236/trunk@76597 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 00:18:29 +00:00
alecf%netscape.com
74c3d3a8a4 fix for #48994 - correctly clear the default account pref when the default account is deleted
r=ducarroz


git-svn-id: svn://10.0.0.236/trunk@76596 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 00:10:15 +00:00
ducarroz%netscape.com
b82006948f Fix for bug 48994. Take the first identity if we don't have a default one. R=alecf
git-svn-id: svn://10.0.0.236/trunk@76595 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 00:08:59 +00:00
brendan%mozilla.org
b9dbc566ac Add jsdhash.
git-svn-id: svn://10.0.0.236/trunk@76594 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-18 00:04:53 +00:00
rcassin%supernova.org
437af36574 Checkin kin's fix for bug 48879, r=sfraser
git-svn-id: svn://10.0.0.236/trunk@76593 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 23:55:32 +00:00
alecf%netscape.com
80deab3bd6 search & filter revamp
- fixes #41711, #48698, #48238 among other things
- moves some XBL into straight JS where it belongs
- fixes bad XBL setters to return the value that comes in
- fire more notification when filter attributes/operators change


git-svn-id: svn://10.0.0.236/trunk@76592 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 23:54:52 +00:00
gayatrib%netscape.com
44fad5837d fix for bugs 38107 and 40175. review=putterman
git-svn-id: svn://10.0.0.236/trunk@76591 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 23:48:42 +00:00
mccabe%netscape.com
85cc5c05a9 Fix to 49365.
Work around dump() logging messages to the js console by not having the js console call dump().  Also fix the console code so that string messages (originating from logStringMessage() calls) get printed properly, and adjust the number of saved console messages to match that of the underlying console service.

r=jband, a=beard


git-svn-id: svn://10.0.0.236/trunk@76590 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 23:39:49 +00:00
hyatt%netscape.com
5dda7e45d5 Fix for 48187, r=danm
git-svn-id: svn://10.0.0.236/trunk@76589 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 22:44:01 +00:00
rods%netscape.com
a62d36cc93 removing "return NS_OK" because it keeps it from doing the call to
nsFrame which calls HandleRelease. Without HandleRelease the EventStateManager
mMouseGrabber never gets cleared and it keeps thinking events need to go to the view.
b=48792 r=pollmann


git-svn-id: svn://10.0.0.236/trunk@76588 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 22:39:13 +00:00
pavlov%netscape.com
149c937939 patch to hold on to the image gc when possible. reduces the number of creategc/freegc calls r=imot. linux performance bug 26502
git-svn-id: svn://10.0.0.236/trunk@76587 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 21:53:10 +00:00
ftang%netscape.com
327bcf3b2c fix 47114. remap 6 characters to the MacOS truetype value for symbol fonts. r=nhotta
git-svn-id: svn://10.0.0.236/trunk@76586 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 21:47:42 +00:00
pavlov%netscape.com
9101782fbb patch from Tomi Leppikangas <Tomi.Leppikangas@oulu.fi> to reuse GCs when the only person holding on to them is the GC cache (i.e. don't create/destroy, just change) r=pavlov,shaver. work on linux performance bug 26502
git-svn-id: svn://10.0.0.236/trunk@76585 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 21:44:11 +00:00
akkana%netscape.com
eb5cd788d6 Define NS_VK keycodes in terms of nsIDOMKeyEvent keycodes. r=saari. Requires undefining ERROR on Win32, r=cmanske
git-svn-id: svn://10.0.0.236/trunk@76584 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 21:43:26 +00:00
rods%netscape.com
652bee7703 listbox - selecting with keyboard no longer allows you to stop on a disabled option, it skips them
as does page up and page down
combobox - selecting a disabled option didn't clear the "mouse down" flag and it still thought it was selecting
combobox - selecting a disabled option clears mSelectedIndex, this side effect could be seen by selected
a disabled item then clicking on a link and then hit "back",
b=48903 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@76583 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 21:38:15 +00:00
pavlov%netscape.com
b605aca85a fir for bug 46729. convert things like smart quotes to normal quotes when pasting as plain text r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@76582 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 21:37:09 +00:00
alecf%netscape.com
bacf3de7b8 remove mac and windows-specific messenger.css, just use XP one
r=putterman (no bug, just a build issue)


git-svn-id: svn://10.0.0.236/trunk@76581 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 21:22:42 +00:00
hyatt%netscape.com
d9127a969f Fix for 48150, r=danm
git-svn-id: svn://10.0.0.236/trunk@76580 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 21:11:38 +00:00
scc%mozilla.org
cf1b290be1 not part of the build; temporarily patching these files to use the old (what is currently in the tree) |GetReadableFragment| scheme, so that clients can start using this now both on the tip and on the DOMAPI... branch
git-svn-id: svn://10.0.0.236/trunk@76579 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 21:07:45 +00:00
danm%netscape.com
3950205ea9 HandleContent now forces a new window by suppressing the target name if it could be interpreted as something in parentWindow. bug 44797 r=mscott@netscape.com
git-svn-id: svn://10.0.0.236/trunk@76578 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 21:05:42 +00:00
kmcclusk%netscape.com
5c41f2d533 Destroy offscreen surfaces using a singleton nsIRenderingContext instance instead of creating a nsIRenderingContext during shutdown b=48190 r=attinasi@netscape.com
Allways destroy the global array of ViewManager's when last view manager instance is destroyed b=45921 r=attinasi@netscape.com


git-svn-id: svn://10.0.0.236/trunk@76577 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 21:05:16 +00:00
harishd%netscape.com
6368271fde bug 22886 - Relax refresh header paring, in the sink, a little bit.
r=pollmann


git-svn-id: svn://10.0.0.236/trunk@76576 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 20:55:48 +00:00
harishd%netscape.com
be80e197f0 bug 30487 ( nsbeta3+ ) - Watch out for barriers before popping off any stylistic
information
bug 37618 ( nsbeta3+ ) - Orpahaned residual tag can close only inline parents.
bug 44085 ( nsbeta3+ ) - Push comment into misplaced list if there are items in
queued in the list.
bug 22886 ( nsbeta3+ ) - Relax refresh header parsing, in the sink, a little bit
so that '.' is accounted for.

r=pollmann


git-svn-id: svn://10.0.0.236/trunk@76575 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 20:54:49 +00:00
bryner%uiuc.edu
fc97c0badb Fixing bug 42345 - hook up NS_MOVE events when a toplevel window is moved
on Linux.  Also use get_root_origin instead of get_origin so that we
persist the correct position.  r=blizzard.


git-svn-id: svn://10.0.0.236/trunk@76574 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 20:51:43 +00:00
radha%netscape.com
2bfd21680d fix for 45770 r=nisheeth.
git-svn-id: svn://10.0.0.236/trunk@76573 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 20:44:43 +00:00
bryner%uiuc.edu
fd8aac2f02 Fixing 48311 - make * (All files) really show all files in linux
filepicker.  r=pavlov, jag.


git-svn-id: svn://10.0.0.236/trunk@76572 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 20:31:21 +00:00
jgmyers%netscape.com
f56e5dd53a fix host header syntax for IPv6 address literals: bug 45891 r=gagan a=waterson
git-svn-id: svn://10.0.0.236/trunk@76571 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 20:19:15 +00:00
bienvenu%netscape.com
16668c3260 disable filters with invalid move targets 46876 r=alecf
git-svn-id: svn://10.0.0.236/trunk@76570 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 20:10:51 +00:00
rods%netscape.com
2d4f1df8f2 fixes when to use preferred size versus computed size versus available size.
b=40596, r=evaughan,hyatt,kmcclusk


git-svn-id: svn://10.0.0.236/trunk@76569 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 20:08:44 +00:00
edburns%acm.org
f8f85a7b78 bug=49293
r=gbarney
a=edburns

M classes_spec/org/mozilla/webclient/test/EMWindow.java
A src_ie/CMyDialog.cpp
A src_ie/CMyDialog.h
M src_ie/CurrentPageImpl.cpp
M src_ie/HistoryImpl.cpp
M src_ie/Makefile.win
M src_ie/NativeEventThread.cpp
M src_ie/WindowControlImpl.cpp
M src_ie/WrapperFactoryImpl.cpp
M src_ie/ie_util.cpp
M src_ie/ie_util.h

cvs diff -u classes_spec/org/mozilla/webclient/test/EMWindow.java src_ie/CMyDialog.cpp src_ie/CMyDialog.h src_ie/CurrentPageImpl.cpp src_ie/HistoryImpl.cpp src_ie/Makefile.win src_ie/NativeEventThread.cpp src_ie/WindowControlImpl.cpp src_ie/WrapperFactoryImpl.cpp src_ie/ie_util.cpp src_ie/ie_util.h

This change adds listener DocumentLoadListener support to src_ie.

tar -cvf 49293.tar classes_spec/org/mozilla/webclient/test/EMWindow.java src_ie/CMyDialog.cpp src_ie/CMyDialog.h src_ie/CurrentPageImpl.cpp src_ie/HistoryImpl.cpp src_ie/Makefile.win src_ie/NativeEventThread.cpp src_ie/WindowControlImpl.cpp src_ie/WrapperFactoryImpl.cpp src_ie/ie_util.cpp src_ie/ie_util.h


git-svn-id: svn://10.0.0.236/trunk@76568 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 19:54:43 +00:00
edburns%acm.org
ec836104c1 r=ashuk
bug=47357
a=edburns
Files in this checkin

M src_moz/CBrowserContainer.cpp
M src_moz/CBrowserContainer.h
M src_moz/ns_util.cpp
M src_moz/ns_util.h
M src_share/jni_util.cpp
M src_share/jni_util.h

cvs diff -u src_moz/CBrowserContainer.cpp src_moz/CBrowserContainer.h src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h

This change moves out listener constants and other support data from
src_moz into src_share to enable it to be used in src_ie.

tar -cvf 47357.tar src_moz/CBrowserContainer.cpp src_moz/CBrowserContainer.h src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h


git-svn-id: svn://10.0.0.236/trunk@76567 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 19:52:15 +00:00
morse%netscape.com
e985102af6 bug 48742, adding privacy tutorial, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@76566 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 19:32:58 +00:00
dbragg%netscape.com
daf4d51382 Fix for bugs 47058 and 47097. r=sgehani
git-svn-id: svn://10.0.0.236/trunk@76565 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 19:28:06 +00:00
av%netscape.com
f4cecefbae Part of 46490 fix, r=adamlock
git-svn-id: svn://10.0.0.236/trunk@76564 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 19:26:15 +00:00
av%netscape.com
30b41b305e Fixing 46490, r=sean, r=waterson, r=valeski, a=adamlock
git-svn-id: svn://10.0.0.236/trunk@76563 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 19:16:39 +00:00
blizzard%redhat.com
1f49190e84 unused files for simple embedding shell
git-svn-id: svn://10.0.0.236/trunk@76562 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 19:12:23 +00:00
mcafee%netscape.com
d822c9dfd9 Minor layout tweak to Integration pref pane (40888).
git-svn-id: svn://10.0.0.236/trunk@76561 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 19:03:27 +00:00
edburns%acm.org
05d77f9269 r=ashuk
a=edburns
Files in this checkin

M src_moz/CBrowserContainer.cpp
M src_moz/CBrowserContainer.h
M src_moz/ns_util.cpp
M src_moz/ns_util.h
M src_share/jni_util.cpp
M src_share/jni_util.h

cvs diff -u src_moz/CBrowserContainer.cpp src_moz/CBrowserContainer.h src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h

This change moves out listener constants and other support data from
src_moz into src_share to enable it to be used in src_ie.

tar -cvf 47357.tar src_moz/CBrowserContainer.cpp src_moz/CBrowserContainer.h src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h


git-svn-id: svn://10.0.0.236/trunk@76560 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 18:29:18 +00:00
pierre%netscape.com
413d134dfe 43420 + CSS3 update: renamed "text-align:-moz-default" into "text-align:start"
git-svn-id: svn://10.0.0.236/trunk@76558 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 13:28:18 +00:00
mkaply%us.ibm.com
105698a14e OS/2 Tinderbox break
OK will someone WAKE UP and realize that we need XP_WIN defined in the build?
XP_PC does NOT mean XP_WIN.
WE NEED XP_WIN IN THE BUILD
SOMEONE TURN IT ON IN THE MAKEFILE!


git-svn-id: svn://10.0.0.236/trunk@76557 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 12:52:04 +00:00
nboyd%atg.com
6c5a6c1c92 Fix for bug 49302
git-svn-id: svn://10.0.0.236/trunk@76556 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 12:37:32 +00:00
nboyd%atg.com
1be29d3f63 Fix 49301.
git-svn-id: svn://10.0.0.236/trunk@76555 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 12:28:46 +00:00
jfrancis%netscape.com
6376ebe2b4 gave a pref a better name and a more traditional set of values.
git-svn-id: svn://10.0.0.236/trunk@76554 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 09:51:27 +00:00
hyatt%netscape.com
7e348287cb Fix for 38461, r=ben
git-svn-id: svn://10.0.0.236/trunk@76553 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 09:15:51 +00:00
pierre%netscape.com
4c4599562d 49154: uninitialized variable. Thanks to bruce@cubik.org (Bruce Mitchener)
git-svn-id: svn://10.0.0.236/trunk@76552 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 08:26:53 +00:00
hyatt%netscape.com
2b2574bdf1 Fix for 43375, r=ben
git-svn-id: svn://10.0.0.236/trunk@76551 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 08:15:47 +00:00
hyatt%netscape.com
84a22f9437 First-stage fix for dogfood bug 49012. r=ben
git-svn-id: svn://10.0.0.236/trunk@76550 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 08:11:11 +00:00
mscott%netscape.com
7cdd9ead65 Bug #47681 --> more polish on the message header pane, reformat the date header so it matches the format we use in the thread pane.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@76549 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 07:35:25 +00:00
mscott%netscape.com
d977ab70c3 For modern skin:
Bug #46348, 22960 --> fix expensive style rules to make the message header pane faster,
fix vertical alignment problem between header values by forcing our html tags to
have 0 margins (they were inheriting a default margin size)
Bug #47681 Force proper alignment of the header names in the message pane.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@76548 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 07:25:00 +00:00
mscott%netscape.com
40bd7d26f5 For classic windows skin:
Bug #46348, 22960 --> fix expensive style rules to make the message header pane faster,
fix vertical alignment problem between header values by forcing our html tags to
have 0 margins (they were inheriting a default margin size)
Bug #47681 Force proper alignment of the header names in the message pane.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@76547 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 07:24:37 +00:00
mscott%netscape.com
48ef99a6e8 For classic skin:
Bug #46348, 22960 --> fix expensive style rules to make the message header pane faster,
fix vertical alignment problem between header values by forcing our html tags to
have 0 margins (they were inheriting a default margin size)
Bug #47681 Force proper alignment of the header names in the message pane.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@76546 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 07:24:20 +00:00
mscott%netscape.com
babd5a5b29 Bug #46348, 22960 --> fix expensive style rules to make the message header pane faster,
fix vertical alignment problem between header values by forcing our html tags to
have 0 margins (they were inheriting a default margin size)
Bug #47681 Force proper alignment of the header names in the message pane.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@76545 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 07:23:26 +00:00
mscott%netscape.com
305b4925f9 Bug #22960 --> rewrite the email address widget so it extends from xul:box instead of
base text. Remove needless box from the widget. This gets rid of the awful assertion
saying the widget had bad xul whenever we created one.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@76544 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 07:21:51 +00:00
jst%netscape.com
ce9e38761e Fixing nsbeta3+ bug 30534. Don't lie about what DOM features we support, be honest./paralellCheckout | & less r=nisheeth@netscape.com
git-svn-id: svn://10.0.0.236/trunk@76543 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 07:09:05 +00:00
jst%netscape.com
f3eeaaab8a Fixing nsbeta3+ bug 44002. Don't use non boolean values (the value 2 in this case) as a boolean true since 2 != true in JS. This caused scripts that rely on img.complete == true when an image has loaded to break. r=nisheeth@netscape.com
git-svn-id: svn://10.0.0.236/trunk@76542 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 06:28:47 +00:00
jst%netscape.com
9baadc5225 Fixing nsbeta3+ bug 43327. Make window.history act like an array to be compatible with 4.x, and add proper security checks for DOM array access. r=mstoltz@netscape.com
git-svn-id: svn://10.0.0.236/trunk@76541 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 05:56:44 +00:00
jfrancis%netscape.com
879fac6cf9 adding a hidden pref for the editor:
editor.liReturnBehavior "no" will disable the default behavior of popping you out of lists if you hit return in an empty list item.


git-svn-id: svn://10.0.0.236/trunk@76539 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 05:26:32 +00:00
dougt%netscape.com
6e0d004a19 b=47143, r=valeski. Puts the real object release on the proper thread.
git-svn-id: svn://10.0.0.236/trunk@76538 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 05:02:37 +00:00
jfrancis%netscape.com
693d1707a2 fix for 48132: editor observer list maintainance was even less safe than i would have guessed...
git-svn-id: svn://10.0.0.236/trunk@76537 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 04:50:04 +00:00
pinkerton%netscape.com
65a9162688 Fix for 48291, r=saari. For internal formats that are not CF_TEXT, eg text/html,
treat them like they are unicode and do the fiddling required for win98.


git-svn-id: svn://10.0.0.236/trunk@76536 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 04:19:14 +00:00
jfrancis%netscape.com
3a6540f7dd 44684: adding a "GetAlignment" call to the editor so that ui can reflect alignment of selection
git-svn-id: svn://10.0.0.236/trunk@76535 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 03:59:50 +00:00
saari%netscape.com
3ae9cffa35 fix for nsbeta3+ 43254. r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@76534 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 03:41:56 +00:00
saari%netscape.com
d08a39d4a3 fix for nsbeta3+ 29800; deactivate not firing properly on linux. r=bryner
git-svn-id: svn://10.0.0.236/trunk@76533 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 03:29:06 +00:00
mkaply%us.ibm.com
8670ca92e9 OS/2 Tinderbox break
OK will someone WAKE UP and realize that we need XP_WIN defined in the build?
XP_PC does NOT mean XP_WIN.
WE NEED XP_WIN IN THE BUILD
SOMEONE TURN IT ON IN THE MAKEFILE!


git-svn-id: svn://10.0.0.236/trunk@76532 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 03:18:03 +00:00
pinkerton%netscape.com
9f1b839c48 more build bustage fixes.
git-svn-id: svn://10.0.0.236/trunk@76531 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 03:11:33 +00:00
pinkerton%netscape.com
d51fc708c4 fix bustage a better way, include nsRDFResource.cpp directly instead of the shlb, which was just plain wrong. r=beard.
git-svn-id: svn://10.0.0.236/trunk@76530 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 02:32:40 +00:00
mcafee%netscape.com
e4ab603cfa Fix build warning, trailing slash looks run-on comment to the egcs compiler.
git-svn-id: svn://10.0.0.236/trunk@76529 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 01:53:59 +00:00
pinkerton%netscape.com
0f738af7ef add rdf lib to fix bustage
git-svn-id: svn://10.0.0.236/trunk@76528 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 01:49:49 +00:00
jband%netscape.com
090c61aae5 fix bug 49137 by using PR_GetEnv rather than prefs to get these developer options r=mccabe
git-svn-id: svn://10.0.0.236/trunk@76527 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 01:20:02 +00:00
scc%mozilla.org
c91876a661 not yet part of the build, this new class provides a more consistent and flexible answer to the need for functions like |AppendInt| and |AppendFloat|. It is a short readable string produced with printf.
git-svn-id: svn://10.0.0.236/trunk@76526 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 01:08:30 +00:00
mcafee%netscape.com
496587e3dd Moving autocomplete pref from message composition pane to addressing pane to save screen space (40888). r=slamm, a=glick
git-svn-id: svn://10.0.0.236/trunk@76525 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 01:06:27 +00:00
mcafee%netscape.com
29a929804f Splitting debug pref pane into 3 panes to save room (40888). Debug gets general stuff, debug1 gets events stuff, debug2 gets networking stuff. Explicitly picked generic names for these files in case usage changes later. r=slamm
git-svn-id: svn://10.0.0.236/trunk@76524 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:51:18 +00:00
ftang%netscape.com
0ef45c8297 move about.html from content to locale
fix bug 1547


git-svn-id: svn://10.0.0.236/trunk@76523 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:36:23 +00:00
ftang%netscape.com
5cc60ce8ae fix bug 1547 r=mcafee move about.html from content to locale
git-svn-id: svn://10.0.0.236/trunk@76522 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:32:00 +00:00
ftang%netscape.com
38fc2a3564 fix bug 1547 move about.html from content to locale
git-svn-id: svn://10.0.0.236/trunk@76521 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:31:02 +00:00
rogerl%netscape.com
3c89b06dc3 Backing out fix to see if Linux build passes alivetest.
git-svn-id: svn://10.0.0.236/trunk@76520 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:30:57 +00:00
ftang%netscape.com
a0d6347214 fix bug 1547 move about.html from content to locale
r=mcafee


git-svn-id: svn://10.0.0.236/trunk@76519 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:29:31 +00:00
ftang%netscape.com
ad30306e3c fix bug 1547. move about.html from content to locale
r=mcafee


git-svn-id: svn://10.0.0.236/trunk@76518 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:28:34 +00:00
ftang%netscape.com
a384444f4f move about.html to locale from content fix bug 1547 r=mcafee
git-svn-id: svn://10.0.0.236/trunk@76517 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:25:16 +00:00
tao%netscape.com
419c2f6ca1 Take out debug printout. (r,a)=ftang.
git-svn-id: svn://10.0.0.236/trunk@76516 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:17:51 +00:00
dbaron%fas.harvard.edu
9b56742a81 Attempt to fix Sun/HP/AIX bustage. r=cls
git-svn-id: svn://10.0.0.236/trunk@76515 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:15:50 +00:00
hyatt%netscape.com
a3f1e2295b Fix for 48083. r=danm
git-svn-id: svn://10.0.0.236/trunk@76514 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:10:40 +00:00
akkana%netscape.com
4df3e025f1 23587: Make accelerator and menu access keys settable through a pref. r=saari
git-svn-id: svn://10.0.0.236/trunk@76513 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:09:16 +00:00
ftang%netscape.com
491f25c126 add perl tool which convert CP932.TXT to a JIS0208 table
git-svn-id: svn://10.0.0.236/trunk@76512 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:07:54 +00:00
alecf%netscape.com
e1dfaacaac oops, forgot these in my last checkin
git-svn-id: svn://10.0.0.236/trunk@76511 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:05:31 +00:00
ftang%netscape.com
9d3908cda6 fix bug 35166 and 41666. Change the conversion to use the source from CP932.TXT
so we can convert round trip correctly with the other direction
the table is generated by ufrom. r=ftang


git-svn-id: svn://10.0.0.236/trunk@76510 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:03:06 +00:00
pinkerton%netscape.com
ef604420b0 Don't break VC5 (yawn). 48862, a=waterson
git-svn-id: svn://10.0.0.236/trunk@76509 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:02:38 +00:00
ftang%netscape.com
1318142bff correct the spelling of jis_0208-1983 and jis_0212-1990 (extra x)
r=nhotta fix bug 49107


git-svn-id: svn://10.0.0.236/trunk@76508 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-17 00:01:31 +00:00
hyatt%netscape.com
20a43ac75c Fix for 32661, r=brendan
git-svn-id: svn://10.0.0.236/trunk@76507 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:57:03 +00:00
bienvenu%netscape.com
825be26c71 don't link in js, that was just for testing
git-svn-id: svn://10.0.0.236/trunk@76506 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:52:32 +00:00
hyatt%netscape.com
3a019b1360 Fix for 44227, r=ben
git-svn-id: svn://10.0.0.236/trunk@76505 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:51:35 +00:00
alecf%netscape.com
3b07c56c25 rework nsMessages so they are generic across all server/folder types, so that we can recycle them later
r=putterman
for bug #26456


git-svn-id: svn://10.0.0.236/trunk@76504 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:45:58 +00:00
mcafee%netscape.com
218b8b30be Adding entry for images pref pane. r=matt
git-svn-id: svn://10.0.0.236/trunk@76503 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:45:12 +00:00
bienvenu%netscape.com
b38e8b4b9b fix linux bustage
git-svn-id: svn://10.0.0.236/trunk@76502 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:42:00 +00:00
hyatt%netscape.com
f0014800a4 Fix for 48450. r=morse
git-svn-id: svn://10.0.0.236/trunk@76501 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:41:32 +00:00
saari%netscape.com
2fdc688449 Fixing focus regression I caused by over eargly releasing documents from nsEventStateManager
git-svn-id: svn://10.0.0.236/trunk@76500 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:38:54 +00:00
bienvenu%netscape.com
dcdf6981f7 fix undo of imap delete r=mscott 29039
git-svn-id: svn://10.0.0.236/trunk@76497 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:35:48 +00:00
bienvenu%netscape.com
70ee0e056f part of fix for writing out newsrc files on a timer r=mscott 29743
git-svn-id: svn://10.0.0.236/trunk@76496 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:33:19 +00:00
dprice%netscape.com
7a7ea92f9c adding platform specific jar.mn
git-svn-id: svn://10.0.0.236/trunk@76495 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:29:55 +00:00
dprice%netscape.com
427d885360 moving platform specific files to their own manifest files.
git-svn-id: svn://10.0.0.236/trunk@76494 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:28:40 +00:00
robinf%netscape.com
a68ee3daa9 updating this image to remove license and readme icons
git-svn-id: svn://10.0.0.236/trunk@76493 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:26:21 +00:00
bienvenu%netscape.com
f15e25ecbe cache charset converters used in msg dispaly r=nhotta 47542
git-svn-id: svn://10.0.0.236/trunk@76492 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:22:26 +00:00
bienvenu%netscape.com
9dfe4183e4 fix begins with search, r=alecf 49049
git-svn-id: svn://10.0.0.236/trunk@76491 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:19:51 +00:00
dbaron%fas.harvard.edu
aea37551a9 Fix string leaks from nsWindow::SetTitle. r=pavlov b=49148
git-svn-id: svn://10.0.0.236/trunk@76490 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:18:33 +00:00
dbaron%fas.harvard.edu
cec97be5f7 Fix leak of strings used as hash table keys. r=waterson b=48880
git-svn-id: svn://10.0.0.236/trunk@76489 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:16:21 +00:00
hyatt%netscape.com
f7c2acd171 Fix for 45728. r=saari
git-svn-id: svn://10.0.0.236/trunk@76488 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:14:50 +00:00
dbaron%fas.harvard.edu
eb3bc9d467 Fix a leak of the keys used as strings in all cases. r=waterson b=44051
git-svn-id: svn://10.0.0.236/trunk@76487 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:14:08 +00:00
kin%netscape.com
1e4907fd53 Partial fix for bug #45152: Typed text does not render in TextAreas with a horizontal scrollbar
Made Reflow() invalidate the correct region during an incremental or dirty reflow.
r=waterson@netscape.com


git-svn-id: svn://10.0.0.236/trunk@76486 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:12:19 +00:00
dbaron%fas.harvard.edu
34be9dc90a Fix two string leaks: one in nsBrowserInstance::LoadInitialPage, and the other in nsBrowserInstance::GetDocumentCharset. r=waterson
git-svn-id: svn://10.0.0.236/trunk@76485 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:11:31 +00:00
nbhatla%netscape.com
adf077bbc2 #46519-> Mac Classic Polish Fixes. Fixes editor disabled states for bold, underline, italic, ol, and ul buttons in format toolbar. Also pertains to bugs #47685 and #48700. r=cmanske,sfraser
git-svn-id: svn://10.0.0.236/trunk@76484 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:09:15 +00:00
terry%mozilla.org
4fdca29a5d Deflect email away from me.
git-svn-id: svn://10.0.0.236/trunk@76483 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:07:37 +00:00
nbhatla%netscape.com
9ba567b5ab #46519 -> Mac Classic Skin Polish. Updates to Editor Format Toolbar icons, for bugs #47685 and #48700. Also removed duplicate lines from navigator.css. r=hangas
git-svn-id: svn://10.0.0.236/trunk@76482 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:06:56 +00:00
morse%netscape.com
65b4d1ab32 bug 42438, always display capture on context menu when prefill is displayed, r=law
git-svn-id: svn://10.0.0.236/trunk@76481 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:06:52 +00:00
dbaron%fas.harvard.edu
35100701ae Count the nsFontGTK class in the leak stats. Some of these are leaked, so the numbers may go up. r=waterson
git-svn-id: svn://10.0.0.236/trunk@76480 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:05:56 +00:00
morse%netscape.com
7f6759ad63 bug 49189, crash when updating wallet tables, r=pnunn
git-svn-id: svn://10.0.0.236/trunk@76479 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:05:03 +00:00
dbaron%fas.harvard.edu
1adb256d88 Reduce the risk of parser leaks by releasing the parsers owned by CSSLoaders when no longer needed. r=attinasi
git-svn-id: svn://10.0.0.236/trunk@76478 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:04:42 +00:00
dbaron%fas.harvard.edu
52df7f5eb4 Change the stack trace format printed by the Boehm GC on Linux so it can be post-processed by addr2line. r=wade
git-svn-id: svn://10.0.0.236/trunk@76477 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:02:40 +00:00
ssu%netscape.com
3cf904db1a fixing bug #33342 - new exit setup string. a=dveditz r=sgehani
git-svn-id: svn://10.0.0.236/trunk@76476 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:02:19 +00:00
ssu%netscape.com
a8a3467272 fixing bug #44364 - uninstaller no longer leaves .rdf files around. a=dveditz r=sgehani
git-svn-id: svn://10.0.0.236/trunk@76475 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 23:01:21 +00:00
kmcclusk%netscape.com
1f4900b52c Suppress nsWidget::Move if the window is already at location specified b=44476 (p=Tomi.Leppikangas@oulu.fi) r=syd@netscape.com
git-svn-id: svn://10.0.0.236/trunk@76474 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:58:15 +00:00
putterman%netscape.com
450542aba4 Fix for 40818. Remove mail items from search menu. r=alecf.
git-svn-id: svn://10.0.0.236/trunk@76473 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:57:51 +00:00
putterman%netscape.com
23bcdd7d66 Fix for 37314. Delete works in standalone message window. r=alecf,mscott
git-svn-id: svn://10.0.0.236/trunk@76472 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:57:20 +00:00
putterman%netscape.com
f93fedfbe7 Fix for 40818. Clean up search menus. r=alecf.
git-svn-id: svn://10.0.0.236/trunk@76471 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:56:32 +00:00
putterman%netscape.com
bb273bf350 Fix for bugs 43879 and 40818. Fix up search menus and remove folder picker from rename dialog. r=alecf
git-svn-id: svn://10.0.0.236/trunk@76470 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:56:09 +00:00
mcafee%netscape.com
447a4a4066 Adding thin separator, r=slamm
git-svn-id: svn://10.0.0.236/trunk@76469 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:54:56 +00:00
putterman%netscape.com
90bf8a86b7 Fix for 45402. In threaded mode clicking on twisty now opens entire thread. r=alecf
git-svn-id: svn://10.0.0.236/trunk@76468 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:54:43 +00:00
kmcclusk%netscape.com
a3b80ef3fc Suppress nsWindow::Move if the window is already at location specified b=44476 (p=Tomi.Leppikangas@oulu.fi) r=syd@netscape.com
git-svn-id: svn://10.0.0.236/trunk@76467 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:53:32 +00:00
mcafee%netscape.com
2f0f0b53c6 Minor rewording of label in smart browsing pref pane.
git-svn-id: svn://10.0.0.236/trunk@76466 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:51:42 +00:00
hyatt%netscape.com
815a18a9b2 Fix for 49118, r=ben
git-svn-id: svn://10.0.0.236/trunk@76464 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:50:25 +00:00
mcafee%netscape.com
77052ae329 Remove unused id walletServer, finishing morses checkin for 48267.
git-svn-id: svn://10.0.0.236/trunk@76463 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:49:54 +00:00
hyatt%netscape.com
a95fc61e73 Fix for 48459, r=danm
git-svn-id: svn://10.0.0.236/trunk@76462 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:49:31 +00:00
chuang%netscape.com
e7756d72db Bug 44831 Drop down list in New Mailing List window doesn't display the Address Book names. r=putterman
git-svn-id: svn://10.0.0.236/trunk@76461 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:48:56 +00:00
mcafee%netscape.com
5dacba2386 Making mousewheel pref pane more readable. r=slamm
git-svn-id: svn://10.0.0.236/trunk@76460 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:48:49 +00:00
chuang%netscape.com
417182d7c0 Bug 45331, 45332 Remove 3 buttons in mailing list dialog, r=putterman
git-svn-id: svn://10.0.0.236/trunk@76459 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:48:02 +00:00
nhotta%netscape.com
89830f7ad6 Changed to generate HTML 3.2 CER instead of HTML 4 for both file and mail, bug 48041, r=akkana.
git-svn-id: svn://10.0.0.236/trunk@76458 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:47:35 +00:00
nhotta%netscape.com
3946171a50 Changed charset names as case sensitive, bug 39793, r=cata.
git-svn-id: svn://10.0.0.236/trunk@76457 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:46:37 +00:00
rogerl%netscape.com
e1d7a156e3 Bug #31255. r,a=brendan. Once more unto the '-->' accepted as line comment
fix.


git-svn-id: svn://10.0.0.236/trunk@76456 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:46:04 +00:00
mcafee%netscape.com
04292a0f3d Adding width for mousewheel prefs pulldown (40888). r=slamm
git-svn-id: svn://10.0.0.236/trunk@76455 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:45:48 +00:00
mcafee%netscape.com
2b33731fbf Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@76454 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:44:35 +00:00
rogerl%netscape.com
7a6dd29961 Bug #39141, r=mccabe, a=beard. Fix crash for empty array initializer.
git-svn-id: svn://10.0.0.236/trunk@76453 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:43:26 +00:00
sgehani%netscape.com
3425279758 Can now install to Macs with boot volumes that have slashes in their names.
[nsbeta3+ b=18482; r=ssu; a=dveditz]


git-svn-id: svn://10.0.0.236/trunk@76452 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:43:08 +00:00
racham%netscape.com
47ba7e7bae Fixing bug 46320. Reducing the number of global files by moving profile regitry to the product sub-directory under HOME. r=dougt
git-svn-id: svn://10.0.0.236/trunk@76451 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:40:36 +00:00
racham%netscape.com
afbbb2afc0 Fixing bug 46320. Reducing the number of global files by moving profile registry to product sub-directory under HOME. r=dougt
git-svn-id: svn://10.0.0.236/trunk@76450 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 22:40:27 +00:00
sfraser%netscape.com
e4582186b3 Fix for bug 49196 -- buttons not showing up in Save/Don't save dialogs. Correctly used collapsed, not hidden, to make hyatt's change. r=ducarroz, a=leaf.
git-svn-id: svn://10.0.0.236/trunk@76448 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 21:28:25 +00:00
ducarroz%netscape.com
272f7ad402 Fix Mac bustage. Added nsICommandHandler.cpp to the project
git-svn-id: svn://10.0.0.236/trunk@76442 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 16:40:49 +00:00
ducarroz%netscape.com
6e3c7f793f Fix Mac bustage. Added nsIContextMenuListener.idl and nsICommandHandler.idl to the project
git-svn-id: svn://10.0.0.236/trunk@76441 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 16:40:17 +00:00
mkaply%us.ibm.com
049de0d702 #44517
r=dougt, a=brendan
Make OS/2 Desktop directory NLS aware


git-svn-id: svn://10.0.0.236/trunk@76440 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 14:27:18 +00:00
pete%alphanumerica.com
47f1260e9d Fixed problem i was having returning array from readDir member function.
Thanks jband for the fix.

not part of the build

r=jband

--pete


git-svn-id: svn://10.0.0.236/trunk@76439 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 13:35:13 +00:00
locka%iol.ie
7c63d2a576 Changed implementation of OnShowContextMenu to reflect updated IDL. b=48270 a=valeski
git-svn-id: svn://10.0.0.236/trunk@76438 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 09:00:44 +00:00
locka%iol.ie
98a262bb01 Added nsICommandHandler and nsCommandHandler.cpp to build. b=48270 a=valeski
git-svn-id: svn://10.0.0.236/trunk@76437 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 08:56:37 +00:00
locka%iol.ie
75c06667fb Added newline to end of file. b=48270 a=valeski
git-svn-id: svn://10.0.0.236/trunk@76436 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 08:54:49 +00:00
locka%iol.ie
22274c8788 Change consts to unsigned long. b=48270 a=valeski
git-svn-id: svn://10.0.0.236/trunk@76435 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 08:53:57 +00:00
locka%iol.ie
221c92cd8f Added mouse DOM listener to listen for context menu events and notify the embedding client. b=48270 a=valeski
git-svn-id: svn://10.0.0.236/trunk@76434 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 08:51:58 +00:00
locka%iol.ie
68dda5d2f6 Fixed some incorrect embedding issues. b=48270 a=valeski
git-svn-id: svn://10.0.0.236/trunk@76433 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 08:50:00 +00:00
locka%iol.ie
9c15cfb380 Added newline to end of file. b=48270 a=valeski
git-svn-id: svn://10.0.0.236/trunk@76432 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 08:47:57 +00:00
locka%iol.ie
ac6f43e8ef Added command handler to module's factory list b=48270 a=valeski
git-svn-id: svn://10.0.0.236/trunk@76431 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 08:44:58 +00:00
ben%netscape.com
01dd19a973 46613..
git-svn-id: svn://10.0.0.236/trunk@76430 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 08:30:42 +00:00
hyatt%netscape.com
f69d98b3e6 Fix for 45248, r=ben
git-svn-id: svn://10.0.0.236/trunk@76429 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 08:14:01 +00:00
alecf%netscape.com
d933e2c805 remove commented-out functions (not used anyway)
git-svn-id: svn://10.0.0.236/trunk@76428 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 08:01:34 +00:00
ben%netscape.com
6173356268 46613...
git-svn-id: svn://10.0.0.236/trunk@76427 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 07:58:13 +00:00
ben%netscape.com
a42af0bdcb 46613..
git-svn-id: svn://10.0.0.236/trunk@76426 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 07:57:31 +00:00
alecf%netscape.com
7431c64b15 fix a bunch of UMRs r=syd
(no bug but I needed these to get my purify build going)


git-svn-id: svn://10.0.0.236/trunk@76425 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 07:39:38 +00:00
dp%netscape.com
b3a71129e7 Removed unused static.
git-svn-id: svn://10.0.0.236/trunk@76424 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 07:33:23 +00:00
dp%netscape.com
d1fcc74895 Fixed debug stmt to reflect code changes around it. Not compiled by default.
git-svn-id: svn://10.0.0.236/trunk@76423 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 07:26:46 +00:00
hyatt%netscape.com
79c8d5c024 Fix for 47303. r=mscott
git-svn-id: svn://10.0.0.236/trunk@76422 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 07:26:45 +00:00
dprice%netscape.com
7639d09723 adding forgotten files
git-svn-id: svn://10.0.0.236/trunk@76421 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 07:26:09 +00:00
saari%netscape.com
665e7d658e fix for nsbeta3+ leak 35553; leak document on shutdown. r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@76420 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 06:37:51 +00:00
dprice%netscape.com
ba864a022d adding forgotten file
git-svn-id: svn://10.0.0.236/trunk@76419 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 05:50:52 +00:00
dprice%netscape.com
5789cd97a2 adding some files that were forgotten
git-svn-id: svn://10.0.0.236/trunk@76418 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 05:46:18 +00:00
ben%netscape.com
6f294b092a 46613...
git-svn-id: svn://10.0.0.236/trunk@76417 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 05:44:10 +00:00
dprice%netscape.com
1a126d8faa removing duplicated files
git-svn-id: svn://10.0.0.236/trunk@76416 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 05:37:06 +00:00
dprice%netscape.com
2d3ab8edb0 adding in pref-passwords.xul
git-svn-id: svn://10.0.0.236/trunk@76415 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 05:08:07 +00:00
ben%netscape.com
723100aa26 46613..
git-svn-id: svn://10.0.0.236/trunk@76414 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 05:08:01 +00:00
ben%netscape.com
5366458b10 46613...
git-svn-id: svn://10.0.0.236/trunk@76413 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 05:05:21 +00:00
dprice%netscape.com
cbbc6f4aae moving pref-irc.xul to core.jar
git-svn-id: svn://10.0.0.236/trunk@76412 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 04:57:23 +00:00
bryner%uiuc.edu
bc30436d00 Patch from disttsc@bart.nl for bug 49089 -- using Enter in filepicker was
broken because we needed to change event.which to event.keyCode.  r=me.


git-svn-id: svn://10.0.0.236/trunk@76411 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 04:23:58 +00:00
dprice%netscape.com
e2a9da576d replacing this file in the right spot.
git-svn-id: svn://10.0.0.236/trunk@76410 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 04:23:40 +00:00
ben%netscape.com
544ea04016 fixing mac
git-svn-id: svn://10.0.0.236/trunk@76409 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 04:14:34 +00:00
dprice%netscape.com
fb5531a9d1 adding dtd file to en-US.jar
git-svn-id: svn://10.0.0.236/trunk@76408 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 04:10:00 +00:00
shaver%mozilla.org
84ea4561c3 Fix 47354 and 39975 by providing a system-privileged scope backstop for
JS Components, and teaching the ScriptSecurityManager to check for
XPC-wrapped native objects in the scope chain when looking for an
object's principal. r=jband/a=brendan


git-svn-id: svn://10.0.0.236/trunk@76407 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 04:01:02 +00:00
nbhatla%netscape.com
84fc7b931c #48704 -> Adding print button styles to navigator in win/unix classic skin. Forgot to submit this in last checkin with mac classic fix.
git-svn-id: svn://10.0.0.236/trunk@76406 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:37:43 +00:00
ben%netscape.com
0470757724 add a default binding for menubutton-dual
git-svn-id: svn://10.0.0.236/trunk@76405 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:34:22 +00:00
ben%netscape.com
f81051a308 46613, more classic skin work
git-svn-id: svn://10.0.0.236/trunk@76404 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:31:42 +00:00
ben%netscape.com
6078340884 fix for 46613 (classic skin polish) and 47636 (cannot go back to multiple
search engine listing)


git-svn-id: svn://10.0.0.236/trunk@76403 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:30:24 +00:00
ben%netscape.com
d72b1ce951 46613 and 47636 (classic skin work, and make it so that you can go back
to the multiple search results listing)


git-svn-id: svn://10.0.0.236/trunk@76402 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:29:32 +00:00
nbhatla%netscape.com
fe5478ece9 #46519 -> Mac Classic Skin Polish. Work mostly on the editor and messenger, fixing icons and mouseOver/toggled behavior. #47680-> CSS fix for proper modern tab borders. #17924-> Fix for status bar height. #45685-> Added column header icons and splitter functionality in classic mail. #45128-> Mail thread icons show proper new message states like 4.x. r=hangas
git-svn-id: svn://10.0.0.236/trunk@76401 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:27:44 +00:00
dbaron%fas.harvard.edu
a8abdedbbd Add newline to end of file to fix HP bustage.
git-svn-id: svn://10.0.0.236/trunk@76400 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:26:51 +00:00
putterman%netscape.com
84c31a66d2 Fix for 48929. Put Order Received back in. r=alecf.
git-svn-id: svn://10.0.0.236/trunk@76399 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:24:35 +00:00
putterman%netscape.com
081783e2eb Fixes 45149. Can now Print from the standalone window. r=alecf.
git-svn-id: svn://10.0.0.236/trunk@76398 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:23:21 +00:00
waterson%netscape.com
58c8e0075d Backing out pnunn/syd's changes in order to try to get smoketests back. r=pnunn
git-svn-id: svn://10.0.0.236/trunk@76397 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:16:46 +00:00
mkaply%us.ibm.com
c627ac14a9 OS/2 Tinderbox break
Hey conrad@ingress.com - please watch out for us. You are breaking us A LOT.


git-svn-id: svn://10.0.0.236/trunk@76396 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:13:16 +00:00
nbhatla%netscape.com
7d1fb2d74a First Checked In.
git-svn-id: svn://10.0.0.236/trunk@76395 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:09:18 +00:00
nbhatla%netscape.com
48d305f50c Fix for #48704 -> Adding print button to browser navigation toolbar. r=hangas.
git-svn-id: svn://10.0.0.236/trunk@76394 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:08:02 +00:00
dprice%netscape.com
069f6a55b4 removing navigator/wallet/* from jar.mn
git-svn-id: svn://10.0.0.236/trunk@76393 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 03:00:25 +00:00
dprice%netscape.com
afa61f82c1 removed communicator/wallet/* from jar.mn, those folders are gone.
git-svn-id: svn://10.0.0.236/trunk@76391 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 02:46:26 +00:00
morse%netscape.com
7bafd119d9 bug 49116, javascript errors when doing edit in javascript window, r=waterson
git-svn-id: svn://10.0.0.236/trunk@76390 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 02:35:43 +00:00
danm%netscape.com
e2a01acf37 adding handling for _top targets, which strangely seemed to just be missing. bug 32342 r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@76389 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 02:16:11 +00:00
jband%netscape.com
a4e301356a initial checkin - NOT PART OF BUILD
git-svn-id: svn://10.0.0.236/trunk@76388 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 02:07:37 +00:00
waterson%netscape.com
ba0a825e73 Bug 44480. Remove more obsolete files that I missed the first time around.
git-svn-id: svn://10.0.0.236/trunk@76387 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 02:00:59 +00:00
waterson%netscape.com
0aa08c1512 Bug 44480. Demote 'width' and 'height' to NSHTMLDocument. r=jst
git-svn-id: svn://10.0.0.236/trunk@76386 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 01:56:00 +00:00
pinkerton%netscape.com
0bcf10dbff put code in InvokeDragSession() to turn off mouseCapture when the drag begins. moved code that finds a frame from a DOM node from mac code into base class. bug 48250.
git-svn-id: svn://10.0.0.236/trunk@76384 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 01:46:34 +00:00
pinkerton%netscape.com
119973f434 full backout of code i commented out, the fixes go elsewhere.
git-svn-id: svn://10.0.0.236/trunk@76383 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 01:45:23 +00:00
morse%netscape.com
d56a3f796f bug 47256, minor wording change, change=verah r=morse
git-svn-id: svn://10.0.0.236/trunk@76382 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 01:43:23 +00:00
morse%netscape.com
b67c3e5390 bug 48949, fix UTF8Get routine to work with multibyte characters, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@76381 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 01:34:58 +00:00
pnunn%netscape.com
398f60ff0b bug#46704: chrome priority in imgcache. syd, r:pnunn.
git-svn-id: svn://10.0.0.236/trunk@76380 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 01:20:39 +00:00
pnunn%netscape.com
9d8c0da490 bug#46704: chrome priority in image cache. syd, r:pnunn.
git-svn-id: svn://10.0.0.236/trunk@76379 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 01:19:44 +00:00
waterson%netscape.com
e71218e1d0 Bug 47154. Treat '\\n' and '\\r' as whitespace, too. Also, use 'inline' instead of macros to avoid multiple argument evaluation. r=ftang
git-svn-id: svn://10.0.0.236/trunk@76378 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 01:08:43 +00:00
waterson%netscape.com
efe0fb7e1b Bug 44480. Remove obsolete files.
git-svn-id: svn://10.0.0.236/trunk@76376 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 01:05:22 +00:00
waterson%netscape.com
e029e1cca8 Bug 44480. Demote 'width' and 'height' attributes from NSDocument to NSHTMLDocument and XULDocument; make nsHTMLDocument's implementation use the <body> element's frame (instead of the <html> element's frame) to determine metrics. r=jst
git-svn-id: svn://10.0.0.236/trunk@76375 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 01:04:52 +00:00
javi%netscape.com
91bf2b5156 Remove some unnecessary access paths from the project file.
git-svn-id: svn://10.0.0.236/trunk@76372 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 00:56:53 +00:00
beard%netscape.com
569a41dfec bug #47920: fixes unitialized variable.
git-svn-id: svn://10.0.0.236/trunk@76371 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 00:46:17 +00:00
pinkerton%netscape.com
99b7fce821 Dead code removal
git-svn-id: svn://10.0.0.236/trunk@76370 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 00:44:15 +00:00
hyatt%netscape.com
b4caa66fbf Fix that is needed for 46719, r=ducarroz,ben
git-svn-id: svn://10.0.0.236/trunk@76369 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 00:42:13 +00:00
pinkerton%netscape.com
92c3e51c6b Add KillPendingTimers() to nsIMenuParent and call it when we open a sibling
submenu. Not clearing out this timer causes confusion with the rollup
listeners. Fixes 48989 and 28309. Thanks to Dean, who put me on the right
track. r=hyatt.


git-svn-id: svn://10.0.0.236/trunk@76368 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 00:35:04 +00:00
warren%netscape.com
fcb1b8f06c Changes to allow uncopied string keys. Changes to copy string key's null byte. code=jband, r=warren
git-svn-id: svn://10.0.0.236/trunk@76367 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 00:32:59 +00:00
sgehani%netscape.com
e61f27f091 Fix scrollbar crasher in custom install dialog for mac installer.
[nsbeta3+ b=48882; r=ssu]


git-svn-id: svn://10.0.0.236/trunk@76366 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 00:32:56 +00:00
hyatt%netscape.com
837b4508e8 Backing out fix to 40596 and fixing bug #49051, r=putterman
git-svn-id: svn://10.0.0.236/trunk@76364 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-16 00:20:29 +00:00
hyatt%netscape.com
1cca5f9c05 Better fix for 49066. r=saari,danm
git-svn-id: svn://10.0.0.236/trunk@76361 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 22:58:12 +00:00
hyatt%netscape.com
ae6e08c788 Fix for bug #49066, r=saari
git-svn-id: svn://10.0.0.236/trunk@76360 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 22:46:09 +00:00
robinf%netscape.com
845817de98 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@76359 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 22:41:32 +00:00
robinf%netscape.com
e0e4fa0141 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@76358 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 22:34:21 +00:00
edburns%acm.org
14ce93d1c7 bug=45127
r=edburns
a=edburns
author=avm@sparc.spb.su

Wrong URL for kRDF_type.


git-svn-id: svn://10.0.0.236/trunk@76357 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 22:09:05 +00:00
robinf%netscape.com
e81c19cca3 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@76356 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 21:44:31 +00:00
jgmyers%netscape.com
7372c3b207 remove 'no acceptable authetication' dialog box: bug 31737 r=javi a=lord
git-svn-id: svn://10.0.0.236/trunk@76355 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 21:23:49 +00:00
javi%netscape.com
80049c0c23 Whomp the SECURITY_MAC_BRANCH onto the tip.
git-svn-id: svn://10.0.0.236/trunk@76354 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 21:10:38 +00:00
robinf%netscape.com
e1cb4fbc1f *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@76353 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 21:10:35 +00:00
javi%netscape.com
cf61dc720b Whomp SECURITY_MAC_BRANCH onto tip
git-svn-id: svn://10.0.0.236/trunk@76352 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 21:09:21 +00:00
hyatt%netscape.com
7cc5153fd3 Fix for 49009. r=danm
git-svn-id: svn://10.0.0.236/trunk@76351 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 21:00:52 +00:00
dmose%mozilla.org
2d67cccf73 refine to assign to the prototype rather than the created objects, and add debugging stuff to help shaver. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@76350 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 20:58:17 +00:00
danm%netscape.com
a7f044e069 treat width/height=* features to mean size of parent window. compatibility with Nav 4. bug 30394.
git-svn-id: svn://10.0.0.236/trunk@76349 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 20:01:20 +00:00
mkaply%us.ibm.com
402e059347 OS/2 tinderbox break - not sure how to fix it right, so just fix it for OS/2
git-svn-id: svn://10.0.0.236/trunk@76348 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 19:57:44 +00:00
sfraser%netscape.com
23d76bb604 Fix for 34741 -- command-drag background windows when a dialog is up. r=danm
git-svn-id: svn://10.0.0.236/trunk@76347 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 19:14:04 +00:00
leaf%mozilla.org
ef74e721c7 Automated update
git-svn-id: svn://10.0.0.236/trunk@76344 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 18:45:09 +00:00
colin%theblakes.com
138965b630 libIDL fix for OpenVMS only. r=leaf
git-svn-id: svn://10.0.0.236/trunk@76343 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 18:30:59 +00:00
pinkerton%netscape.com
85f9625e19 mark thread tree as one that doesn't allow drops between rows. bug# 47105
git-svn-id: svn://10.0.0.236/trunk@76342 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 18:25:07 +00:00
pinkerton%netscape.com
67ffa161ec remove the ondragOver handler as it wasn't doing anythning but drawing useless drag feedback. bug 43421.
git-svn-id: svn://10.0.0.236/trunk@76341 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 18:24:00 +00:00
pinkerton%netscape.com
e4d7aed5a5 fix for 47105, retooling of tree d&d to not be so confusing, to use the style system a little more, and to handle the case where a tree won't let you drop anything between rows.
git-svn-id: svn://10.0.0.236/trunk@76340 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 18:23:34 +00:00
pinkerton%netscape.com
c90a093e1b part of fix for 47105, clear canDrop every time we dispatch a dragOver event. it will be set accordingly if it is meant to be.
git-svn-id: svn://10.0.0.236/trunk@76339 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 18:22:39 +00:00
rbs%maths.uq.edu.au
d4465be0f3 [not part of default build] Another go at fixing build bustage b:42793. It prevented the enabling of xprint with mathml. Paul B. Saitta <pbs@po.cwru.edu> verified that the changes compile and run, after accidently forgetting to turn xprint on the other time. a:waterson@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@76338 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 18:22:31 +00:00
pinkerton%netscape.com
9d9cbe5eb9 Fix for 43421, add a style rule to use the selection color when a folder is hovered over during drags. r=ben.
git-svn-id: svn://10.0.0.236/trunk@76337 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 18:21:40 +00:00
attinasi%netscape.com
7c743c6f44 New Daily Run data: not part of build
git-svn-id: svn://10.0.0.236/trunk@76336 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 17:30:17 +00:00
despotdaemon%netscape.com
84fa1698af Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@76333 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 16:41:58 +00:00
nboyd%atg.com
0846db0ec2 Merge changes from EXP_DEBUGGER branch into tip.
Implements simple command-line debugger for scripts.


git-svn-id: svn://10.0.0.236/trunk@76330 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 15:54:46 +00:00
pete%alphanumerica.com
3b3c182ed7 moving APPEND comment. Wrong spot.
r=dougt

--pete


git-svn-id: svn://10.0.0.236/trunk@76329 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 13:14:51 +00:00
pete%alphanumerica.com
fbc81cccf5 added readDir(dirPath) member function.
Also fixed a small bug in copy to return if the source file is a dir.
r=dougt

--pete


git-svn-id: svn://10.0.0.236/trunk@76328 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 12:37:40 +00:00
mcgreer%netscape.com
1a7dd97349 should be able to set negative offset during cert creation
git-svn-id: svn://10.0.0.236/trunk@76327 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 05:08:13 +00:00
morse%netscape.com
30b370c86b bug 48986, remove form prefill and capture from tasks menu
git-svn-id: svn://10.0.0.236/trunk@76326 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 03:47:45 +00:00
leaf%mozilla.org
287702623d Automated update
git-svn-id: svn://10.0.0.236/trunk@76325 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 03:02:53 +00:00
rjc%netscape.com
ee4f909197 Fix bug # 47927: crash loading 2nd ftp URL. r=waterson
git-svn-id: svn://10.0.0.236/trunk@76324 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 01:43:42 +00:00
valeski%netscape.com
5bd6accae5 26719. applying patch for bns_robson@hotmail.com to fix handle leak. r=valeski
git-svn-id: svn://10.0.0.236/trunk@76323 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-15 01:35:30 +00:00
jgaunt%netscape.com
df95a315cc r=jdunn@netscape.com r=edburns@acm.org r=cls@netscape.com
a=leaf@netscape.com a=drapeau@eng.sun.com
bug=#43090
fix for hpux java plugin, generalized through configure.in for anyone.


git-svn-id: svn://10.0.0.236/trunk@76321 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 23:32:14 +00:00
ducarroz%netscape.com
2d4503bc07 Fix for bug 41928. Fix wrong menu id. R=putterman
git-svn-id: svn://10.0.0.236/trunk@76320 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 23:28:18 +00:00
dmose%mozilla.org
8d84ef21cf Major fixes to the code that cleans up at the end of an LDAP search and/or when a search has been cancelled. Most visible effect: the throbber should always stop spinning at the end of a search, rather than sometimes lingering on indefinitely. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@76319 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 23:16:03 +00:00
law%netscape.com
345de6f67f Bug 40792; remove obsolete error-handling code to prevent crash; r=slamm@netscape.com
git-svn-id: svn://10.0.0.236/trunk@76318 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 23:12:50 +00:00
dmose%mozilla.org
185aabb68c add debugging frobs to XP_UNIX platforms. setenv XPCOM_DEBUG_BREAK to make NS_ASSERTION have other behaviors, like dumping the stack to stderr or sending SIGSTOP to the pgrp to allow attaching with gdb for race condition debugging. r=bryner@netscape.com, a=brendan@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@76317 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 23:09:39 +00:00
pinkerton%netscape.com
2a0b7d8d70 backing out my last change, it breaks scrollbars.
git-svn-id: svn://10.0.0.236/trunk@76316 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 23:03:25 +00:00
valeski%netscape.com
bf4bad597e 48884, r=morse. fixing cookie list ordering problem and cookie insertion problem.
git-svn-id: svn://10.0.0.236/trunk@76314 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 23:00:54 +00:00
valeski%netscape.com
1131b6e0aa 48884, r=morse. removing extraneous io service and newuri usage.
git-svn-id: svn://10.0.0.236/trunk@76313 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 23:00:13 +00:00
mcgreer%netscape.com
47afd9ecca wrong header
git-svn-id: svn://10.0.0.236/trunk@76312 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:50:36 +00:00
sgehani%netscape.com
520950ea41 Eliminate engine thread yielding to main thread duirng XPCOM extraction.
[nsbeta3+ b=1895; r=ssu]


git-svn-id: svn://10.0.0.236/trunk@76310 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:40:14 +00:00
dougt%netscape.com
6591791df9 Changing the nsDirectoryService define. This should have been done with the rest of the nsDirectorySerivce changes. r=conrad.
git-svn-id: svn://10.0.0.236/trunk@76309 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:38:27 +00:00
dougt%netscape.com
faa139162d Fix for 48832, r=conrad. a regression.
git-svn-id: svn://10.0.0.236/trunk@76307 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:33:45 +00:00
pinkerton%netscape.com
9a6dd56096 for 48250, turn off mouse capture when a drag gesture begins. r=mjudge.
git-svn-id: svn://10.0.0.236/trunk@76306 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:29:03 +00:00
pinkerton%netscape.com
ecbc628010 making CaptureMouse a public interface on nsIFrame r=mjudge for bug 48250.
git-svn-id: svn://10.0.0.236/trunk@76305 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:28:41 +00:00
nelsonb%netscape.com
142b5d73b3 Build des.c and desblapi.c.
git-svn-id: svn://10.0.0.236/trunk@76304 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:28:10 +00:00
nelsonb%netscape.com
f7c0752c6c The Initial Developer of the Original Code is Nelson B. Bolyard,
nelsonb@iname.com.  Portions created by Nelson B. Bolyard are
Copyright (C) 1990, 2000  Nelson B. Bolyard, All Rights Reserved.


git-svn-id: svn://10.0.0.236/trunk@76303 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:27:20 +00:00
kestes%staff.mail.com
783b144faa document that you should get the tests working first.
put in a warning that it may be hard to install.


git-svn-id: svn://10.0.0.236/trunk@76302 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:22:15 +00:00
waterson%netscape.com
b270876b7f Back out shanjian's last change as it was causing several whitespace-related regressions. r=attinasi
git-svn-id: svn://10.0.0.236/trunk@76301 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:11:41 +00:00
rods%netscape.com
690d980baf was not unregistering the listers correctly. Not they unreg with the
listener object.
b=48915 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@76300 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:05:28 +00:00
wtc%netscape.com
59621a3060 Bugzilla bug #15906: added GC_LEAK_DETECTOR support for Linux.
Modified files: config.mk, primpl.h, pr/src/Makefile, pr/src/Makefile.in,
pr/src/memory/Makefile, pr/src/memory/Makefile.in, prthinfo.c, ptthread.c


git-svn-id: svn://10.0.0.236/trunk@76299 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:05:22 +00:00
mcgreer%netscape.com
6305e4dc20 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@76298 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:04:22 +00:00
gayatrib%netscape.com
53b043c015 fix for bug 41987. r=alecf
git-svn-id: svn://10.0.0.236/trunk@76297 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:03:23 +00:00
rods%netscape.com
4177506b45 it was incorrctly painting both images
b=48156 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@76296 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:01:05 +00:00
kestes%staff.mail.com
e32a3a2ff9 fix typo, '.' should have been ','
git-svn-id: svn://10.0.0.236/trunk@76295 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 21:58:58 +00:00
ftang%netscape.com
012884125b fix bug 27906. Obsolete old Japanese converter to save some space. r=nhotta
git-svn-id: svn://10.0.0.236/trunk@76294 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 21:52:06 +00:00
waterson%netscape.com
17e17805d2 Bug 48086. Be sure to update XUL document's ID-to-element map when removing generated content. r=rjc
git-svn-id: svn://10.0.0.236/trunk@76293 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 21:46:04 +00:00
naving%netscape.com
ee1066bc5f Fixed bugs #42998 and #44883.
Removed "this space for rent" from subscribe dlg and add progressmeter to the
subscribe dlg. r = scottip, alecf


git-svn-id: svn://10.0.0.236/trunk@76292 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 21:43:19 +00:00
gayatrib%netscape.com
11ee4b211a Fix for bug 45806. r=putterman
git-svn-id: svn://10.0.0.236/trunk@76291 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 21:41:04 +00:00
mscott%netscape.com
781ca234f5 not part of the regular build. For those of us that have the show user agent string turned on for mail, the toolbar
wasn't being hidden properly when viewing a message that didn't have a user agent.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@76289 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 21:29:41 +00:00
ducarroz%netscape.com
f2dcb34b9e Fix for bug 47506. Migrate some of the modification made to the editor formating toolbar to the message compose one. R=sfraser
git-svn-id: svn://10.0.0.236/trunk@76288 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 21:29:33 +00:00
nelsonb%netscape.com
5e8c99dc31 "clean" target will also remove primes.c from mpi.
git-svn-id: svn://10.0.0.236/trunk@76287 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 21:04:46 +00:00
hyatt%netscape.com
195caf091d Fix for 48931, r=danm,scc
git-svn-id: svn://10.0.0.236/trunk@76286 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 18:52:47 +00:00
tara%tequilarista.org
4952badec4 Landing zach's \n for #48947
git-svn-id: svn://10.0.0.236/trunk@76285 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 18:44:54 +00:00
pete%alphanumerica.com
b4a9e7c39e added two more member functions:
*       9. copy(source, dest);
*       10.leaf(path);

Fixed a bug i found in exists() member function.
Expanded tabs out of file. Tested.
not part of the build.

r=dougt

--pete


git-svn-id: svn://10.0.0.236/trunk@76283 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 17:14:29 +00:00
rods%netscape.com
ef90930d3b a better fix for when min size come into play with unconstrained sizes
b=40596 r=lmcclusk


git-svn-id: svn://10.0.0.236/trunk@76281 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 14:45:29 +00:00
rods%netscape.com
1562d3aab9 added weak reference and ref counted event listener to listbox intead of
having the the non-recounted frame add itself. It is now the same as GfxList
b=21629, r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@76280 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 14:42:12 +00:00
putterman%netscape.com
866b11f782 Fix for 41824, 40743, and 47440. r=mscott. Selecting an account clears the thread pane,
deleting the last message clears the message pane, and all columns are resizeable.


git-svn-id: svn://10.0.0.236/trunk@76279 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 14:40:33 +00:00
putterman%netscape.com
4c1b916df2 Fix for 40728. Remove struct phrases from pref ui. r=mscott.
git-svn-id: svn://10.0.0.236/trunk@76278 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 14:39:33 +00:00
rods%netscape.com
c22ad560c5 added textarea with -moz-fixed so it has the proper default font in quirks mode
b=44656 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@76277 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 14:10:21 +00:00
rods%netscape.com
c215a20a77 css button and caption font is set to be two point sizes larger than the default GUI size.
caption font shouldn't (and now doesn't) use the actual Windows platform specific "caption" font
b=33312 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@76276 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 13:54:50 +00:00
jfrancis%netscape.com
691e87aa2b groundwork for 44684: adding a "GetAlignment" call to the editor so that ui can reflect alignment of selection
git-svn-id: svn://10.0.0.236/trunk@76274 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 12:07:10 +00:00
ben%netscape.com
3035e50272 classic skin polish (46613)
git-svn-id: svn://10.0.0.236/trunk@76273 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 09:34:20 +00:00
bryner%uiuc.edu
fb987ae864 Bulletproofing the tree to not divide by 0 in the case of scrolling or
asking the row count of a 0-row tree.  Bug 48306.  r=syd.


git-svn-id: svn://10.0.0.236/trunk@76272 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 07:06:49 +00:00
hyatt%netscape.com
4d77bfbb21 Fixing harpoon.
git-svn-id: svn://10.0.0.236/trunk@76271 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 04:29:54 +00:00
ben%netscape.com
b09555e826 classic skin polish + remove a dump
git-svn-id: svn://10.0.0.236/trunk@76270 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 04:23:57 +00:00
ben%netscape.com
962339b029 classic skin polish, 46613
git-svn-id: svn://10.0.0.236/trunk@76269 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 04:23:06 +00:00
morse%netscape.com
6ddf84038d bug 42438, add wallet capture and prefill to context menu
git-svn-id: svn://10.0.0.236/trunk@76268 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 04:11:02 +00:00
hyatt%netscape.com
272bbaad57 Work on 48150 and XBL performance (async and arenas).
git-svn-id: svn://10.0.0.236/trunk@76267 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 04:04:18 +00:00
conrad%ingress.com
8661316900 Not part of build.
1. Removed MMozillaApp mixin class from project. This is now handled by EmbedAPI lib.
2. Added routine to show how to start up the app with a given profile.


git-svn-id: svn://10.0.0.236/trunk@76266 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 03:04:08 +00:00
conrad%ingress.com
4b0ebc514a Not part of build.
Removed MMozillaApp mixin class from project. This is now handled by EmbedAPI lib.


git-svn-id: svn://10.0.0.236/trunk@76265 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 03:03:05 +00:00
conrad%ingress.com
cc57ab067a Not part of build.
Added EmbedAPI lib to project.


git-svn-id: svn://10.0.0.236/trunk@76264 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 03:01:10 +00:00
conrad%ingress.com
d42e858cee Not part of the build!
git-svn-id: svn://10.0.0.236/trunk@76263 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 02:49:08 +00:00
jfrancis%netscape.com
0b49f3bca3 fix for 48297: ome edit operations not scroling selection into view; r=fm
git-svn-id: svn://10.0.0.236/trunk@76262 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 02:39:37 +00:00
morse%netscape.com
b327a99d4e minor wording change, part of bug 48742
git-svn-id: svn://10.0.0.236/trunk@76261 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 02:37:16 +00:00
BlakeR1234%aol.com
ab04012940 Classic skin polish (46613). Make context menus thinner. r=ben, nsbeta3+
git-svn-id: svn://10.0.0.236/trunk@76260 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 02:34:57 +00:00
morse%netscape.com
8e9b177e00 minor wording change, part of bug 48742
git-svn-id: svn://10.0.0.236/trunk@76259 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 02:16:14 +00:00
morse%netscape.com
6aa37b52b9 bug 48592, cookie viewer deleting wrong cookie, caused by incorrect change in version 1.78
git-svn-id: svn://10.0.0.236/trunk@76258 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 00:58:37 +00:00
jfrancis%netscape.com
70ab4acbc7 fixing bustage. bizarre merge error?
git-svn-id: svn://10.0.0.236/trunk@76257 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 00:53:41 +00:00
rhp%netscape.com
f12beb46c1 Fix for crash when printing emails - Bug #: 48437 - r: xxxxx
git-svn-id: svn://10.0.0.236/trunk@76256 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 00:46:45 +00:00
rhp%netscape.com
10f693c0e0 Fix for adding display name automatically on ABSync operation - Bug #: 1942 - r: xxxxx
git-svn-id: svn://10.0.0.236/trunk@76255 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 00:45:51 +00:00
jfrancis%netscape.com
765bda40d2 fix for 45281, cannot insert a table caption. r=fm
git-svn-id: svn://10.0.0.236/trunk@76254 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 23:53:34 +00:00
morse%netscape.com
7d6e4f0a70 bug 42438, add wallet functions to edit menu, r=dbragg
git-svn-id: svn://10.0.0.236/trunk@76253 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 23:38:08 +00:00
bienvenu%netscape.com
dd1de0eba2 fix build warnings
git-svn-id: svn://10.0.0.236/trunk@76252 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 23:00:42 +00:00
bienvenu%netscape.com
03b20d0970 fix bugs with partial uidl, stopping pop3 download, and deleting msgs on server r=putterman 43489 45727 33943
git-svn-id: svn://10.0.0.236/trunk@76251 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 22:56:40 +00:00
rhp%netscape.com
6896cab2a5 Fix for bug #17294 for vCard display on mac - r: putterman
git-svn-id: svn://10.0.0.236/trunk@76250 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 22:11:59 +00:00
morse%netscape.com
b3ba9ee8f5 stage 1 for bug 42438, adding wallet functions to edit menu, r=dbragg
git-svn-id: svn://10.0.0.236/trunk@76249 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 20:50:23 +00:00
BlakeR1234%aol.com
e775085b3e Fix bug 48829, simple two-line change to make tree columns resizable in mailnews subscribe dialog. r=me a=gemal
git-svn-id: svn://10.0.0.236/trunk@76248 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 17:30:15 +00:00
putterman%netscape.com
e7230f5f0d r=bienvenu. Fixes for 16998, 40401, 47946, 47948, 48098, 45272, 45403. Sort by Flag and Unread columns,
Clean up View | Messages menu. Remove folder property menu items.  Remove Newsgroup menu items and branded mail menu item.
Fixed Account tooltip. Make new button work in Select Addresses dialog.


git-svn-id: svn://10.0.0.236/trunk@76247 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 17:04:46 +00:00
jeff.dyer%compilercompany.com
412bcfa517 Fix bustage.
git-svn-id: svn://10.0.0.236/trunk@76246 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 15:07:42 +00:00
jeff.dyer%compilercompany.com
5f9b87830d Bug#34746,34853,40077: Implementation for new method for checking permission to run java.
git-svn-id: svn://10.0.0.236/trunk@76245 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 14:05:18 +00:00
jeff.dyer%compilercompany.com
a7f12cbf24 Bug#16438: Wire up use of new unwrap api.
git-svn-id: svn://10.0.0.236/trunk@76244 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 14:04:32 +00:00
jeff.dyer%compilercompany.com
795227ba5e Bug#16438: New method for unwrapping wrapped java objects for liveconnect.
git-svn-id: svn://10.0.0.236/trunk@76243 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 14:02:53 +00:00
jeff.dyer%compilercompany.com
0a8d03816e Bug#34746,34853,40077: New method for checking permission to run java.
git-svn-id: svn://10.0.0.236/trunk@76242 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 14:01:23 +00:00
ben%netscape.com
8ae3356992 i suck
git-svn-id: svn://10.0.0.236/trunk@76241 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 09:33:56 +00:00
ben%netscape.com
22c71b3ec1 classic skin polish, 46613
git-svn-id: svn://10.0.0.236/trunk@76240 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 09:13:14 +00:00
ben%netscape.com
8ee9f95ce0 classic skin polish (fix sidebarheader for mail folders) 46613
git-svn-id: svn://10.0.0.236/trunk@76239 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 09:10:27 +00:00
ben%netscape.com
3bf5024c38 classic skin polish, 46613
git-svn-id: svn://10.0.0.236/trunk@76238 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 09:06:08 +00:00
ben%netscape.com
a33e5c8953 fix dependencies
git-svn-id: svn://10.0.0.236/trunk@76237 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 06:15:30 +00:00
bryner%uiuc.edu
93be0b73b4 Fixing 48752 - filepicker doesn't show any files. This is fallout from
the recent changes to nsDirectoryService.  r=disttsc@bart.nl.


git-svn-id: svn://10.0.0.236/trunk@76236 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 06:12:00 +00:00
ben%netscape.com
54bb3d482c remove dependency on mailnews from history/navigator
git-svn-id: svn://10.0.0.236/trunk@76235 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 06:02:01 +00:00
ben%netscape.com
c1ad6c583d sidebar tweaks for classic skin, 46613
git-svn-id: svn://10.0.0.236/trunk@76234 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 04:33:19 +00:00
ben%netscape.com
8acc383e96 fix some of the problems introduced by my checkin to this file last night (radiogroup => horizontal, & provide
intial + minimum height to this tree)


git-svn-id: svn://10.0.0.236/trunk@76233 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 03:49:47 +00:00
ben%netscape.com
cc9cc7082a fix broken classic splitters (46613)
git-svn-id: svn://10.0.0.236/trunk@76232 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 03:48:11 +00:00
BlakeR1234%aol.com
8f6778192a Fix bug 47429, just add a style rule to change cursors. r=me a=german
git-svn-id: svn://10.0.0.236/trunk@76231 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-13 00:05:15 +00:00
BlakeR1234%aol.com
c93397ff17 Fix bug 47430, just add a style rule to change cursors. r=me a=germa
git-svn-id: svn://10.0.0.236/trunk@76230 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 23:54:51 +00:00
dave%intrec.com
8229bb32ee Re-fixing bug 30824 the correct way (which also fixes bug 46753)
git-svn-id: svn://10.0.0.236/trunk@76229 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 23:30:51 +00:00
alecf%netscape.com
e659c72f59 fix ben's bustage of the filter editor (more to come)
git-svn-id: svn://10.0.0.236/trunk@76228 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 22:38:10 +00:00
saari%netscape.com
d178dd6d0f undoing hackery and fixing a leak. r=dbaron
git-svn-id: svn://10.0.0.236/trunk@76227 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 22:19:55 +00:00
mkaply%us.ibm.com
037be63490 OS/2 and AIX Tinderbox break
I have no idea why we don't like having two semicolons in a row, but who the heck would put them there?


git-svn-id: svn://10.0.0.236/trunk@76226 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 20:26:33 +00:00
mozilla.BenB%bucksch.org
a395e2a1ae 28355: Synchronize with server at "Get New Mail". "Contributed" :) by bienvenu, r=BenB, a=brendan.
git-svn-id: svn://10.0.0.236/trunk@76225 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 19:56:38 +00:00
roc+%cs.cmu.edu
91d3cb9ba7 Adding call to new view API so that the view of a fixed-position frame has a Z-order/clipping parent which is not its geometric parent. Bug 39621. r,a=waterson
git-svn-id: svn://10.0.0.236/trunk@76224 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 19:44:11 +00:00
roc+%cs.cmu.edu
dafb67d22b Adding new nsIView/nsIViewManager APIs so that a view can have a different parent for Z-order/clipping purposes than its geometric parent. Bug 39621. r,a=waterson
git-svn-id: svn://10.0.0.236/trunk@76223 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 19:05:52 +00:00
blizzard%redhat.com
2d316adc3e fix for bug #48640. fix UMR in offscreen window initialization. a=brendan
git-svn-id: svn://10.0.0.236/trunk@76222 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 17:34:44 +00:00
mkaply%us.ibm.com
bfbf7b1559 OS/2 and AIX Tinderbox break
Short answer: Be consistent about NS_IF_ADDREFing const and non const of the same type in the same file.
Long answer: Send me email


git-svn-id: svn://10.0.0.236/trunk@76221 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 15:03:24 +00:00
ben%netscape.com
01dfc52a92 added file to jar.mn
git-svn-id: svn://10.0.0.236/trunk@76220 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 10:17:02 +00:00
warren%netscape.com
d9fdedd4d4 Fixed path to jar.mn in comment
git-svn-id: svn://10.0.0.236/trunk@76219 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 10:11:50 +00:00
ben%netscape.com
0b40da7144 ditto
git-svn-id: svn://10.0.0.236/trunk@76218 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 09:48:36 +00:00
ben%netscape.com
09e9e13722 fix preferences -> preferences...
git-svn-id: svn://10.0.0.236/trunk@76217 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 09:47:56 +00:00
ben%netscape.com
2711569c6f old throbber. no one liked the new one. maybe another throbber contest? (46613)
git-svn-id: svn://10.0.0.236/trunk@76216 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 09:34:32 +00:00
ben%netscape.com
03bb4f4be7 46613, classic skin polish
git-svn-id: svn://10.0.0.236/trunk@76215 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 09:27:10 +00:00
ben%netscape.com
e7439f6117 46613, classic skin polish
git-svn-id: svn://10.0.0.236/trunk@76214 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 09:12:23 +00:00
hyatt%netscape.com
5050d7bca4 Linux linux linux... will we ever teach you how comptrs work?
git-svn-id: svn://10.0.0.236/trunk@76213 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 09:00:25 +00:00
hyatt%netscape.com
ce1540a14a Linux sucks.
git-svn-id: svn://10.0.0.236/trunk@76212 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 07:58:54 +00:00
hyatt%netscape.com
5b7b5430bb Fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@76211 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 07:13:52 +00:00
hyatt%netscape.com
67e86b1a57 Fix for 21890 and numerous other bugs. r=pierre, waterson, jst, attinasi, brendan
git-svn-id: svn://10.0.0.236/trunk@76210 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 06:39:24 +00:00
ben%netscape.com
a7f92a120a 46613...
git-svn-id: svn://10.0.0.236/trunk@76209 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 06:37:37 +00:00
ben%netscape.com
c5c8ddeba3 polish changes to the account manager, filter and search dialogs. r=alecf
git-svn-id: svn://10.0.0.236/trunk@76208 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 06:33:18 +00:00
hyatt%netscape.com
a729ae916b Fix for 21890 and numerous other bugs. r=pierre, waterson, jst, attinasi, brendan
git-svn-id: svn://10.0.0.236/trunk@76207 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 06:28:02 +00:00
jj%netscape.com
48bb2dfa6e #24312: moved Component Registry from [xpcom.xpi] to [browser.xpi]
git-svn-id: svn://10.0.0.236/trunk@76206 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 06:05:04 +00:00
ben%netscape.com
743e4cad79 jar.mn update
git-svn-id: svn://10.0.0.236/trunk@76205 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 06:04:33 +00:00
ben%netscape.com
d2cf978a69 46613, classic skin polish
git-svn-id: svn://10.0.0.236/trunk@76204 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 06:01:04 +00:00
rjc%netscape.com
4959563fd7 Fix buf # 44324 (error msg if overloaded FTP server) and bug # 31586 (resolution when logging into user home directory via FTP). r=gagan
git-svn-id: svn://10.0.0.236/trunk@76203 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 05:13:29 +00:00
ben%netscape.com
6649201adf classic skin stuff, 46613
git-svn-id: svn://10.0.0.236/trunk@76202 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 04:24:29 +00:00
svn%xmlterm.org
189ad8f1c3 --NOT PART OF DEFAULT BUILD--
XMLterm changes only.
Fixed overlay to XMLterm back into the tasks menu.


git-svn-id: svn://10.0.0.236/trunk@76201 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 03:51:02 +00:00
danm%netscape.com
380c312459 plug leaking nsWindow. bug 48066. code=sean@beatnik.com r=law@netscape.com, me
git-svn-id: svn://10.0.0.236/trunk@76200 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 02:35:58 +00:00
sfraser%netscape.com
4e94847de0 Fix typo, bug 48616. r=pollmann
git-svn-id: svn://10.0.0.236/trunk@76199 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:42:04 +00:00
BlakeR1234%aol.com
f698420a5b Fix bug 42957 - make enter/return work properly in the XPInstall dialog. r=dveditz a=dveditz
git-svn-id: svn://10.0.0.236/trunk@76197 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:31:32 +00:00
mcafee%netscape.com
5081846ce5 splitting forms-and-passwords pref pane into two panes, out of realestate (40888). r=slamm
git-svn-id: svn://10.0.0.236/trunk@76196 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:30:18 +00:00
mcafee%netscape.com
fb81e8a614 Saving space in winhooks pref panel (40888). r=slamm
git-svn-id: svn://10.0.0.236/trunk@76195 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:29:01 +00:00
sfraser%netscape.com
9c6d4bcbfc Final part of fix for 25161 -- use the new user-select: _moz_all that pierre just checked in.
git-svn-id: svn://10.0.0.236/trunk@76194 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:26:39 +00:00
edburns%acm.org
cdaf385ad3 Changes to make it build in the BAL case.
git-svn-id: svn://10.0.0.236/trunk@76193 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:22:18 +00:00
cyeh%bluemartini.com
70d7d094e9 fix for bug #44691, patch submitted by jmrobins@tgix.com (Joe Robins)
git-svn-id: svn://10.0.0.236/trunk@76192 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:14:25 +00:00
edburns%acm.org
7e99186539 Make it so BAL_INTERFACE=1 compiles on solaris.
git-svn-id: svn://10.0.0.236/trunk@76191 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:08:37 +00:00
putterman%netscape.com
fcea01ecdb Fix for 48314. Unable to toggle between flag and unflagged in threadpane. r=alecf
git-svn-id: svn://10.0.0.236/trunk@76190 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:08:09 +00:00
edburns%acm.org
89d95f4ec6 Make it so BAL_INTERFACE=1 compiles on Solaris.
git-svn-id: svn://10.0.0.236/trunk@76189 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:08:04 +00:00
putterman%netscape.com
abbd64706f Fix for 46342. Remove remember last selected message from preferences. r=alecf.
git-svn-id: svn://10.0.0.236/trunk@76188 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:06:16 +00:00
pierre%netscape.com
83df3e3c44 48096: Need a -moz-all value for user-select. r=sfraser.
git-svn-id: svn://10.0.0.236/trunk@76187 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 01:00:14 +00:00
sfraser%netscape.com
0c4e6f39c9 Toolbar cleanup 47506 -- less obnoxious toggled color. r=cmanske
git-svn-id: svn://10.0.0.236/trunk@76186 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 00:58:45 +00:00
sfraser%netscape.com
e4b56f3564 Fixes for 37815 -- editor toolbar cleanup. r=cmanske
git-svn-id: svn://10.0.0.236/trunk@76184 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 00:47:05 +00:00
sfraser%netscape.com
f11ecfb1ad Work for 37815 -- better dropdown CSS and images. r=cmanske.
git-svn-id: svn://10.0.0.236/trunk@76183 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 00:45:23 +00:00
beard%netscape.com
82866616d8 Fixing bustage.
git-svn-id: svn://10.0.0.236/trunk@76182 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 00:45:09 +00:00
saari%netscape.com
3b61368cb8 Fix more leaks bug 48126 again. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@76180 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 00:38:22 +00:00
ducarroz%netscape.com
9eb73796ed Fix for bug 47855. Implement Save as File and fix command Save to remember which default action to performe (save as file, save as draft or save as template). R=ducarroz
git-svn-id: svn://10.0.0.236/trunk@76177 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 00:29:43 +00:00
sfraser%netscape.com
b2984ba0ab Part of fix for 47855 -- don't show title prompt when saving from mail or plaintext. r=ducarroz
git-svn-id: svn://10.0.0.236/trunk@76175 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 00:16:10 +00:00
sfraser%netscape.com
b34448f00f CSS for editor toolbar buttons for bug 38792. r=cmanske, ben.
git-svn-id: svn://10.0.0.236/trunk@76173 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 00:02:56 +00:00
sfraser%netscape.com
b25e165fa5 Fix for bugs 38792, 47506 -- tidyup of editor toolbar. r=cmanske
git-svn-id: svn://10.0.0.236/trunk@76172 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-12 00:02:32 +00:00
mccabe%netscape.com
9657613bc1 Fix to 39438.
Add a TokenStream entry to the regexp parser state so that regexps compiled at script-compilation time can report filename and line number on error.


git-svn-id: svn://10.0.0.236/trunk@76171 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 23:55:07 +00:00
jband%netscape.com
8e8146c9c7 Pass the buffer length in bytes to nsCRT::memcmp. a=warren
git-svn-id: svn://10.0.0.236/trunk@76170 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 23:46:09 +00:00
cmanske%netscape.com
5bdca17f9e Fixing editor ui bugs 47697, image dialog button problem (part of 47651). r=sfraser
git-svn-id: svn://10.0.0.236/trunk@76169 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 23:43:12 +00:00
morse%netscape.com
3c119236b1 bug 48267, remove a textfield from wallet's pref panel, r=danm
git-svn-id: svn://10.0.0.236/trunk@76165 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 22:38:55 +00:00
cmanske%netscape.com
3351e53730 Fixed spacing around text in titledboxes for Modern skin. b=46423, 42331. r=beppe
git-svn-id: svn://10.0.0.236/trunk@76164 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 22:27:09 +00:00
jst%netscape.com
c69109493c Backing out changes that should've been checked onto a branch. Sorry about that.
git-svn-id: svn://10.0.0.236/trunk@76159 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 22:10:35 +00:00
law%netscape.com
eb9cb69f88 Bug 21137; make Shift-Reload force reload from server; r=radha@netscape.com
git-svn-id: svn://10.0.0.236/trunk@76158 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 22:08:13 +00:00
edburns%acm.org
1968a5ae56 bug=47357
a=edburns
r=edburns
author=avm

This fix adds a length parameter to the loading of URLs.  It also adds a new util function util_getStringLength().


git-svn-id: svn://10.0.0.236/trunk@76157 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 21:58:56 +00:00
mcafee%netscape.com
4113e0d3f3 Thin separators to save space (40888)
git-svn-id: svn://10.0.0.236/trunk@76155 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 21:54:18 +00:00
morse%netscape.com
ad18cdd128 bug 46989, cookies don't work if components.reg is missing, r=dougt
git-svn-id: svn://10.0.0.236/trunk@76153 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 21:51:52 +00:00
pchen%netscape.com
034f671d83 bug 22342, r=danm, back out ben's hack to try to load URL in current window if empty otherwise load in a new window, now always load using openTopWin()
git-svn-id: svn://10.0.0.236/trunk@76152 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 21:49:53 +00:00
javi%netscape.com
88199bbfc6 Fix for bug #44652
git-svn-id: svn://10.0.0.236/trunk@76151 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 21:43:57 +00:00
jst%netscape.com
82c4f10195 DOM API string changes...
git-svn-id: svn://10.0.0.236/trunk@76150 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 21:41:59 +00:00
edburns%acm.org
e962e3882f Update makefile to pull JNI includes from src_share.
git-svn-id: svn://10.0.0.236/trunk@76148 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 21:35:29 +00:00
ruslan%netscape.com
2d3c31f3be Fix 47408, a=gagan,r=neeti
git-svn-id: svn://10.0.0.236/trunk@76147 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 21:31:13 +00:00
valeski%netscape.com
6392db4d27 fixing bustage
git-svn-id: svn://10.0.0.236/trunk@76146 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 21:12:27 +00:00
varada%netscape.com
e15fac2346 fix for bug #46323;unable to launch alternate 3panewindow from addressbook; r= ducarroz
git-svn-id: svn://10.0.0.236/trunk@76145 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 21:04:43 +00:00
scc%mozilla.org
5266231e55 not part of the build; adding multi-fragment strings to the test suite
git-svn-id: svn://10.0.0.236/trunk@76144 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:54:25 +00:00
varada%netscape.com
cace056fe0 fix for bug#40368; removing Stop button from msg compose window; r=ducarroz
git-svn-id: svn://10.0.0.236/trunk@76143 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:52:39 +00:00
law%netscape.com
4d86094da6 Bug 17524; add 'Bookmark this Link' context menu choice; r=slamm@netscape.com
git-svn-id: svn://10.0.0.236/trunk@76140 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:44:06 +00:00
conrad%ingress.com
a2cf6be101 Changed from using strings for nsIDirectoryService props to using macro names defined in nsDirectoryServiceDefs.h
r=valeski


git-svn-id: svn://10.0.0.236/trunk@76139 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:31:57 +00:00
mccabe%netscape.com
d9ba450d3d Spelling fix.
git-svn-id: svn://10.0.0.236/trunk@76138 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:31:17 +00:00
roc+%cs.cmu.edu
c2df6ad973 Testcase for bug 25707.
git-svn-id: svn://10.0.0.236/trunk@76137 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:28:49 +00:00
conrad%ingress.com
dfbe032f38 Added appfilelocprovider usage
r=valeski


git-svn-id: svn://10.0.0.236/trunk@76136 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:28:32 +00:00
mcafee%netscape.com
50b23735dd Saving space in pref pane (40888). r=slamm
git-svn-id: svn://10.0.0.236/trunk@76135 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:26:30 +00:00
conrad%ingress.com
48e7ec20b8 1. Changed from using strings to using macro names for property keys
2. Fixed return val of RegisterProvider
r=valeski


git-svn-id: svn://10.0.0.236/trunk@76134 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:25:18 +00:00
conrad%ingress.com
2a7d6c6682 Added an impl of nsIDirectoryServiceProvider to nsProfile.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@76133 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:23:14 +00:00
conrad%ingress.com
2f2ea9dd4e Added the building of appfilelocationprovider lib.
r=sfraser


git-svn-id: svn://10.0.0.236/trunk@76132 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:21:09 +00:00
conrad%ingress.com
f111d7d465 Added appfilelocationprovider lib
git-svn-id: svn://10.0.0.236/trunk@76131 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:18:43 +00:00
conrad%ingress.com
a38d3b0a77 Added appfilelocationprovider lib
r=valeski


git-svn-id: svn://10.0.0.236/trunk@76130 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:17:55 +00:00
conrad%ingress.com
fa1b9b93d7 Changed call of NS_InitEmbedding.
r=adamlock


git-svn-id: svn://10.0.0.236/trunk@76129 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:14:31 +00:00
conrad%ingress.com
1ebdcd7cba Changed params to NS_InitEmbedding.
git-svn-id: svn://10.0.0.236/trunk@76128 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:14:02 +00:00
conrad%ingress.com
03c7af5044 Changed call of NS_InitEmbedding.
git-svn-id: svn://10.0.0.236/trunk@76127 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:13:41 +00:00
nhotta%netscape.com
80721dda88 Disabled caching for encoders since they hold states, bug 48284, r=cata,ftang.
git-svn-id: svn://10.0.0.236/trunk@76126 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:13:31 +00:00
pchen%netscape.com
19cc303013 bug 46137, r=putterman, add id="printMenuItem" to print menu item so that Print Plus overlay gets added right after it
git-svn-id: svn://10.0.0.236/trunk@76125 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:11:25 +00:00
matt%netscape.com
4371f8a557 fix for bug 30375 rev. matt patch taken
git-svn-id: svn://10.0.0.236/trunk@76124 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:10:50 +00:00
conrad%ingress.com
409fc82b6b 1. Removed NS_Init which took a path.
2. Added appfilelocation provider param.
r=dougt


git-svn-id: svn://10.0.0.236/trunk@76123 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:10:06 +00:00
conrad%ingress.com
a46cb958bf 1. Uses appfilelocationprovider. Can pass one in or pass nsnull and default is made.
2. Removed version of NS_InitEmbedding which took char* path.
r=dougt


git-svn-id: svn://10.0.0.236/trunk@76122 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:09:05 +00:00
roc+%cs.cmu.edu
4c56115614 When computing the max-element-size, base percentage margins on the size of the contained max-element-size, not on the container's desired size. Bug 25707. r,a=waterson
git-svn-id: svn://10.0.0.236/trunk@76121 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 20:08:15 +00:00
leaf%mozilla.org
89132c59f4 adding mozilla/modules/appfilelocprovider to SeaMonkeyCore --leaf
git-svn-id: svn://10.0.0.236/trunk@76120 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 19:58:25 +00:00
anthonyd%netscape.com
7d90e93839 fix for bug#48472
apparently nsIContent::ChildAt can be successful
and not return a child. now checking fo that.
r: smfr
a: beppe


git-svn-id: svn://10.0.0.236/trunk@76116 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 19:55:39 +00:00
wtc%netscape.com
7006b5f542 Bugzilla bug #39731: the imported pipe needs to have its
secret->md.sync_file_io set to PR_TRUE on NT because unnamed pipes
don't support async io.


git-svn-id: svn://10.0.0.236/trunk@76114 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 18:36:38 +00:00
thayes%netscape.com
c0a3673fd8 Add Pragma: no-cache to PSM UI pages. This prevents caching by the client
and avoids bugs due to missing UI Events, and display of stale content.


git-svn-id: svn://10.0.0.236/trunk@76113 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 17:32:25 +00:00
bienvenu%netscape.com
fc352ff208 work for 22960 speed up msg display performance by speeding up history ab i18n function use r=putterman
git-svn-id: svn://10.0.0.236/trunk@76108 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 13:58:17 +00:00
warren%netscape.com
fafff3b825 Jar manifest updates.
git-svn-id: svn://10.0.0.236/trunk@76107 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 09:05:40 +00:00
morse%netscape.com
f0798011ba bug 48539, needed defensive code to prevent infinite loop on corrupted data
git-svn-id: svn://10.0.0.236/trunk@76106 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 07:12:07 +00:00
BlakeR1234%aol.com
3d414e29c8 Fix bug 48414 - enable tree column resizing in the password manager. r=syd a=morse
git-svn-id: svn://10.0.0.236/trunk@76105 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 06:52:06 +00:00
BlakeR1234%aol.com
6fca72c24b Fix bug 48414 - enable tree column resizing in the cookie and image managers. r=syd a=morse
git-svn-id: svn://10.0.0.236/trunk@76104 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 06:50:32 +00:00
saari%netscape.com
36b1afb126 nsbeta3+ bug 28508, select all is flakey from the context menu. Make sure popups don't steal focus. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@76103 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 06:31:09 +00:00
waldemar%netscape.com
c3f9a7aef7 Updated to generate Netscape 6-compatible HTML
git-svn-id: svn://10.0.0.236/trunk@76102 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 06:27:55 +00:00
waldemar%netscape.com
412bbaa229 Added attributes to for-initializers and no-line-breaks in a few places
git-svn-id: svn://10.0.0.236/trunk@76101 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 06:27:25 +00:00
waldemar%netscape.com
2a6f7a997f Updated to match documentation site
git-svn-id: svn://10.0.0.236/trunk@76100 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 06:24:57 +00:00
waldemar%netscape.com
130d41b297 Updated to match styles.css on documentation site
git-svn-id: svn://10.0.0.236/trunk@76099 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 06:24:39 +00:00
mcafee%netscape.com
6466c19e72 Editor pref files changed locations, but internal chrome: URLs did not and pref panes were blank. Fixing chrome: URLs. r=syd
git-svn-id: svn://10.0.0.236/trunk@76098 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 06:17:45 +00:00
putterman%netscape.com
d422473358 Fix for 45072. Make address book columns resizeable. r=mscott.
git-svn-id: svn://10.0.0.236/trunk@76097 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 06:00:51 +00:00
mcafee%netscape.com
39724aac3f Saving space in prefs (40888). r=syd
git-svn-id: svn://10.0.0.236/trunk@76095 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 05:30:49 +00:00
warren%netscape.com
88b71c97d5 Fixed to clean up files and directories properly. Fixed mod times of copied files so they don't get re-jarred.
git-svn-id: svn://10.0.0.236/trunk@76094 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 05:16:15 +00:00
nelsonb%netscape.com
e07feb7d25 Add commented-out lines to build on other platforms.
Clean target now removes libmpi.a also.


git-svn-id: svn://10.0.0.236/trunk@76093 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 05:01:59 +00:00
cmanske%netscape.com
aa6f5ab8c7 Restrict nsEditorShellMouseListener to HTML editor; fix to optimize GetSelectedNode for named anchors, b=47687, r=sfraser
git-svn-id: svn://10.0.0.236/trunk@76092 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 04:59:37 +00:00
alecf%netscape.com
655d4029e9 speedup for 26456 - use autostring instead of PR_smprintf
r=putterman


git-svn-id: svn://10.0.0.236/trunk@76091 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 04:32:08 +00:00
mstoltz%netscape.com
bf3ffda0ef bug 47670. r=jtaylor
git-svn-id: svn://10.0.0.236/trunk@76090 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 04:31:08 +00:00
alecf%netscape.com
76cac84419 local mail speedup for #26456 r=putterman
use autostrings not PR_smprintf


git-svn-id: svn://10.0.0.236/trunk@76089 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 04:28:49 +00:00
alecf%netscape.com
f9cf749d55 speedup for #26456 - use autostring instead of PR_smprintf r=putterman
git-svn-id: svn://10.0.0.236/trunk@76088 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 04:27:37 +00:00
danm%netscape.com
bc5dce6605 Request scrollbars in new window opened in toOpenWindowByType. Necessary now that scrollbars=no is supported.
git-svn-id: svn://10.0.0.236/trunk@76087 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 04:00:29 +00:00
danm%netscape.com
c007797bdf sync with nsWebShellWindow.h rev 1.109
git-svn-id: svn://10.0.0.236/trunk@76086 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 03:44:49 +00:00
danm%netscape.com
b399772bf1 adding ability to open a browser without scrollbars (window.open(...scrollbars=no)) bug 28193
git-svn-id: svn://10.0.0.236/trunk@76085 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 03:43:44 +00:00
cmanske%netscape.com
28dc46ae74 More editor UI bug fixes: 47653, 47688, 47693, 47687. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@76083 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 03:20:47 +00:00
jtaylor%netscape.com
0a53eb51a1 Fixes bug #45877. r=mstoltz.
git-svn-id: svn://10.0.0.236/trunk@76081 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 03:11:24 +00:00
cmanske%netscape.com
21c98fdd2d Added more space above text for toolbar buttons. Part of 46423. r=hangas
git-svn-id: svn://10.0.0.236/trunk@76078 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 03:08:38 +00:00
wtc%netscape.com
56520691f3 Use real sockets in the poll desc array as opposed to NULL. Some
platforms seem to have problem polling on an array of -1's.


git-svn-id: svn://10.0.0.236/trunk@76077 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 03:00:45 +00:00
mccabe%netscape.com
9f72f530f8 Back in backed-out fix.
git-svn-id: svn://10.0.0.236/trunk@76076 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 02:58:30 +00:00
jtaylor%netscape.com
97722abc48 Fixes bug #41571. r=mstoltz.
git-svn-id: svn://10.0.0.236/trunk@76075 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 02:46:47 +00:00
saari%netscape.com
d94289754b Fix for leaks. Bug 48126 r=dbaron, hyatt
git-svn-id: svn://10.0.0.236/trunk@76074 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 02:11:53 +00:00
nelsonb%netscape.com
adc94749ec Change mp_add and mp_sub to not allocate a temporary variable unless it's
really necessary.


git-svn-id: svn://10.0.0.236/trunk@76073 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 01:58:20 +00:00
anthonyd%netscape.com
76985c2924 fix for bug# 48472 (dogfood bug)
r: mjudge
a: beppe


git-svn-id: svn://10.0.0.236/trunk@76072 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 01:36:28 +00:00
despotdaemon%netscape.com
92120402dc Pseudo-automatic update of changes made by rcassin@supernova.org.
git-svn-id: svn://10.0.0.236/trunk@76071 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 01:35:41 +00:00
wtc%netscape.com
9575d94c34 Updated for 4.1 release.
git-svn-id: svn://10.0.0.236/trunk@76070 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 01:34:31 +00:00
putterman%netscape.com
c03194eab2 Fix for bugs 46973. Select all now selects all messages in threaded mode. Fix for 20375. Expand/Collapse All in threaded mode.
r=alecf.


git-svn-id: svn://10.0.0.236/trunk@76069 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 01:14:59 +00:00
wtc%netscape.com
b716fed993 Moved prgcleak.c from mozilla/nsprpub/pr/src/md/mac/prgcleak.c.
git-svn-id: svn://10.0.0.236/trunk@76066 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 01:02:37 +00:00
wtc%netscape.com
6efa917951 Bugzilla bug #30746: backed out the PR_SetConcurrency(2) workaround
because it introduced other problems.


git-svn-id: svn://10.0.0.236/trunk@76065 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:57:50 +00:00
scc%mozilla.org
2d8a21877e Bug #47244. patch from sean@beatnik.com; thanks sean! r=scc, a=waterson
git-svn-id: svn://10.0.0.236/trunk@76064 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:55:59 +00:00
warren%netscape.com
03c2e00d03 Fixed bustage for chrome:: rule
git-svn-id: svn://10.0.0.236/trunk@76063 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:47:03 +00:00
scc%mozilla.org
12978905ce bug #48464. explicitly picking my own or the auto-generated function, in particular |operator=|. r={vidur, waterson}, a=vidur
git-svn-id: svn://10.0.0.236/trunk@76062 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:42:41 +00:00
pinkerton%netscape.com
84a5d0af08 another great patch from dean, with a honker of a comment explaining what is going on from me. we need to check more than one level down to see if we should move the selected item back to |mTimerMenu| when the selection timer fires. fixes bug 29400. yay!!!! r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@76061 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:37:59 +00:00
kestes%staff.mail.com
8a0029f728 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@76060 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:35:25 +00:00
law%netscape.com
c4e4c6b6af Bug 17524; add 'Bookmark this Link' context menu choice; r=slamm@netscape.com
git-svn-id: svn://10.0.0.236/trunk@76059 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:31:52 +00:00
jelwell%netscape.com
12242a3aae Fixing bugscape bug 830, Address Book was calling CallSaveListeners before the abURI was created. r=alecf
git-svn-id: svn://10.0.0.236/trunk@76058 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:29:14 +00:00
kestes%staff.mail.com
030babe66c *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@76057 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:27:27 +00:00
despotdaemon%netscape.com
25de771aa3 Pseudo-automatic update of changes made by shannond@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@76056 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:26:50 +00:00
leaf%mozilla.org
0c9f2d461f Automated update
git-svn-id: svn://10.0.0.236/trunk@76055 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:15:09 +00:00
warren%netscape.com
cce592f105 Getting gc leak-detector to work on linux. Non-nspr changes. code=beard,wade r=warren
git-svn-id: svn://10.0.0.236/trunk@76054 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:13:39 +00:00
alecf%netscape.com
a420cb67b7 fix for 44714 - remove ignore/watch thread (easy fix, no review)
git-svn-id: svn://10.0.0.236/trunk@76053 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:10:18 +00:00
hyatt%netscape.com
f43472dc93 Fix for 47081. r=ben
git-svn-id: svn://10.0.0.236/trunk@76052 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:05:49 +00:00
cmanske%netscape.com
63f196955b Attempt to fix plain text messenger composer bug 48474, r=sfraser
git-svn-id: svn://10.0.0.236/trunk@76051 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-11 00:02:43 +00:00
despotdaemon%netscape.com
1b54a8b219 Pseudo-automatic update of changes made by tao@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@76050 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:55:08 +00:00
warren%netscape.com
f55b1908f9 Preparing for jar packaging. Added warning.
git-svn-id: svn://10.0.0.236/trunk@76049 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:52:29 +00:00
sgehani%netscape.com
003ac640b8 For Unix, create component.reg in cwd, not the specified program dir.
[nsbeta3+ b=47721; r=dveditz]


git-svn-id: svn://10.0.0.236/trunk@76048 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:50:32 +00:00
despotdaemon%netscape.com
81705af534 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@76047 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:46:46 +00:00
despotdaemon%netscape.com
bb29fcebb0 Pseudo-automatic update of changes made by jelwell@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@76046 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:41:53 +00:00
mccabe%netscape.com
19434bb257 Backout until I can figure out why mac doesn't like strlen here, even though it seems OK elsewhere.
git-svn-id: svn://10.0.0.236/trunk@76045 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:32:03 +00:00
mcafee%netscape.com
ba775a0587 Splitting cookies/images pref pane into two separate panes (40888). r=ben
git-svn-id: svn://10.0.0.236/trunk@76044 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:27:21 +00:00
warren%netscape.com
6940a6f6a6 Fixed formatting of output so that things line up again.
git-svn-id: svn://10.0.0.236/trunk@76043 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:20:07 +00:00
pchen%netscape.com
ee724d936a bug 42854, r = ben, checking patch from gemal@gemal.dk to change download progress dialog to not have OK button
git-svn-id: svn://10.0.0.236/trunk@76042 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:13:33 +00:00
alecf%netscape.com
d3002525ff fix for #35803 - call the onload handler so that the page is re-initialized too
r=putterman


git-svn-id: svn://10.0.0.236/trunk@76038 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:09:26 +00:00
mcafee%netscape.com
921f818977 Removing wallet from makefiles, fixes solaris bustage. r=Daa
git-svn-id: svn://10.0.0.236/trunk@76037 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:04:33 +00:00
attinasi%netscape.com
e7b5464ded Text with 'whitespace:nowrap' no longer uses special Win32-only text measurement code becasue it didn't work. b=42832 r=waterson
git-svn-id: svn://10.0.0.236/trunk@76036 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:03:11 +00:00
mccabe%netscape.com
e147d2735e Fix to 46566.
Always copy the current line string out of the token buffer when generating an error report, rather than just passing the token buffer itself.  The token buffer wasn't necessarily a well-terminated string, so displaying the contents of the string in the error report produced unexpected results.

The unicode string in the error report is owned by a JSString; this string is rooted for the (stack-based) lifetime of the error report.

Fix courtesy jband.

r=mccabe
a=beard


git-svn-id: svn://10.0.0.236/trunk@76035 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 23:02:39 +00:00
mccabe%netscape.com
fa87396bba Fix to 34425 -
Always create an error report, even when there is no current stack frame and it might be empty.  This fixes an API regression; we used to allow JS_ReportError to be called from the API when no JavaScript was running.

r=rogerl
a=beard


git-svn-id: svn://10.0.0.236/trunk@76034 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 22:57:40 +00:00
mscott%netscape.com
500fe3c2d7 Bug #44161, 44160 --> get the correct prompt object for the current window instead
of using the one attached to the hidden window. We used to get it from the compose
docshell but when you send the message, that window is actually gone. We should
parent the alerts off of an underlying mail window...
r=ducarroz


git-svn-id: svn://10.0.0.236/trunk@76033 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 22:56:29 +00:00
mccabe%netscape.com
2d6aa46deb Fix to 47409 -
Don't use timezone comment in javascript Date object toString string if it looks like it might not be ASCII.

a,r=beard


git-svn-id: svn://10.0.0.236/trunk@76032 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 22:54:45 +00:00
mscott%netscape.com
01970ef5f8 Bug #44161 --> remove reference to m_docshell which we don't need now.
r=ducarroz


git-svn-id: svn://10.0.0.236/trunk@76031 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 22:54:37 +00:00
ruslan%netscape.com
fc6cf6f5c0 Fix 46496, r/a=gagan
git-svn-id: svn://10.0.0.236/trunk@76030 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 22:38:56 +00:00
ducarroz%netscape.com
d26c7cb6c3 Fix for bug 27170. Remove option UUencode for attachment. R=mscott
git-svn-id: svn://10.0.0.236/trunk@76029 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 22:29:44 +00:00
ducarroz%netscape.com
f0b066fa51 Fix for bug 47361. Don't access direclty the buffer of a nsAutoCString, it might not be in sync with the content of the string itself. R=bienvenu,mscott
git-svn-id: svn://10.0.0.236/trunk@76028 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 22:27:09 +00:00
gagan%netscape.com
793935f471 Fix for bugscape 1800. Offline mode would have sit in recursion. This was already fixed for the M17 branch just doing the same for the tip.
git-svn-id: svn://10.0.0.236/trunk@76027 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 22:11:13 +00:00
despotdaemon%netscape.com
b48c7f59b4 Pseudo-automatic update of changes made by kestes@staff.mail.com.
git-svn-id: svn://10.0.0.236/trunk@76026 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 22:10:34 +00:00
heikki%netscape.com
dd53ea068d Trivial, bug 41772, we were not setting the return value in all cases for HandleEventInternal. r=jst.
git-svn-id: svn://10.0.0.236/trunk@76025 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 22:07:33 +00:00
alecf%netscape.com
d733d093e5 fix for #43484 - sort the account manager and folder pane according to spec
r=putterman


git-svn-id: svn://10.0.0.236/trunk@76024 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 22:02:52 +00:00
despotdaemon%netscape.com
7d3efcc20e Pseudo-automatic update of changes made by mitesh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@76022 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 21:52:39 +00:00
nelsonb%netscape.com
d6d04f83c1 Replace s_mp_ispow2d with faster version. Change s_mp_mul_d to detect
multiplication by 0, 1, and powers of 2, and handle them without actual
multiplication.


git-svn-id: svn://10.0.0.236/trunk@76020 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 21:43:16 +00:00
edburns%acm.org
1f01dae006 a=edburns
r=ashuk
bug=47357
M classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java
M src_moz/CBrowserContainer.cpp
M src_moz/NativeEventThread.cpp
M src_moz/ns_util.cpp
M src_moz/ns_util.h
M src_share/jni_util.cpp
M src_share/jni_util.h

tar -cvf 47357.2.tar classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java src_moz/CBrowserContainer.cpp src_moz/NativeEventThread.cpp src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h

cvs diff -u classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java src_moz/CBrowserContainer.cpp src_moz/NativeEventThread.cpp src_moz/ns_util.cpp src_moz/ns_util.h src_share/jni_util.cpp src_share/jni_util.h

This change modifes what one has to do on the native side to add a
listener.

 * How to create a new listener type on the native side: <P>

 * 1. add an entry in the gSupportedListenerInterfaces array defined in
 * ns_util.cpp <P>

 * 2. add a corresponding entry in the LISTENER_CLASSES enum in
 * ns_util.h <P>

 * 3. add a jstring to the string constant list in
 * CBrowserContainer.cpp, below.

 * 4. Initialize this jstring constant in CBrowserContainer.cpp
 * initStringConstants() <P>

 * 5. add an entry to the switch statement in NativeEventThread.cpp
 * native{add,remove}Listener <P>

You have to clobber_all in webclient after this change.


git-svn-id: svn://10.0.0.236/trunk@76019 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 21:38:52 +00:00
wtc%netscape.com
3064c5d83d Added comments to explain the format of the PR_VERSION string.
Set version number to 4.1 Beta.


git-svn-id: svn://10.0.0.236/trunk@76018 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 21:19:17 +00:00
sgehani%netscape.com
f3dce67713 Make license box non-editable.
[nsbeta3+ bugscape b=1939; r=syd]


git-svn-id: svn://10.0.0.236/trunk@76017 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 20:19:20 +00:00
heikki%netscape.com
5ff983885a Fixed bug 41772, if XLink target was XML file it never opened it in new window. r=jst.
git-svn-id: svn://10.0.0.236/trunk@76016 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 20:18:49 +00:00
mkaply%us.ibm.com
7a9808d5bf Accidentally checked in branch file on trunk
git-svn-id: svn://10.0.0.236/trunk@76015 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 20:18:25 +00:00
rayw%netscape.com
b02b43d396 Changed case of nsIFactory.idl methods to start with lower case to be like other
interfaces.  Since the C++ generated code upper-cases the method names, this
affects no C++ code, but only a few javascript methods.

Bug 46771.

r=waterson.

I am in today and tomorrow.


git-svn-id: svn://10.0.0.236/trunk@76014 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 20:12:08 +00:00
dbaron%fas.harvard.edu
5c4eea6dd3 Fix huge leak warren introduced last night. Changing the hash keys to have owning pointers caused circular ownership. r=waterson b=48373 (nsbeta3+)
git-svn-id: svn://10.0.0.236/trunk@76013 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 20:08:30 +00:00
ducarroz%netscape.com
65d7e22843 Fix for bug 43441 & bug 32598. Fix various problems with message compose prefs panel. R=varada
git-svn-id: svn://10.0.0.236/trunk@76012 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 20:03:54 +00:00
mkaply%us.ibm.com
0388cc5888 Initial branch Bidi checkin
git-svn-id: svn://10.0.0.236/trunk@76011 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 20:01:52 +00:00
ducarroz%netscape.com
89d7e91181 Fix for bug 32598. Re-arrange the frame to be sure it fit (UI change approuved by jglick). R=varada
git-svn-id: svn://10.0.0.236/trunk@76010 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 19:56:56 +00:00
jgaunt%netscape.com
d0c9dbc365 a=blizzard@redhat.com r=jgaunt@netscape.com
fixing hp bustage


git-svn-id: svn://10.0.0.236/trunk@76009 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 19:55:25 +00:00
sgehani%netscape.com
9f8f3d16fc Merge M17 branch fix for nsbeta2+ bugscape bug 1895: get rid of error 340 in
Mac installer during XPCOM autoreg by delaying so fragment registry has time
to update newly extracted shlbs.

[branch fix r=dveditz; a=pdt]


git-svn-id: svn://10.0.0.236/trunk@76005 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 19:05:19 +00:00
despotdaemon%netscape.com
8f76cd0e1a Pseudo-automatic update of changes made by briane@qnx.com.
git-svn-id: svn://10.0.0.236/trunk@76002 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 18:35:41 +00:00
despotdaemon%netscape.com
50be60b3f8 Pseudo-automatic update of changes made by dinglis@qnx.com.
git-svn-id: svn://10.0.0.236/trunk@75997 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 13:51:35 +00:00
mcafee%netscape.com
a8f84a1b6f More double-space lossage, whitespace change only.
git-svn-id: svn://10.0.0.236/trunk@75996 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 08:16:40 +00:00
valeski%netscape.com
6bc3545fcb fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@75995 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:59:50 +00:00
cmanske%netscape.com
78c3f83d86 Simplified background image UI in Colors and Background dialog, b=47693, r=sfraser
git-svn-id: svn://10.0.0.236/trunk@75994 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:31:52 +00:00
warren%netscape.com
b86de5d4dc Fixed nsStringKey -> nsCStringKey problem
git-svn-id: svn://10.0.0.236/trunk@75993 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:28:01 +00:00
mcafee%netscape.com
6a25660d7f Ignore gnerated files.
git-svn-id: svn://10.0.0.236/trunk@75992 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:25:12 +00:00
mcafee%netscape.com
80bdc83a00 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@75991 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:24:02 +00:00
warren%netscape.com
2950542cad Fixed nsStringKey problems due to hashtable changes.
git-svn-id: svn://10.0.0.236/trunk@75990 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:10:42 +00:00
cmanske%netscape.com
189a5f3e9f Fixed layout in Colors and Background dialog, b=47693, r=sfraser
git-svn-id: svn://10.0.0.236/trunk@75989 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:08:07 +00:00
mcafee%netscape.com
73706e3a54 Backing out reorder, to match valeski's backout
git-svn-id: svn://10.0.0.236/trunk@75988 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:07:13 +00:00
valeski%netscape.com
903a9804f4 backing out
git-svn-id: svn://10.0.0.236/trunk@75987 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:06:21 +00:00
warren%netscape.com
ee959ee62f Fixed warnings.
git-svn-id: svn://10.0.0.236/trunk@75986 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:05:13 +00:00
valeski%netscape.com
057df7f19b re-ordering so clobber builds are ok
git-svn-id: svn://10.0.0.236/trunk@75985 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:01:40 +00:00
alecf%netscape.com
57ac3904d4 fix for #39016 r=mscott
make more strings localization friendly, and use formatStringFromName where appropriate


git-svn-id: svn://10.0.0.236/trunk@75984 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 07:00:16 +00:00
cmanske%netscape.com
86437dac18 Fixed tooltip in Colors and Background dialog, b=47693, r=sfraser
git-svn-id: svn://10.0.0.236/trunk@75983 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 06:54:03 +00:00
valeski%netscape.com
e270f6cf85 backing out
git-svn-id: svn://10.0.0.236/trunk@75982 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 06:51:30 +00:00
valeski%netscape.com
3ae56dd890 backing out
git-svn-id: svn://10.0.0.236/trunk@75981 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 06:46:00 +00:00
cmanske%netscape.com
f46c8c5393 Tweaked Insert Table dialog, b=47688, r=sfraser
git-svn-id: svn://10.0.0.236/trunk@75980 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 06:44:59 +00:00
mcafee%netscape.com
df6a56ce21 Moving embedding directory to follow xpfe, dependency on xpfelocation_s.a was introduced by embedding tonight. Component ? or better solution? Fixes linux bustage. a=syd
git-svn-id: svn://10.0.0.236/trunk@75979 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 06:43:05 +00:00
scc%mozilla.org
e98f6c2c7c fixes needed to get multi-fragment strings working; r|a=waterson
git-svn-id: svn://10.0.0.236/trunk@75978 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 06:36:54 +00:00
warren%netscape.com
fac6eb1451 Fixed nscom.h -> nsCom.h
git-svn-id: svn://10.0.0.236/trunk@75977 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 06:35:34 +00:00
morse%netscape.com
0b19dc7209 fix bug 48241, crash when visiting url
git-svn-id: svn://10.0.0.236/trunk@75976 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 06:34:24 +00:00
warren%netscape.com
e5706a7236 Bug 46711. Removed nsAutoString travisty from nsStringKey. Introduced nsCStringKey. Made them both share the underlying string when possible. r=waterson
git-svn-id: svn://10.0.0.236/trunk@75975 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 06:19:37 +00:00
conrad%ingress.com
0a2d2db689 Fixed double line feed problem.
git-svn-id: svn://10.0.0.236/trunk@75974 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 06:06:02 +00:00
valeski%netscape.com
be3eff76db fixing windows hatred of goto inits
git-svn-id: svn://10.0.0.236/trunk@75973 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 05:23:05 +00:00
mcafee%netscape.com
14d36bbdb1 Fixing unix bustage.
git-svn-id: svn://10.0.0.236/trunk@75972 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 05:14:54 +00:00
mcafee%netscape.com
93d264db2f Adding nsDirectoryServiceDefs.h, fixing whitespace problems. This would have become linux bustage later.
git-svn-id: svn://10.0.0.236/trunk@75971 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 04:53:37 +00:00
conrad%ingress.com
39dbfd4b1a Changed strings to use macros
Fixed FindWinFolder which was not doing anything.


git-svn-id: svn://10.0.0.236/trunk@75970 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 04:39:30 +00:00
conrad%ingress.com
ffac91d169 Added nsDirectoryServiceDefs.h
git-svn-id: svn://10.0.0.236/trunk@75969 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 04:37:43 +00:00
conrad%ingress.com
3c685a3da5 Added the building of appfilelocationprovider lib.
r=sfraser


git-svn-id: svn://10.0.0.236/trunk@75968 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 04:36:59 +00:00
mcafee%netscape.com
d33428150e Reverting conrads change, accidentally double-spaced entire file.
git-svn-id: svn://10.0.0.236/trunk@75967 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 04:29:05 +00:00
conrad%ingress.com
8792af6e42 Export of nsDirectoryServiceDefs.h
r=valeski


git-svn-id: svn://10.0.0.236/trunk@75966 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 04:12:16 +00:00
conrad%ingress.com
4cbe746cf8 Export of defs header file.
r=valeski


git-svn-id: svn://10.0.0.236/trunk@75965 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 04:11:15 +00:00
conrad%ingress.com
4f099f2db5 Added appfilelocprovider lib, shell32 lib
r=valeski


git-svn-id: svn://10.0.0.236/trunk@75964 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 04:10:24 +00:00
conrad%ingress.com
1ebc1b19fb First checkin.
r=valeski


git-svn-id: svn://10.0.0.236/trunk@75963 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 04:03:52 +00:00
conrad%ingress.com
10b518db79 First checkin.
git-svn-id: svn://10.0.0.236/trunk@75962 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 04:02:25 +00:00
mscott%netscape.com
007f8e73f7 Backing out mstoltz's earlier checkin to bring mailnews back to life.
a=mcafee


git-svn-id: svn://10.0.0.236/trunk@75961 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:57:43 +00:00
valeski%netscape.com
764b5a125b fixing windows linkage problems
git-svn-id: svn://10.0.0.236/trunk@75960 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:50:12 +00:00
cmanske%netscape.com
f3cfdd30aa Big UI fix checkin continued - same bugs as last checkin. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@75959 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:43:09 +00:00
conrad%ingress.com
ed5327cc88 Changed params to NS_InitEmbedding.
git-svn-id: svn://10.0.0.236/trunk@75958 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:43:06 +00:00
mkaply%us.ibm.com
a9a603ea20 r=waterson, a=waterson
OS/2 and AIX tinderbox break - shouldn't NS_IF_ADDREF a member in a const function


git-svn-id: svn://10.0.0.236/trunk@75957 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:39:05 +00:00
valeski%netscape.com
62a9983d74 fixing build bustage on linux
git-svn-id: svn://10.0.0.236/trunk@75956 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:37:36 +00:00
valeski%netscape.com
b6e04fc6fa fixing bustage
git-svn-id: svn://10.0.0.236/trunk@75955 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:29:50 +00:00
valeski%netscape.com
7e2825ed28 checking in for conrad to fix build bustage
git-svn-id: svn://10.0.0.236/trunk@75954 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:27:21 +00:00
valeski%netscape.com
3738c48369 temp fix for build problem
git-svn-id: svn://10.0.0.236/trunk@75953 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:15:57 +00:00
brendan%mozilla.org
36587fa68b Fix cut-and-paste bugs in JavaMember_finalize (48304, r=pschwartau).
git-svn-id: svn://10.0.0.236/trunk@75952 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:09:41 +00:00
conrad%ingress.com
0ae5e8b681 Added implementation of nsIDirectoryServiceProvider.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@75951 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:08:39 +00:00
conrad%ingress.com
dd41a9d6cc 1. Uses appfilelocationprovider. Can pass one in or pass nsnull and default is made.
2. Removed version of NS_InitEmbedding which took char* path.
r=dougt


git-svn-id: svn://10.0.0.236/trunk@75950 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 03:07:25 +00:00
wtc%netscape.com
a08d1fb996 Bugzilla bug #34920: fixed a bug in PR_EmulateAcceptRead that depended
on the implementation of an enum.


git-svn-id: svn://10.0.0.236/trunk@75949 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 02:40:12 +00:00
rhp%netscape.com
186f953f67 Fix for Japanese text being corrupted in Forward Inline - Bug #: 48118 - r: mscott
git-svn-id: svn://10.0.0.236/trunk@75948 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 02:28:26 +00:00
dmose%mozilla.org
d2fb313f29 Changed nsLDAPConnection to execute the nsILDAPMessageListener callbacks directly rather than through an nsISupports proxy, meaning that the default is for them to execute on the nsLDAPConnection thread. Callers can still create a proxy manually and pass it in, if desired. Changed the datasource and channel objects to run correctly on the nsLDAPConnection thread, in the hopes that this would help avoid UI stalls. On Linux, at least, this didn't make any perceptible improvement, but it still is probably a good thing, and may help once more event system loving gets checked in. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75947 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 02:13:21 +00:00
cmanske%netscape.com
838e3690e4 Changed images for editmode toolbar, part of bug 47515. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@75945 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 02:11:00 +00:00
cmanske%netscape.com
4483c01929 Big UI fix! bugs=47898, 26843, 26871, 37152, 38944, 41545, 42246, 42343, 43089, 45463, 45904, 46001, 47644, 47314, 47510, 47515, 47622, 47650, 47653, 47699, 47700, 46179, 47696, 47693. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@75944 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 02:10:17 +00:00
mscott%netscape.com
9008e92d31 Bug #46086 --> can't read forwarded messages in 4.x because we are setting
a bogus content type on the news article (when it's forwarded as an attachment)
Bug #48135 --> fix forwarding of news messages bustage. Clear the channel listener
and re-generate it every time we load a url.
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@75943 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 02:09:33 +00:00
mscott%netscape.com
1deb252a2f Bug #48078, 48081 --> bring up save to disk dialog right away from the helper app dialog instead of
waiting till the download is finished.
properly implement Cancel so we stop the download and clean up the temp file.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@75942 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 01:49:06 +00:00
edburns%acm.org
1cf629674f First checkin of Webclient/IE
git-svn-id: svn://10.0.0.236/trunk@75941 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 01:33:35 +00:00
edburns%acm.org
3395507383 Make it so the jni headers are built in src_share.
git-svn-id: svn://10.0.0.236/trunk@75940 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 01:08:14 +00:00
syd%netscape.com
4b2f05254e partial fix for 1611. r=cmanske
git-svn-id: svn://10.0.0.236/trunk@75939 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 01:04:50 +00:00
despotdaemon%netscape.com
59c052f2cd Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@75938 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 01:03:05 +00:00
edburns%acm.org
287ea4cd13 Make it so the jni headers are built in src_share.
git-svn-id: svn://10.0.0.236/trunk@75937 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 01:02:57 +00:00
anthonyd%netscape.com
902ff13a56 bug fix for 47399
dropping a drag session onto the originating selection
should do nothing.
r: mjudge, jfrancis


git-svn-id: svn://10.0.0.236/trunk@75936 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 01:01:18 +00:00
dr%netscape.com
2c783e6d18 one-line fix for 46658, r=ben
git-svn-id: svn://10.0.0.236/trunk@75935 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 00:52:02 +00:00
scc%mozilla.org
a8fa84f5e5 not part of the build; further work on multi-fragment strings. They are now limping along and can actually be used. They pass all tests not related to |Substring| and |nsPromiseConcatenation|.
git-svn-id: svn://10.0.0.236/trunk@75934 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 00:45:33 +00:00
mscott%netscape.com
3472eb5a1a fix mac breakage...can't use NS_LITERAL_STRING on a const char * on the mac
git-svn-id: svn://10.0.0.236/trunk@75933 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 00:42:19 +00:00
wtc%netscape.com
549a789d96 Bugzilla bug #39942: additional tweaks related to the thread-private
error string buffer.
Modified files: prerror.c, prcthr.c, pruthr.c


git-svn-id: svn://10.0.0.236/trunk@75932 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-10 00:34:11 +00:00
mccabe%netscape.com
a14775fa94 Cast some parameters to PRUnichar * from jschar * to make the Mac happy.
git-svn-id: svn://10.0.0.236/trunk@75931 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 23:42:24 +00:00
nbhatla%netscape.com
d751a557bc #46519 -> Mac Classic Skin Polish. Finally added Mac-like tab widgets by modifying XBL and CSS. Also added new IE 5 icons for imported bookmarks, as well as fixing splitter grippy icon state changes. r=andreww
git-svn-id: svn://10.0.0.236/trunk@75930 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 23:42:18 +00:00
nbhatla%netscape.com
a169511bd5 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@75929 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 23:30:14 +00:00
dr%netscape.com
c7cdd4e462 fix for windows horkage, shouldn't be in there anyway
git-svn-id: svn://10.0.0.236/trunk@75928 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 23:27:54 +00:00
nbhatla%netscape.com
524cc014d1 #46518 -> Mac Classic Skin Polish. #46178 -> search editor now has arrow buttons. r=andreww
git-svn-id: svn://10.0.0.236/trunk@75927 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 23:18:30 +00:00
nbhatla%netscape.com
df953c747d #46519 -> Mac Classic Skin Fixes. Pulls out in-line style from XUL for #47680. r=andreww
git-svn-id: svn://10.0.0.236/trunk@75926 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 23:14:02 +00:00
mccabe%netscape.com
6bc1090e99 Fix to 24688. Post a message to the JavaScript console whenever a call is made through XPConnect to a JS Component or other JS object that results in an exception.
Also eliminate xpcJSErrorReport and merge some functionality from it into nsScriptError.

r=jband,a=beard


git-svn-id: svn://10.0.0.236/trunk@75925 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:48:52 +00:00
varada%netscape.com
362f545a76 fix for bug#31549;showing prettyname with identity in msgcompose;r=ducaroz
git-svn-id: svn://10.0.0.236/trunk@75924 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:48:29 +00:00
saari%netscape.com
51e147ef41 Removing nsToolboxFrame.cpp, nsToolbarFrame.cpp, and nsToolBarDragListener.cpp from layout.mcp to keep in sync with dr's changes.
git-svn-id: svn://10.0.0.236/trunk@75923 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:47:32 +00:00
nelsonb%netscape.com
9eeb24807a Eliminate one more warning. Add missing f suffix to float constant.
git-svn-id: svn://10.0.0.236/trunk@75922 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:45:51 +00:00
mjudge%netscape.com
dac8dfc28f use "=" not "==" my bad
git-svn-id: svn://10.0.0.236/trunk@75921 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:43:39 +00:00
radha%netscape.com
c78435dbe9 Fix for bug # 47856. Patch from disttsc@bart.nl r=myself
git-svn-id: svn://10.0.0.236/trunk@75920 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:43:36 +00:00
varada%netscape.com
d498216323 fix for bug#31549;show server pretty name along with identity in mail compose window;r=ducarroz
git-svn-id: svn://10.0.0.236/trunk@75919 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:40:28 +00:00
dr%netscape.com
eec71e3b36 fix for 42635 and related cleanup, r=ben,hyatt
git-svn-id: svn://10.0.0.236/trunk@75918 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:38:46 +00:00
mjudge%netscape.com
533f7943c6 43533 table cell selection color fix. check for table cells/table being added to range and toggle flag to allow cells to draw correctly
git-svn-id: svn://10.0.0.236/trunk@75917 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:34:17 +00:00
mscott%netscape.com
f6f4368368 Bug #44163 --> FEAlert and FEAlertFromServer need a message window and with that message window
we should get the correct nsIPrompt object instead of using the one tied to the hidden window.
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@75916 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:33:14 +00:00
mjudge%netscape.com
e5571b2bdf 29570 37393 42794 mac os fix for selecting out of frame bounds.
git-svn-id: svn://10.0.0.236/trunk@75915 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:33:03 +00:00
mscott%netscape.com
5139d46ef4 Bug #44163 --> FEAlert and FEAlertFromServer need a message window
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@75914 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:32:45 +00:00
harishd%netscape.com
c75a8a89fb 36944 - USe NS_VMREFRESH_NO_SYNC to refresh
r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@75913 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:30:36 +00:00
harishd%netscape.com
12ebb61ff1 42429 - Pass whitespace, inside table, to the sink.
44178 - Enabled SERVER tag
43005 - Made HR a block element per spec.
43499 - Made XML document with .txt extension to be rendered as plain text
45437 - Enabled META charset notification in strict DTD.

r=pollmann


git-svn-id: svn://10.0.0.236/trunk@75912 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:28:41 +00:00
pinkerton%netscape.com
f14fd156e7 Rewrote drag scrolling to not use timers and thus avoid all problems about not being able to unregister the timer. Fixes bug 43428.
git-svn-id: svn://10.0.0.236/trunk@75911 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 22:08:49 +00:00
wtc%netscape.com
8b81966e6d Bugzilla bug #48245: removed the -mno-486 compiler flag.
Modified files: FreeBSD2.mk, Linux.mk
This bug was reported by Steven T. Hatton <hattons@bellatlantic.net>.


git-svn-id: svn://10.0.0.236/trunk@75910 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 21:53:45 +00:00
edburns%acm.org
60bfaf0127 bug=48227
author=edburns
a=edburns
r=ashuk

Files in this fix:

M classes_spec/org/mozilla/webclient/wrapper_native/EventRegistrationImpl.java
M classes_spec/org/mozilla/webclient/wrapper_native/NativeEventThread.java
A classes_spec/org/mozilla/webclient/wrapper_native/WCEventListenerWrapper.java
M src_moz/NativeEventThread.cpp
M src_moz/motif/NativeLoaderStub.cpp

Added class WCEventListenerWrapper:

 * This class allows the custom app to have one instance that implements
 * multiple Webclient event listener types. <P>

 * This is simply a "struct" type class that encapsulates a listener
 * instance with its class name.  This is necessary because the class
 * name is lost when we deal with the listener as a
 * WebclientEventListener, and not a WebclientEventListener subclass. <P>

 * @see org.mozilla.webclient.wrapper_native.NativeEventThread#addListener

Made it so when a java listener is added,

 * We create a WCEventListenerWrapper containing the user passed
 * DocumentLoadListener, and the string obtained from
 * DocumentLoadListener.class.getName();

We then call nativeEventThread.addListener:

 * Takes the abstract WebclientEventListener instance and adds it to a
 * Vector of listeners to be added.  This vector is scanned each time
 * around the event loop in run(). <P>

 * The vector is a vector of WCEventListenerWrapper instances.  In run()
 * these are unpacked and sent to nativeAddListener like this:
 * nativeAddListener(nativeWebShell,tempListener.listener,
 * tempListener.listenerClassName); <P>


git-svn-id: svn://10.0.0.236/trunk@75909 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 21:47:39 +00:00
rogerl%netscape.com
ccc73deb34 r,a=brendan@mozilla.org. Adding missing ECMA3 compliance toLocaleXXX
functions to built-in Array, Date and Object object prototypes.


git-svn-id: svn://10.0.0.236/trunk@75908 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 21:46:03 +00:00
larryh%netscape.com
96a76ac15a remove priotest. The test is not valid
git-svn-id: svn://10.0.0.236/trunk@75907 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 21:42:35 +00:00
dougt%netscape.com
c169f23f6c modified buffer while commiting.
fixing bustage.


git-svn-id: svn://10.0.0.236/trunk@75906 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 21:15:09 +00:00
dougt%netscape.com
8b2bb50369 Name Changes from GetPrompt to GetPrompter (47889)
git-svn-id: svn://10.0.0.236/trunk@75905 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 21:13:54 +00:00
dougt%netscape.com
33a8ac965d Renaming GetPrompt() to GetPrompter in nsIDOMWindow. This avoids a namespace
r=vidur@netscape.com (47889)


git-svn-id: svn://10.0.0.236/trunk@75904 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 21:12:21 +00:00
nelsonb%netscape.com
e66e41e5b2 - Change mp_mul to minimize number of outer loops when multipliers are
of unequal length.
- Fix s_mp_fixup_reciprocal to not truncate the result.
- Use new macros in mpi-priv.h


git-svn-id: svn://10.0.0.236/trunk@75903 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:55:39 +00:00
nelsonb%netscape.com
8f5ab67fa5 Use new MP_HOWMANY macro instead of equivalent code.
git-svn-id: svn://10.0.0.236/trunk@75902 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:53:25 +00:00
dave%intrec.com
b38449a603 Re-fixing bug 46897. Thanks to JRobertson@medevolve.com for catching the
omission in the original patch.


git-svn-id: svn://10.0.0.236/trunk@75901 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:49:11 +00:00
nelsonb%netscape.com
7bfe64da6e Comment out call to unimplemented function, so this will compile.
git-svn-id: svn://10.0.0.236/trunk@75900 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:46:59 +00:00
dp%netscape.com
4905d9910d Perl script to analyze xpcom log output and print results in html
git-svn-id: svn://10.0.0.236/trunk@75899 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:45:24 +00:00
nelsonb%netscape.com
0daabe0bf1 Some unix platform kshells don't understand export VAR=value
So instead use                                VAR=value; export VAR


git-svn-id: svn://10.0.0.236/trunk@75898 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:44:05 +00:00
nelsonb%netscape.com
4b6092a8d7 Add new macros: MP_MIN, MP_MAX, MP_HOWMANY, MP_ROUNDUP.
git-svn-id: svn://10.0.0.236/trunk@75897 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:42:18 +00:00
nboyd%atg.com
1972514928 fix 47859
git-svn-id: svn://10.0.0.236/trunk@75896 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:23:50 +00:00
nboyd%atg.com
4d2963d28d Fix 47859
git-svn-id: svn://10.0.0.236/trunk@75895 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:22:37 +00:00
jtaylor%netscape.com
0351443d26 Fixes bugs 43427 and 46359. Provides clear button and error checking in JS
Console. r=ben. mccabe.


git-svn-id: svn://10.0.0.236/trunk@75894 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:18:38 +00:00
jtaylor%netscape.com
fc30ccdbe5 Add label for clear button re: bug# 43427. r=ben. mccabe
git-svn-id: svn://10.0.0.236/trunk@75893 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:16:50 +00:00
pavlov%netscape.com
bd5b488ba4 avoid calling XSetFont on every draw_text (hopefully) by using the GC cache correctly when drawing text and not calling gdk_draw_text directly. working on linux performance bug 26502. r=imot
git-svn-id: svn://10.0.0.236/trunk@75892 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:15:08 +00:00
despotdaemon%netscape.com
38cf207b54 Pseudo-automatic update of changes made by jgmyers@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@75891 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:12:10 +00:00
mstoltz%netscape.com
e686efdeca Fixed 37702 and 47670. r=vidur
git-svn-id: svn://10.0.0.236/trunk@75890 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 20:08:54 +00:00
waterson%netscape.com
b03ddd8490 Bug 47927. Check in the wrong fix to get the tree open. a=granrose.
git-svn-id: svn://10.0.0.236/trunk@75887 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 19:30:14 +00:00
harishd%netscape.com
c3b1fbec56 I didn't cause the leak. Putting my changes back.
a=granrose


git-svn-id: svn://10.0.0.236/trunk@75886 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 17:49:18 +00:00
javi%netscape.com
7a1afca5e4 Don't call the callback function if one is not stored.
git-svn-id: svn://10.0.0.236/trunk@75885 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 17:17:42 +00:00
harishd%netscape.com
1f24ef20e9 Backing out my changes to see if the leak goes away
a=granrose


git-svn-id: svn://10.0.0.236/trunk@75884 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 16:42:20 +00:00
dcone%netscape.com
6d4959771e Taking out the change from yesterday that enables the PatBlt for tiling. Found problems so
I am pulling that change for now.


git-svn-id: svn://10.0.0.236/trunk@75883 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 14:07:55 +00:00
dbaron%fas.harvard.edu
3b9c9e465a Fix leak on hovering over a scrollbar and re-fix similar leak for text inputs (bug 42895) by adding a "general" method for unrooting anonymous content created through nsIAnonymousContentCreator, plus a hack to deal with the scrollbars on the root element. Some of the other SetDocumentForAnonymousContent methods *may* need to be implemented. Chris Waterson helped significantly with this patch. r=waterson,hyatt b=45676 (nsbeta3+)
git-svn-id: svn://10.0.0.236/trunk@75882 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 12:51:05 +00:00
mozilla.BenB%bucksch.org
67fdd48504 47851: Remove unused pref. r=putterman, a=waterson
git-svn-id: svn://10.0.0.236/trunk@75881 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 09:45:52 +00:00
scc%mozilla.org
cdb44d875e better comments re: the formal specification of |SetCapacity|; jag's |ToInteger| patch as per bug #46898; r|a=waterson
git-svn-id: svn://10.0.0.236/trunk@75880 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 08:26:23 +00:00
scc%mozilla.org
cec3e96639 fixed |nsCharSinkTraits<T>::write| as per bug #46462; r=beard, a=waterson
git-svn-id: svn://10.0.0.236/trunk@75879 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 08:26:12 +00:00
scc%mozilla.org
98e7fedae2 fixed |BeginWriting| and |EndWriting| to no longer take an offset, fallout from the new multi-fragment string implementation; fixed a bug in |operator-=| exposed by the change to |EndWriting|; fixed |nsWritingIterator<CharT>::write| as per bug #46462; fixed comments galore, significantly better specifying |SetLength| and |SetCapacity|; since |SetCapacity| is just a hint, give it a default implementation rather than making it pure virtual; fixed a couple of the |do_...| routines to unify the code path minimizing overides; r|a=waterson
git-svn-id: svn://10.0.0.236/trunk@75878 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 08:26:08 +00:00
scc%mozilla.org
14a9f6633b fixed |BeginReading| and |EndReading| to no longer take an offset, fallout from the new multi-fragment string implementation; fixed a bug in |operator-=| exposed by the change to |EndReading|; fixed the |CharAt| family of routines accordingly; fixed comments galore; r|a=waterson
git-svn-id: svn://10.0.0.236/trunk@75877 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 08:26:00 +00:00
pinkerton%netscape.com
47269ea7b1 Remove Start/StopTracking methods.
git-svn-id: svn://10.0.0.236/trunk@75876 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 07:45:12 +00:00
pinkerton%netscape.com
162bb1938a Stop using dragtracker (bug 43428)
git-svn-id: svn://10.0.0.236/trunk@75875 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 07:43:12 +00:00
pinkerton%netscape.com
505eabb83b Simplification of drag scrolling in trees. Don't try to use view manager to capture the mouse, just not worth it. Make drag area w/in the tree's view. (bug 43428).
git-svn-id: svn://10.0.0.236/trunk@75874 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 07:42:46 +00:00
pinkerton%netscape.com
a21d2ed2b2 Stop using dragTracker (bug 43428)
git-svn-id: svn://10.0.0.236/trunk@75873 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 07:41:31 +00:00
pinkerton%netscape.com
c77e714dae stop using dragTracker (bug 43428).
git-svn-id: svn://10.0.0.236/trunk@75872 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 07:40:54 +00:00
mozilla.BenB%bucksch.org
e2e6ed4a85 36480:
- Don't check for <div> around a sig
- Allow class to be quoted or be one of several
No bug:
- Don't output <div> for plaintext sigs (because 4.x' editor has a bug with <div>s inside <blockquote type=cite>s)
r=ducarroz
a=waterson


git-svn-id: svn://10.0.0.236/trunk@75871 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 07:27:14 +00:00
brendan%mozilla.org
e830c43305 Whitespace panty raid.
git-svn-id: svn://10.0.0.236/trunk@75870 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 06:20:13 +00:00
ben%netscape.com
9ebf63f099 fix for nsbeta3+ bug 41139, can select multiple radio buttons in a group by using the keyboard.
git-svn-id: svn://10.0.0.236/trunk@75869 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 05:47:46 +00:00
jst%netscape.com
6ffb8c8cef Turning on new DOM Level 2 behavior by default. (bug 48161). a=nisheeth@netscape.com, r=pollmann@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@75868 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 05:31:28 +00:00
pavlov%netscape.com
7f37448436 additional removal of static nsCOMPtrs for bug 43580 r=scc
git-svn-id: svn://10.0.0.236/trunk@75867 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 05:28:45 +00:00
ben%netscape.com
5ecb03def2 fix for nsbeta3+ bug 41901, link image dragged from one window to another loads the image instead of the linked page.
also tidied up the html string returned in this case so that when dropped into composer, an image enclosed in a link
to the linked page is inserted.


git-svn-id: svn://10.0.0.236/trunk@75866 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 05:26:44 +00:00
pavlov%netscape.com
b0f48e963e avoid pulling the event out of the queue and putting it right back when typing.. working on linux performance bug 26502 r=beard
git-svn-id: svn://10.0.0.236/trunk@75865 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 05:16:17 +00:00
putterman%netscape.com
802a5474d2 Fix for 46208. Get rid of '?" before Reply To Sender in thread pane context menu.
patch by gemal@gemal.dk r=scottip.


git-svn-id: svn://10.0.0.236/trunk@75864 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 05:13:32 +00:00
ben%netscape.com
de5e53e215 nsbeta3+ 46284, crash after trying to install package via software installation pref panel. remove button (was there
for debugging purposes only)


git-svn-id: svn://10.0.0.236/trunk@75863 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 05:11:29 +00:00
ben%netscape.com
655d38db87 fix for nsbeta3+ bug 40877, 'secs' not localised in navigator.js
git-svn-id: svn://10.0.0.236/trunk@75862 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 05:10:01 +00:00
ben%netscape.com
c503c5ef62 fix for nsbeta3+ bug 40877, 'secs' is not localised in navigator.js
git-svn-id: svn://10.0.0.236/trunk@75861 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 05:09:45 +00:00
dmose%mozilla.org
2d5bf4dd91 adding .cvsignore files to stop cvs whining in non-OBJDIR builds. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75860 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 04:44:01 +00:00
dmose%mozilla.org
f97b0d8e85 A number of lines were not properly bracketed by DEBUG conditionals, causing non-DEBUG builds to fail. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75859 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 04:43:33 +00:00
brendan%mozilla.org
5c6a970327 Clear JS watchpoints on the window object before loading a new document (38959, r=mstoltz).
git-svn-id: svn://10.0.0.236/trunk@75858 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 03:30:46 +00:00
morse%netscape.com
e5f3e8b0a8 bug 48076, remove commonDialogs from wallet module, r=dougt
git-svn-id: svn://10.0.0.236/trunk@75857 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 03:27:32 +00:00
saari%netscape.com
ce8255995f hack part deux for testing for leak increase
git-svn-id: svn://10.0.0.236/trunk@75856 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:59:44 +00:00
blizzard%redhat.com
1e041a9cfc add some extra test cases for the embedding widget
git-svn-id: svn://10.0.0.236/trunk@75855 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:52:09 +00:00
scc%mozilla.org
2afa96eead not part of the build; further work on multi-fragment strings. Moved the bulk of the template implementation to the header file. This file needs to continue to exist for when I finally un-templatize the interfaces
git-svn-id: svn://10.0.0.236/trunk@75854 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:48:27 +00:00
scc%mozilla.org
fe25ceec15 not part of the build; further work on multi-fragment strings
git-svn-id: svn://10.0.0.236/trunk@75853 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:47:33 +00:00
blizzard%redhat.com
018c0630c5 warning fixes in gtkmozembed.h. fix for bug #46279. reparent the mozilla window to an offscreen window when unrealizing since you might get re-realized later. r=pavlov, a=waterson
git-svn-id: svn://10.0.0.236/trunk@75852 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:46:53 +00:00
brendan%mozilla.org
28cf8d024c Add TraceMallocLogTimestamp window method, for bloat storyboarding (#ifdef NS_TRACE_MALLOC, not part of build).
git-svn-id: svn://10.0.0.236/trunk@75851 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:43:09 +00:00
brendan%mozilla.org
3dfa5856af Add captioned timestamp events, for JS storyboarding (not part of build).
git-svn-id: svn://10.0.0.236/trunk@75850 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:41:58 +00:00
cmanske%netscape.com
dbfeb1cd72 Checking in for rcassin@supernova.org. Composer pref fixes, bug 47703, r=cmanske
git-svn-id: svn://10.0.0.236/trunk@75849 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:33:29 +00:00
mscott%netscape.com
ced2ee490a Bug #1642 --> don't run JS urls with the default browser (effects shrimp only)
r=prass


git-svn-id: svn://10.0.0.236/trunk@75848 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:30:58 +00:00
ben%netscape.com
94be5f8b8d adding reorder styles for nsbeta3+ bug 46516 to modern and mac classic skin
git-svn-id: svn://10.0.0.236/trunk@75847 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:26:45 +00:00
saari%netscape.com
585834ef4b temp hack to test theory for sudden increase in leaks
git-svn-id: svn://10.0.0.236/trunk@75846 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:25:51 +00:00
nbhatla%netscape.com
053f5cf498 #46519 -> Mac Classic Skin Fixes. This checkin specifically fixes the pref-languages panel, so that the reorder arrow buttons now appear properly on all platforms.
git-svn-id: svn://10.0.0.236/trunk@75845 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:25:43 +00:00
ftang%netscape.com
16e9ce78b8 fix 45347. swap the order for author and content-type to make the content-type
appear first in the meta tag since we need to know the encoding before hitting
non ASCII value in the author name. r=cmanske


git-svn-id: svn://10.0.0.236/trunk@75844 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:25:25 +00:00
cmanske%netscape.com
105a987da1 Checking in for rcassin@supernova.org. Composer pref string fixes, bug 47703, r=cmanske
git-svn-id: svn://10.0.0.236/trunk@75843 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:22:57 +00:00
ftang%netscape.com
12d44d4f28 fix 45347. do case insenstive comparesion for html attribute value
r=cmanske


git-svn-id: svn://10.0.0.236/trunk@75842 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 02:22:56 +00:00
bienvenu%netscape.com
ca155eaae5 fix freeing of uninitialized memory, prob result of trying to fix memory leaks, r=mscott
git-svn-id: svn://10.0.0.236/trunk@75840 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 01:32:20 +00:00
alecf%netscape.com
31646b2676 oops, forgot this file with a checkin earlier today
git-svn-id: svn://10.0.0.236/trunk@75839 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 01:17:19 +00:00
sfraser%netscape.com
607439019b More bustage fixing with style struct return types.
git-svn-id: svn://10.0.0.236/trunk@75838 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 00:52:02 +00:00
alecf%netscape.com
faebf440ab fix mac bustage by using AssignWithConversion
git-svn-id: svn://10.0.0.236/trunk@75837 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 00:38:01 +00:00
sfraser%netscape.com
572368546b Fix Windows compiler suckage. Fixes bustage.
git-svn-id: svn://10.0.0.236/trunk@75836 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 00:27:38 +00:00
tao%netscape.com
99e0bfce16 Lacalizable accesskey fix. (check in for Andrea; r=tao,a=brendan.)
git-svn-id: svn://10.0.0.236/trunk@75835 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-09 00:21:11 +00:00
jband%netscape.com
278cbd4584 fix bug 47410. Allow JS components to implement nsISecurityCheckedComponent and have sidebar componnet implement it to allow access from untrusted scripts. a=brendan@mozilla.org a=johng@netscape.com
git-svn-id: svn://10.0.0.236/trunk@75834 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:59:32 +00:00
ericb%neoplanet.com
0fede69e4e removed call to widget->CaptureMouse that was crashing under gtk. r=hyatt a=waterson
git-svn-id: svn://10.0.0.236/trunk@75833 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:49:01 +00:00
sfraser%netscape.com
f7ad53e40d Fix for bug 25161 -- allow editor to handle pages with forms by implementing user-select and user-input for form controls. r=rods, pierre, mjudge.
git-svn-id: svn://10.0.0.236/trunk@75832 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:48:42 +00:00
dmose%mozilla.org
358461d7b4 in DEBUG builds, created a PRLogModuleInfo for LDAP (gLDAPLogModule), and migrated most PR_fprintf(STDERR) bracketed by DEBUG_dmose to PR_LOG. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75831 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:44:48 +00:00
sfraser%netscape.com
7726da891c Fix for bug 25161 -- allow editor to handle pages with forms by implementing user-select and user-input for form controls. r=rods, pierre, mjudge.
git-svn-id: svn://10.0.0.236/trunk@75830 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:38:00 +00:00
sfraser%netscape.com
d2a1daeb55 Fix for 25161 -- allow editor to handle pages with form elements. Avoid infinite loop in editor, and add some CSS for form elements in editor. r=jfrancis
git-svn-id: svn://10.0.0.236/trunk@75829 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:37:51 +00:00
alecf%netscape.com
e385002b0a big-ass leak fix - stop leaking mail datasources by clearing ourselves out when the last
RDF observer goes away, and re-initializing if new RDF observers arrive on the scene.
r=putterman
fixes #45176, among other leaks


git-svn-id: svn://10.0.0.236/trunk@75828 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:32:55 +00:00
sgehani%netscape.com
ed5414a7fa Make Linux installer work on non-Redhat distributions.
[nsbeta2+ b=47921; r=sgehani; checking in for pavlov]


git-svn-id: svn://10.0.0.236/trunk@75826 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:29:36 +00:00
ben%netscape.com
f5c2d84cf4 forgot to check this in last night...
git-svn-id: svn://10.0.0.236/trunk@75825 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:15:52 +00:00
javi%netscape.com
02d4a55d6d Implement the poll loop on UNIX for the PKCS7 Decoder when finishing up
just in case PSM is a little slow to shove data back at us.


git-svn-id: svn://10.0.0.236/trunk@75824 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:08:53 +00:00
dr%netscape.com
a45cd5e7f6 fix for cache miss loading chrome://navigator/skin/navigator.css, r=ben
git-svn-id: svn://10.0.0.236/trunk@75823 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:07:15 +00:00
nelsonb%netscape.com
475a5fabb5 Emulate an SSL3 client more closely after a server negotiates down to 3.0.
git-svn-id: svn://10.0.0.236/trunk@75822 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:54:02 +00:00
mcafee%netscape.com
4a0b58833b Saving space with thin separator (40888)
git-svn-id: svn://10.0.0.236/trunk@75821 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:45:53 +00:00
cata%netscape.com
9c0beebb05 Fix for bug #28104. r=nhotta, a=ftang.
git-svn-id: svn://10.0.0.236/trunk@75820 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:45:36 +00:00
dr%netscape.com
f7ecc9f460 fix for 38787, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@75819 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:42:42 +00:00
mcafee%netscape.com
0a72359f4a Changing font resolution to say screen resolution. r=slamm, akkana
git-svn-id: svn://10.0.0.236/trunk@75818 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:37:54 +00:00
mcafee%netscape.com
b03f8e7b1b Removing whats related description to save room (40888). r=slamm
git-svn-id: svn://10.0.0.236/trunk@75817 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:28:27 +00:00
putterman%netscape.com
1765cbe61f Fix for 37583. Remove View|Sort|Ascending and Descending menu items. r=alecf.
git-svn-id: svn://10.0.0.236/trunk@75816 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:28:26 +00:00
larryh%netscape.com
67b0d58523 BugZilla: 25982. MacOS retruns 1
git-svn-id: svn://10.0.0.236/trunk@75815 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:26:42 +00:00
putterman%netscape.com
d5ab05db91 Fix for 37932. r=ducarroz. remove Forward Quoted from preferences.
git-svn-id: svn://10.0.0.236/trunk@75814 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:19:37 +00:00
ruslan%netscape.com
013a4c9859 Checking in the patch for 45337 by jgmeyers, r=ruslan,a=gagan
git-svn-id: svn://10.0.0.236/trunk@75813 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:16:05 +00:00
ducarroz%netscape.com
a96555222f Better fix for Mac Commercial bustage of yesterday. Add xpcompat.h to the manifest file. R=sfraser
git-svn-id: svn://10.0.0.236/trunk@75812 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:15:08 +00:00
alecf%netscape.com
822600462e part of fix for 39016 - add direct access to the string bundle for the mail string bundle stuff
r=mscott


git-svn-id: svn://10.0.0.236/trunk@75811 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:11:40 +00:00
alecf%netscape.com
57f820fbe3 part of fix for #34996 - unify location of username amongst the protocols
git-svn-id: svn://10.0.0.236/trunk@75810 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 22:06:59 +00:00
mcafee%netscape.com
10cf044ae8 Smart browsing pane should be titled as such, not whats related. r=slamm
git-svn-id: svn://10.0.0.236/trunk@75809 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:46:18 +00:00
valeski%netscape.com
0d1eca8726 38260. removing shadowed rv declaration, and xpfe #include dependency
git-svn-id: svn://10.0.0.236/trunk@75808 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:43:47 +00:00
wtc%netscape.com
16e6b94514 Removed obsolete test event.c.
Modified files: Makefile, Makefile.in
Removed file: event.c


git-svn-id: svn://10.0.0.236/trunk@75807 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:35:14 +00:00
wtc%netscape.com
729303241a Make main() return int explicitly.
git-svn-id: svn://10.0.0.236/trunk@75806 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:33:51 +00:00
saari%netscape.com
e1a79e8500 massive landing of joki changes.
Relevant nsbeta3+ bugs 43309, 44503, 2634, 2504,5981, 24698, 25758, 33577,
36062, 36217, 41191, 41491, 42356, 42829, 43016
r=saari (joki code). also been tested by heikki and bryner


git-svn-id: svn://10.0.0.236/trunk@75805 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:31:05 +00:00
mcafee%netscape.com
20eb835969 Fixing slashes, not part of build.
git-svn-id: svn://10.0.0.236/trunk@75804 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:27:33 +00:00
saari%netscape.com
847a699deb Beginnings of massive landing of joki changes.
Relevant nsbeta3+ bugs 43309, 44503, 2634, 2504,5981, 24698, 25758, 33577,
36062, 36217, 41191, 41491, 42356, 42829, 43016
r=saari (joki code). also been tested by heikki and bryner


git-svn-id: svn://10.0.0.236/trunk@75803 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:19:03 +00:00
saari%netscape.com
d3919b1d3e Beginnings of massive landing of joki changes.
Relevant nsbeta3+ bugs 43309, 44503, 2634, 2504,5981, 24698, 25758, 33577,
36062, 36217, 41191, 41491, 42356, 42829, 43016
r=saari (joki code). also been tested by heikki and bryner

--------------------------------


git-svn-id: svn://10.0.0.236/trunk@75802 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:17:28 +00:00
pavlov%netscape.com
38958ad8dc removing a dump() that shows a bogus error
git-svn-id: svn://10.0.0.236/trunk@75801 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:14:18 +00:00
ddrinan%netscape.com
4fd52d34f8 Disable to TLS because some servers do not implement version rollback correctly
git-svn-id: svn://10.0.0.236/trunk@75800 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:10:20 +00:00
mkaply%us.ibm.com
cc1c8681d5 #47881
r=valeski, a=brendan
OS/2 tinderbox break - we need to link mozdbm


git-svn-id: svn://10.0.0.236/trunk@75799 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:05:59 +00:00
bratell%lysator.liu.se
7d881419fb Bug 35802 leaking strings. r=mscott@netscape.com a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@75798 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 21:02:56 +00:00
nhotta%netscape.com
e604e31a9f Change to call OS API with null argument for default locale, bug 39677, r=ftang.
git-svn-id: svn://10.0.0.236/trunk@75797 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 20:44:12 +00:00
harishd%netscape.com
8d377df7b3 45975 - Make sure that the head context gets closed before opening up the body.
44285 - Propagate the block message to the parser correctly.
45555 - Pass the node that contains the skipped content to the sink.
46392 - Error message got lost
43481 - P cannot contain P per spec.
44759 - Handling multiple BODYs correctly.
45228, 44758 - Translate entities in TEXTAREA and TITLE before handing the string to the sink

r=pollmann


git-svn-id: svn://10.0.0.236/trunk@75796 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 20:38:14 +00:00
heikki%netscape.com
6eacdb81c7 Bug 38647 Link clicks on nsImageFrame do not check if legal to load URI. Happened with server side image map. r=mstolz
git-svn-id: svn://10.0.0.236/trunk@75795 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 20:35:12 +00:00
heikki%netscape.com
319d5d1819 Bug 29473 ondblclick event not being fired.
git-svn-id: svn://10.0.0.236/trunk@75794 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 20:32:09 +00:00
mcgreer%netscape.com
0f4cf042cb zero the correct amount of input bytes
git-svn-id: svn://10.0.0.236/trunk@75793 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 20:30:56 +00:00
rogerl%netscape.com
99bdc98433 r=brendan, bug# 34276. Fix for correctly including winsock2.h.
git-svn-id: svn://10.0.0.236/trunk@75792 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 20:28:49 +00:00
rogerl%netscape.com
eae4a7d9a8 (update to fix for bug #31255). Previous patch was insufficient in that it
didn't handle the case when the tokenstream is not tokenizing newlines.


git-svn-id: svn://10.0.0.236/trunk@75791 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 20:24:56 +00:00
alecf%netscape.com
475d19dc4a fix for prefs bustage
git-svn-id: svn://10.0.0.236/trunk@75790 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 19:50:00 +00:00
sdv%sparc.spb.su
bb0e90b109 fix for bug=47878
NamedNodeMapImpl class should not extend NodeImpl
according to the w3c spec.


git-svn-id: svn://10.0.0.236/trunk@75789 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 16:43:52 +00:00
rods%netscape.com
a7b92c54bc during reflow it makes sure the maxelementsize width is set to the smaller of
min size or the current size.
(see also fix nsGfxTextControlFrame.cpp)
b=40596 r=evaughan


git-svn-id: svn://10.0.0.236/trunk@75788 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 14:30:08 +00:00
rods%netscape.com
b5b27bd2c4 minor fix for max-element-size. The minsize needs to be calc and cached during the regular reflow
there is too much state to be remember to calc the min size for when ever it is asked for it.
(see also fix nsBoxFramae.cpp)
b=40596 r=evaughan


git-svn-id: svn://10.0.0.236/trunk@75787 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 14:27:36 +00:00
dcone%netscape.com
e217756243 Check to see if the view had been reparented.. b=44718 a=mcclusk
git-svn-id: svn://10.0.0.236/trunk@75786 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 14:11:09 +00:00
dcone%netscape.com
a1db32435f Fixes slow scrolling, using patblt on windows NT. bug = 43943. A=mcclusk
git-svn-id: svn://10.0.0.236/trunk@75785 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 14:07:38 +00:00
valeski%netscape.com
c9ba2e1650 formatting change to wml output
git-svn-id: svn://10.0.0.236/trunk@75784 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 07:38:43 +00:00
ben%netscape.com
d40bead5ce update jar packager file for previous checkin
git-svn-id: svn://10.0.0.236/trunk@75783 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 07:30:03 +00:00
valeski%netscape.com
3fdb365a62 adding WML output for WAP browsers
git-svn-id: svn://10.0.0.236/trunk@75782 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 06:59:15 +00:00
ben%netscape.com
4be87e92f4 fix for mac bustage. oops
git-svn-id: svn://10.0.0.236/trunk@75781 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 06:53:21 +00:00
bryner%uiuc.edu
b7be6128e5 Removing .cvsignore files so CVS will realize that this directory is
empty.  Not part of build.


git-svn-id: svn://10.0.0.236/trunk@75780 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 06:47:17 +00:00
tor%cs.brown.edu
2fd32ef91d Bug 40942 and 47816 - fix off-by-one error in DrawComposited
sanity check.  r=bryner


git-svn-id: svn://10.0.0.236/trunk@75779 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 06:42:26 +00:00
alecf%netscape.com
167b2f0335 final part of fix for 46712 - flush the string bundle cache when the locale changes
r=hyatt


git-svn-id: svn://10.0.0.236/trunk@75778 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 06:24:56 +00:00
ben%netscape.com
ac38520166 fix for 47441 & incremental fix for 46613, correct windows classic skin use of system colours in scrollbar thumb.
git-svn-id: svn://10.0.0.236/trunk@75777 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 06:15:35 +00:00
ben%netscape.com
6bbe804f01 nsbeta3+ bug 45085, move search results 'default.htm' file into locale.
git-svn-id: svn://10.0.0.236/trunk@75776 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 06:07:25 +00:00
nelsonb%netscape.com
1df049f648 Fix crash caused by zeroing a larger buffer than the caller passed in.
git-svn-id: svn://10.0.0.236/trunk@75775 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 05:56:56 +00:00
nelsonb%netscape.com
330c8b4550 Fix crash caused by uninitialized variable.
git-svn-id: svn://10.0.0.236/trunk@75774 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 05:56:10 +00:00
rjc%netscape.com
c5085415b2 Remove Mac debugging info. r=me
git-svn-id: svn://10.0.0.236/trunk@75773 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 05:55:22 +00:00
rjc%netscape.com
66d46a347d Sorting fixes for bug # 26131. r=me, nhotta, putterman
git-svn-id: svn://10.0.0.236/trunk@75772 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 05:50:10 +00:00
ben%netscape.com
7c008af23b fix for nsbeta3+ bug 44229, can't drag urls out of history window
git-svn-id: svn://10.0.0.236/trunk@75771 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 05:46:32 +00:00
waterson%netscape.com
59f3ba59da Add regression test for 44709.
git-svn-id: svn://10.0.0.236/trunk@75770 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 05:03:36 +00:00
waterson%netscape.com
8ba85111c7 Use nsVoidArray instead of nsISupportsArray to hold kids. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@75769 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 05:02:07 +00:00
waterson%netscape.com
27f49e988e Bugs 46616, 46964. Clean up RebuildContainer(): factor into two methods to share code better. Maintain a queue of ungenerated elements to scan for generated children. Add tons of comments so I don't have to figure this all out again when I look at it next. r=rjc
git-svn-id: svn://10.0.0.236/trunk@75768 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 04:57:55 +00:00
ducarroz%netscape.com
a5d4c810f5 Fix for bug 36480. Add function to switch the signature. R=putterman
git-svn-id: svn://10.0.0.236/trunk@75767 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 04:46:55 +00:00
putterman%netscape.com
7b226eb3c0 Fix for 45059. r=mscott. Character encoding menus didn't work in the standalone message window.
git-svn-id: svn://10.0.0.236/trunk@75766 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 04:46:42 +00:00
av%netscape.com
bf617efae9 Fixing #8740, r=serge
git-svn-id: svn://10.0.0.236/trunk@75765 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 04:45:03 +00:00
ducarroz%netscape.com
a9581e6d1b Fix for bug 36480. Add function to switch the signature. R=putterman
git-svn-id: svn://10.0.0.236/trunk@75764 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 04:45:02 +00:00
alecf%netscape.com
239a015260 fix for #40329 contributed by jrgm@netscape.com, r=ben
git-svn-id: svn://10.0.0.236/trunk@75763 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 04:43:35 +00:00
waterson%netscape.com
45d653b43a fucking mac
git-svn-id: svn://10.0.0.236/trunk@75762 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 04:23:43 +00:00
ben%netscape.com
1243b96d21 fix for nsbeta3+ 45687, problems with helper apps pref panel
git-svn-id: svn://10.0.0.236/trunk@75761 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 04:18:23 +00:00
mscott%netscape.com
930fa589d1 Bug #46881 --> set the charset correctly for mutlipart/alternative
r=rhp


git-svn-id: svn://10.0.0.236/trunk@75760 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 04:09:26 +00:00
ducarroz%netscape.com
3e01b25fda Part of fix for bug 36480. I check in this fix for jfrancis. The function EndOfDocument which wasn't used yet was setting the selection on the wrong node. R=ducarroz
git-svn-id: svn://10.0.0.236/trunk@75759 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 04:05:26 +00:00
tor%cs.brown.edu
fe0d1665bd Landing libmng 0.9.2+. a=waterson
git-svn-id: svn://10.0.0.236/trunk@75758 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 03:58:05 +00:00
blizzard%redhat.com
2f3f044306 fix the following bugs: #39560, #47141, #46928, #47949. use nsIPipe for the stream impl, seperate XPCOM startup, add a resize callback so content with a width and height are sized correctly, fix problems with gtkmozembed widgets on gtk notebook widgets. also, add some new signals for progress loading and net changes. r=dougt, a=waterson
git-svn-id: svn://10.0.0.236/trunk@75757 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 03:58:03 +00:00
dmose%mozilla.org
b29cf24bab added ldap_abandon()-like functionality to the XPCOM wrapper, and changed the nsLDAPChannel code to implement request cancellation (eg pressing the stop button in the browser) using said functionality. a=r=(not built).
git-svn-id: svn://10.0.0.236/trunk@75755 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 03:23:05 +00:00
nelsonb%netscape.com
a1e1fc974c - Change mpi private function s_mp_mul_d_add_offset into a macro.
- Declare and implement new function s_mp_mul_add, which is a candidate
  for replacement with assembler code.
- Convert mp_mul, mp_sqr, etc. to use s_mp_mul_add.
- New implementation of mp_invmod for odd moduli. Algorithm from paper
  "Fast Modular Reciprocals" by Richard Schroeppel (a.k.a. Captain Nemo).
- New function s_mp_invmod_32b in mpi.c, computes inverse mod 2**32, also
  from same paper. Used in mp_invmod and mp_exptmod.


git-svn-id: svn://10.0.0.236/trunk@75754 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 03:20:35 +00:00
dmose%mozilla.org
b56488f5ec use lexical closure of JS functions to bind data to a function for use as a callback. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75753 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 02:56:44 +00:00
mscott%netscape.com
73b3390d9c Fix a small memory leak.
git-svn-id: svn://10.0.0.236/trunk@75752 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 02:27:52 +00:00
mscott%netscape.com
61a473e3e2 Bug #43389, 41125 --> header conversion should honor default and over ride charset
information.
r=nhotta


git-svn-id: svn://10.0.0.236/trunk@75751 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 02:27:38 +00:00
bryner%uiuc.edu
6a05d7274d Patch from Jan Varga <varga@utcru.sk> for filepicker localizability fixes,
improved keyboard navigation, and misc. cleanups.  bug
45561.  r=me,pavlov.  a=waterson.


git-svn-id: svn://10.0.0.236/trunk@75750 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 01:55:59 +00:00
sgehani%netscape.com
64b797c3d9 Ensure linux installer doesn't core dump for "long" install destination paths
when a default location is specified in the config.ini.

[nsbeta3+ b=46458; r=dveditz]


git-svn-id: svn://10.0.0.236/trunk@75749 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 01:29:04 +00:00
javi%netscape.com
14fc817b69 A fix for Windows where the client stops trying to read decrypted data back from the client before it's ready.
git-svn-id: svn://10.0.0.236/trunk@75748 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 01:26:44 +00:00
rhp%netscape.com
96c4541085 Fix for vCard having an inactive Add button - Bug #: 47537 - r: putterman
git-svn-id: svn://10.0.0.236/trunk@75746 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 00:52:52 +00:00
pierre%netscape.com
7393600e1b 47138: Some invalid units are not resulting in dropped declarations.
15174: counter() and counters() should not be recognized by CSS parser.


git-svn-id: svn://10.0.0.236/trunk@75744 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 00:34:42 +00:00
mscott%netscape.com
65cba63f62 Remove some debugging code from the rdf file
git-svn-id: svn://10.0.0.236/trunk@75743 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 00:34:06 +00:00
waterson%netscape.com
1cc3c3da2d Bug 46053. Add [begin|end]UpdateBatch() to nsIRDFObserver; case-normalize the resot of the nsIRDFObserver methods; update implemetors, users. r=bienvenu,rjc,dmose,slamm
git-svn-id: svn://10.0.0.236/trunk@75742 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 00:22:36 +00:00
mscott%netscape.com
6dacfce7ce Bug #47853, 47901, 47835, 47324, 47811 --> back out caching of smtp capabilities...this breaks the smtp protocol
which requires an EHLO or HELO to always be issued. Fix case for HELO response.
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@75741 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 00:22:34 +00:00
valeski%netscape.com
9d6dbf3718 47881, r=dougt. removing extraneous static link of dbm lib, and fixing the file cache so it does the static link
git-svn-id: svn://10.0.0.236/trunk@75740 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 00:20:23 +00:00
valeski%netscape.com
0745e1f74e 47881, r=dougt. removing extraneous static link of dbm lib
git-svn-id: svn://10.0.0.236/trunk@75739 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 00:19:37 +00:00
scc%mozilla.org
f09ffefddb not part of the build; initial work on multi-fragment strings
git-svn-id: svn://10.0.0.236/trunk@75738 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 00:14:35 +00:00
scc%mozilla.org
ac6dc5a34a not part of the build yet; initial work on multi-fragment strings
git-svn-id: svn://10.0.0.236/trunk@75737 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 00:14:14 +00:00
mscott%netscape.com
3aeaebe2d7 Bug #39910 --> make the context menu come up for both right and left mouse clicks for email addresses.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@75736 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 23:59:25 +00:00
tor%cs.brown.edu
b90ca90f50 Bustage fix - add xpcompat.h to the export list.
git-svn-id: svn://10.0.0.236/trunk@75735 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 23:10:48 +00:00
tara%tequilarista.org
26fe07c589 Fixing bug #46897
git-svn-id: svn://10.0.0.236/trunk@75734 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 22:59:55 +00:00
syd%netscape.com
9c8d08cbc0 Undid the rdf changes for 43091 at request of brendan, now doing evil 0666
default permissions. r=dougt


git-svn-id: svn://10.0.0.236/trunk@75733 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 22:59:40 +00:00
pchen%netscape.com
37f100b8ac Checkin for pnunn on Mac, remove dllcompat.cpp from projects
git-svn-id: svn://10.0.0.236/trunk@75732 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 22:59:02 +00:00
pnunn%netscape.com
0c5568e325 bug#41040: cruft removal.
git-svn-id: svn://10.0.0.236/trunk@75731 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 22:16:30 +00:00
av%netscape.com
cb9f96e62b Fixing 39534, patch by sean, r=av
git-svn-id: svn://10.0.0.236/trunk@75730 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 22:10:07 +00:00
av%netscape.com
08395413fb Fixing 47360, patch by sean@beatnik.com, r=av
git-svn-id: svn://10.0.0.236/trunk@75729 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 21:51:19 +00:00
mkaply%us.ibm.com
c043fe161a #47874
r=mkaply, a=brendan
Remove unused widget files


git-svn-id: svn://10.0.0.236/trunk@75728 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 21:40:45 +00:00
cmanske%netscape.com
2b7ffc8718 Added selectedIndex property to tree interface. Needed by spell checking in editor, b=47696, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@75727 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 21:20:40 +00:00
anthonyd%netscape.com
81c7739c51 checkins for Hurricane
translation of all C++ functions to JS which included SaveDocument
which eventually will allow for the completeion of autosave
r: brade, anthonyd
a: waterson, cmanske


git-svn-id: svn://10.0.0.236/trunk@75726 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 21:12:18 +00:00
mkaply%us.ibm.com
0c3b99a0c1 #47874
r=mkaply, a=brendan
remove obsolete nsTooltip* files


git-svn-id: svn://10.0.0.236/trunk@75725 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 20:56:20 +00:00
despotdaemon%netscape.com
bc9e09caa3 Pseudo-automatic update of changes made by naving@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@75724 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 20:55:58 +00:00
dougt%netscape.com
5a21fded10 Adding GetPrompt() method to nsIDOMWindow.
r=vidur@netscape.com (47889)


git-svn-id: svn://10.0.0.236/trunk@75723 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 20:55:36 +00:00
mkaply%us.ibm.com
8fd0a462bd #47874
r=mkaply, a=brendan
nsFontServices is not used


git-svn-id: svn://10.0.0.236/trunk@75722 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 20:53:28 +00:00
mkaply%us.ibm.com
16d960dca7 #47874
r=mkaply, a=brendan
Bring nsToolkit up to par with the Windows code


git-svn-id: svn://10.0.0.236/trunk@75721 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 20:51:47 +00:00
dougt%netscape.com
fd79d626f7 adding pref for image cache size. (47656)
r=valeski@netscape.com


git-svn-id: svn://10.0.0.236/trunk@75720 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 20:51:30 +00:00
dougt%netscape.com
07084b32e8 1. remove extra monitors (47825)
2.  add method to determine if manager has been shutdown  (44680)
3.  Add nsCOMPtr to avoid leak  (44680, 43244)

r=valeski@netscape.com


git-svn-id: svn://10.0.0.236/trunk@75719 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 20:50:25 +00:00
mkaply%us.ibm.com
31b9f51c41 #47874
r=mkaply, a=brendan
Bring nsLookAndFeel up to par with the Windows code


git-svn-id: svn://10.0.0.236/trunk@75718 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 20:48:09 +00:00
mkaply%us.ibm.com
b6742b6ecd #47874
r=mkaply, a=brendan
Bring nsSound up to par with the Windows code


git-svn-id: svn://10.0.0.236/trunk@75717 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 20:47:05 +00:00
leaf%mozilla.org
f6fb873856 Automated update
git-svn-id: svn://10.0.0.236/trunk@75716 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 19:00:10 +00:00
cyeh%bluemartini.com
e040a221dd fix for bug 42089: change wording of link from "create new bug" to
"report new bug". r=timeless@bemail.org, cyeh@bluemartini.com,
patch submitted by zach@zachlipton.com


git-svn-id: svn://10.0.0.236/trunk@75715 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 17:53:36 +00:00
pp%ludusdesign.com
5a2631a375 Adding the original contributor of this code to the Contributors list
of these files, to his request. No actual code change, only comments,
so no review.


git-svn-id: svn://10.0.0.236/trunk@75714 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 17:48:22 +00:00
despotdaemon%netscape.com
ed9fa2baed Pseudo-automatic update of changes made by dr@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@75711 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 16:36:12 +00:00
rhp%netscape.com
cbb3b11044 Fix for printing window being on the screen - r: putterman
git-svn-id: svn://10.0.0.236/trunk@75710 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 14:07:40 +00:00
ben%netscape.com
18f9dc978d fixing broken field on nsIBrowserBoxObject. This was preventing some code migration to
js that was needed for navigator, as nsIBrowserInstance is somewhat flaky. r=hyatt


git-svn-id: svn://10.0.0.236/trunk@75709 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 07:55:40 +00:00
hyatt%netscape.com
e9440df88a Fix for 47635. r=ben
git-svn-id: svn://10.0.0.236/trunk@75708 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 07:55:10 +00:00
nisheeth%netscape.com
c325ebf214 r=jst. Fix for nsbeta2+ bug 18321. The back button was not getting enabled when the user clicked on a javascript url that caused a new page load in another frame. The problem was that the location object was setting the load type to "normal" for loads caused by calls to location.replace() and to "normalReplace" for loads caused by setting location.href. The correct behavior is to do the opposite.
git-svn-id: svn://10.0.0.236/trunk@75707 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 07:35:25 +00:00
bryner%uiuc.edu
6e636070d2 Removing more obsolete libpref stuff. Not part of build. r=alecf.
git-svn-id: svn://10.0.0.236/trunk@75706 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 07:31:48 +00:00
mozilla.BenB%bucksch.org
7bc0a1ecda 45565: Add pref "general.useragent.override" to customize UA-string. r=valeski, a=brendan
git-svn-id: svn://10.0.0.236/trunk@75705 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 07:17:30 +00:00
ben%netscape.com
7739ab8bd6 remove redundant wallet skin files and directory, nsbeta3+ 47217
git-svn-id: svn://10.0.0.236/trunk@75704 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 06:42:21 +00:00
alecf%netscape.com
9ed6b623c9 remove old file from the build
git-svn-id: svn://10.0.0.236/trunk@75703 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 06:37:17 +00:00
alecf%netscape.com
3e2a1c7845 remove sidebar-messenger.xul from the build (NOT PART OF BUILD)
git-svn-id: svn://10.0.0.236/trunk@75702 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 06:34:33 +00:00
ben%netscape.com
01f8b0c562 fix for nsbeta3+ bug 39948, Start Mozilla is disabled after creating a profile
git-svn-id: svn://10.0.0.236/trunk@75701 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 06:29:08 +00:00
bratell%lysator.liu.se
0f61387703 Fix for bug 46306, html-to-plaintext replies have > on blank lines. The fix was to strip ending new lines in the citer. r=akkana, a=waterson.
git-svn-id: svn://10.0.0.236/trunk@75700 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 06:05:27 +00:00
morse%netscape.com
7b12917a8b bug 47461, cookie expiration date is wrong on mac, r=valeski
git-svn-id: svn://10.0.0.236/trunk@75699 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 05:27:19 +00:00
dbaron%fas.harvard.edu
a0c7410ceb Fix potential leak. r=attinasi a=waterson
git-svn-id: svn://10.0.0.236/trunk@75698 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 03:06:22 +00:00
dbaron%fas.harvard.edu
74cf8b8464 Make nsDocument unroot script objects in the prolog and epilog correctly. Fix nsDocument::RemoveChild so it doesn't crash when removing the root element. Prevent nsDocument::ChildAt from incorrectly returning null when root is removed. Clean up nsDocument::RemoveChild and nsDocument::ReplaceChild a bit, including adding some notifications for prolog/epilog content. Make nsDocument::ReplaceChild return the correct thing (the old child, not the new one). r=vidur b=17390 (nsbeta3+), 46212
git-svn-id: svn://10.0.0.236/trunk@75697 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 03:03:55 +00:00
danm%netscape.com
dff51f2e92 addref return ptr in GetContentDocShell -- the real reason for bug 47491
git-svn-id: svn://10.0.0.236/trunk@75696 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 02:58:10 +00:00
dbaron%fas.harvard.edu
24d6381ac5 Remove element names from the list that no longer use nsIAnonymousContentCreator. r=hyatt a=waterson
Don't choke on notifications for children of document that aren't the root element.  r=vidur  b=17390 (nsbeta3+)


git-svn-id: svn://10.0.0.236/trunk@75695 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-07 02:51:35 +00:00
danm%netscape.com
70633a371d reverting the part of rev 1.198 that causes a 100% reproducible, impossible to miss crash every time a browser window is closed, and seems to do nothing else. bug 47491
git-svn-id: svn://10.0.0.236/trunk@75693 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 22:08:56 +00:00
bienvenu%netscape.com
e5c9f59867 fix stop of msg move/copy r=mscott 28129
git-svn-id: svn://10.0.0.236/trunk@75692 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 20:15:32 +00:00
tor%cs.brown.edu
b889085a75 Bug 47679 - clipping rewrite for nsImageGTK::DrawComposited.
r=blizzard, a=waterson


git-svn-id: svn://10.0.0.236/trunk@75691 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 19:36:46 +00:00
dbaron%fas.harvard.edu
f5c556e039 Correct the combobox GetFrameForPoint by checking for visibility and foreground layer in all cases. b=36676 r=rods a=waterson
git-svn-id: svn://10.0.0.236/trunk@75690 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 19:24:48 +00:00
dougt%netscape.com
ee1a9e1e43 DEBUGGING information for bug 46737.
git-svn-id: svn://10.0.0.236/trunk@75689 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 19:21:09 +00:00
dbaron%fas.harvard.edu
6921566580 Fix an inconsequential typo (MOZ_DECL_CTOR_COUNTER does nothing, now). r,a=waterson
git-svn-id: svn://10.0.0.236/trunk@75688 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 19:19:01 +00:00
dougt%netscape.com
469dc01bf8 This was checked into the branch, but not trunk:
Here are the checkin notes (revision 1.22.2.2)

r=jar.  Checkin on behalf of dougt.  Fix for nsbeta2+ bug 47010.
The lock icon was not displaying on some https sites.  With these
changes, it does.


git-svn-id: svn://10.0.0.236/trunk@75687 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 19:15:46 +00:00
dbaron%fas.harvard.edu
efae1fc625 Fix potential leak. r=pnunn a=waterson
git-svn-id: svn://10.0.0.236/trunk@75686 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 19:07:06 +00:00
dbaron%fas.harvard.edu
84a7454104 Fix nsBoxLayout leaks. r=hyatt a=waterson b=43450
git-svn-id: svn://10.0.0.236/trunk@75685 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 19:05:50 +00:00
dbaron%fas.harvard.edu
991f6bf201 Remove some old stuff left from nsIAnonymousContentCreator before these were converted to XBL. r=hyatt a=waterson
git-svn-id: svn://10.0.0.236/trunk@75684 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 18:49:29 +00:00
dbaron%fas.harvard.edu
f154a601c1 Fixing bustage. Stupid error...
git-svn-id: svn://10.0.0.236/trunk@75683 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 17:17:22 +00:00
dbaron%fas.harvard.edu
1d16bbcdf5 Fix crash on shutdown (or patch things up so they don't crash) by releasing memory pressure observers closer to the beginning of XPCOM shutdown. b=47791 r=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@75682 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 16:23:04 +00:00
bienvenu%netscape.com
9d1f6bf945 remove unneeded select before append to imap folders r=mscott 46501
git-svn-id: svn://10.0.0.236/trunk@75681 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 14:50:06 +00:00
bienvenu%netscape.com
cca296ae96 more work on drag drop move/copy handling 47195 r=mscott
git-svn-id: svn://10.0.0.236/trunk@75680 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 14:40:21 +00:00
hyatt%netscape.com
1c7e7c8d2c Adding XBL demos. Doesn't affect build.
git-svn-id: svn://10.0.0.236/trunk@75679 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 11:12:44 +00:00
hyatt%netscape.com
c3caf9df23 Adding XBL demos. Doesn't affect build.
git-svn-id: svn://10.0.0.236/trunk@75678 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 08:48:49 +00:00
hyatt%netscape.com
ddf548f5fc Adding XBL demos. Doesn't affect build.
git-svn-id: svn://10.0.0.236/trunk@75677 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 08:14:19 +00:00
hyatt%netscape.com
2a4082ff73 Fixes to make menus work right with XBL.
git-svn-id: svn://10.0.0.236/trunk@75676 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 08:11:05 +00:00
ben%netscape.com
e64d1e18ca polish (just tweaked the spacing between elements)
git-svn-id: svn://10.0.0.236/trunk@75675 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 08:05:07 +00:00
ben%netscape.com
7911a911d1 update jar packager file...
git-svn-id: svn://10.0.0.236/trunk@75674 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 07:20:39 +00:00
ben%netscape.com
6fadf10da0 remove redundant files
git-svn-id: svn://10.0.0.236/trunk@75673 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 07:20:16 +00:00
ben%netscape.com
662ed06402 clean up signon viewer dialog code for polish, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@75672 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 07:18:10 +00:00
ben%netscape.com
0bbd25d5bd simplify Cookie Viewer code for polish, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@75671 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 07:04:11 +00:00
dave%intrec.com
e1cf1a1b66 Fix for bug 47561. Thanks to tengel@fluid.com (Troy Engel) for catching
this one.


git-svn-id: svn://10.0.0.236/trunk@75670 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 05:42:30 +00:00
hyatt%netscape.com
87f101ee64 more of 42320. r=danm
git-svn-id: svn://10.0.0.236/trunk@75669 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 05:39:36 +00:00
pavlov%netscape.com
c2d33fbb7e removing (broken) x11-shm code. I have not found this code to provide any speedup, and since it is broken, I am removing
it.  bug 32736 r=bryner


git-svn-id: svn://10.0.0.236/trunk@75668 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 05:18:01 +00:00
pavlov%netscape.com
778d5576e8 removing (broken) x11-shm code. I have not found this code to provide any speedup, and since it is broken, I am removing it. bug 32736 r=bryner
git-svn-id: svn://10.0.0.236/trunk@75667 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 05:17:31 +00:00
hyatt%netscape.com
115936b807 Fix build bustage that's coming.
git-svn-id: svn://10.0.0.236/trunk@75666 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 05:03:36 +00:00
hyatt%netscape.com
c7410097cd Fix for 42320. r=danm
git-svn-id: svn://10.0.0.236/trunk@75665 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 04:57:55 +00:00
hyatt%netscape.com
b28cfa714e Plug leak in cache for XBL docs.
git-svn-id: svn://10.0.0.236/trunk@75664 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 04:57:24 +00:00
bryner%uiuc.edu
ac1aca0f6d Fixing bug 42294 - make mousewheel font size change always affect the
document (not the chrome).  r=saari.


git-svn-id: svn://10.0.0.236/trunk@75663 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 04:15:02 +00:00
bryner%uiuc.edu
79844edf19 Ben forgot to update the unix makefile when he checked in for bug
46613.  This fixes the symptom of mozilla not starting up after switching
to the classic skin.  r=bruce.


git-svn-id: svn://10.0.0.236/trunk@75662 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-06 03:43:04 +00:00
hyatt%netscape.com
0b28e4ad6d Fix for XBL portion of 46129
git-svn-id: svn://10.0.0.236/trunk@75661 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 22:33:29 +00:00
ftang%netscape.com
e3ffc046ba improve cjk detector by reduce the threshold and do no consider Big5 in the
statistic model .


git-svn-id: svn://10.0.0.236/trunk@75660 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 20:57:02 +00:00
hyatt%netscape.com
efb91e3b36 Put scrollbars back in tex tareas.
git-svn-id: svn://10.0.0.236/trunk@75659 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 20:48:22 +00:00
morse%netscape.com
affecfbf91 bug 47532, incorrect display in signon viewer, r=pnunn
git-svn-id: svn://10.0.0.236/trunk@75658 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 19:32:53 +00:00
svn%xmlterm.org
56d719d6d1 --NOT PART OF DEFAULT BUILD--
XMLterm changes only.
Added jar.mn (for future use)


git-svn-id: svn://10.0.0.236/trunk@75657 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 17:23:59 +00:00
svn%xmlterm.org
bb76a78ba1 --NOT PART OF DEFAULT BUILD--
XMLterm changes only.
Fixed "bug" in XMLTermCommands.js that was causing duplicate instances of XMLTerm shells.


git-svn-id: svn://10.0.0.236/trunk@75656 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 17:22:00 +00:00
svn%xmlterm.org
f8d58bd7ec --NOT PART OF DEFAULT BUILD--
XMLterm changes only.
Re-structured chrome directories.


git-svn-id: svn://10.0.0.236/trunk@75655 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 17:19:44 +00:00
bienvenu%netscape.com
22af04e6c2 add ability to create storage for folders on demand, e.g., templates and drafts, r=mscott 45146
git-svn-id: svn://10.0.0.236/trunk@75654 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 14:42:16 +00:00
bienvenu%netscape.com
9ba3058d49 add ability to create storage for folders on demand, e.g., templates and drafts, r=mscott 45146
git-svn-id: svn://10.0.0.236/trunk@75653 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 14:28:47 +00:00
dmose%mozilla.org
c38e672a63 one item completed; several important items moved up to the top of the list. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75652 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 08:46:57 +00:00
dmose%mozilla.org
f50bc0021f replace a few regular libc includes and function calls with their NSPR equivalents. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75651 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 08:45:11 +00:00
dmose%mozilla.org
d497056eea add a comment; a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75650 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 08:43:51 +00:00
dmose%mozilla.org
5976794f0d get rid of unused static sNullTimeval. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75649 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 08:42:45 +00:00
scc%mozilla.org
ec704488bd also including "nsAWritableString.h" to satisfy speedracer
git-svn-id: svn://10.0.0.236/trunk@75648 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 08:32:18 +00:00
scc%mozilla.org
79d27e1b9f adding new files to the build to provide |ToNewCString|, |ToNewUnicode|, and |IsASCII| that work on |nsAReadable[C]String|s, as per Vidur's needs in converting the DOM.
git-svn-id: svn://10.0.0.236/trunk@75647 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 08:26:01 +00:00
scc%mozilla.org
fc3595e83f need |NS_COM| in the declarations too
git-svn-id: svn://10.0.0.236/trunk@75646 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 08:20:50 +00:00
scc%mozilla.org
8044c9fc61 adding new files to the build to provide |ToNewCString|, |ToNewUnicode|, and |IsASCII| that work on |nsAReadable[C]String|s, as per Vidur's needs in converting the DOM.
git-svn-id: svn://10.0.0.236/trunk@75645 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 07:50:28 +00:00
scc%mozilla.org
efe34a743d make sure the new functions are exported; still not in the build
git-svn-id: svn://10.0.0.236/trunk@75644 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 07:44:08 +00:00
pierre%netscape.com
892645b8c6 attempt to fix the SunOS build
git-svn-id: svn://10.0.0.236/trunk@75643 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 06:39:42 +00:00
dprice%netscape.com
9e1b32e935 make-jars.pl now properly cleans up any extra files and folders that it creates
git-svn-id: svn://10.0.0.236/trunk@75642 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 06:08:02 +00:00
pierre%netscape.com
db5d911ba9 42864 ('user-select:none' should make children non-selectable)
git-svn-id: svn://10.0.0.236/trunk@75641 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 04:41:33 +00:00
pierre%netscape.com
ccd95c3556 45754 ('hidden' borders should be treated as 'none')
git-svn-id: svn://10.0.0.236/trunk@75640 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 04:40:57 +00:00
pierre%netscape.com
01e1854745 40325 (subtracting dev2app in some cases)
git-svn-id: svn://10.0.0.236/trunk@75639 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 04:40:22 +00:00
pierre%netscape.com
6e8b05fbf3 9816 (Outlines should be disabled completely for FCS)
46562 ('display: run-in' disables whole declaration block)
45804 (In quirks mode, 0 in 'border' should set the width, not the color)
46547 (Background image not centered correctly)
Thanks to emk <VYV03354@nifty.ne.jp>


git-svn-id: svn://10.0.0.236/trunk@75638 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 04:40:03 +00:00
pierre%netscape.com
1dc88b3a49 46599 (nsCSSLoader should check for local file before passing FORCE_RELOAD)
git-svn-id: svn://10.0.0.236/trunk@75637 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 04:39:43 +00:00
pierre%netscape.com
43328ae9b9 6782 (UI for alternate and user stylesheets)
Thanks to Tim Hill <tim@prismelite.com>


git-svn-id: svn://10.0.0.236/trunk@75636 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 04:39:20 +00:00
pierre%netscape.com
47661c52c3 43420 (textarea inherits align="center" from parent td)
git-svn-id: svn://10.0.0.236/trunk@75635 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 04:37:57 +00:00
scc%mozilla.org
d1f2f5f430 added comments and made some changes suggested by reviewers; still not in the build
git-svn-id: svn://10.0.0.236/trunk@75634 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 04:25:49 +00:00
nelsonb%netscape.com
3b6ca9fa3d Platform independent performance enhancements to functions that multiply,
square, subtract, right shift, compare, mul_d_add_offset.  This lib's
Modular Exponentiation performance now compares favorably with most (not
all) other open source bignum libs on IRIX/R5000.  No assembler code is
presently being used.  Comparison on other platforms will now commence.


git-svn-id: svn://10.0.0.236/trunk@75633 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 03:37:46 +00:00
scc%mozilla.org
2bca44595d everything's in and working correctly (as far as my tests show), still not in the build, but that's what I'm about to change with my next set of checkins
git-svn-id: svn://10.0.0.236/trunk@75632 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 03:32:36 +00:00
anthonyd%netscape.com
949da90c17 moving editor prefs to editor directory
see bug# 36911
r: ben


git-svn-id: svn://10.0.0.236/trunk@75631 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 02:30:20 +00:00
anthonyd%netscape.com
493cb696b1 moving editor prefs to editor directory
see bug #36911
r: ben


git-svn-id: svn://10.0.0.236/trunk@75630 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 02:29:21 +00:00
anthonyd%netscape.com
fab5f0e8c6 moving editor prefs to editor directory
see bug # 36911
r: ben


git-svn-id: svn://10.0.0.236/trunk@75629 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 02:28:33 +00:00
anthonyd%netscape.com
60a8fb57b9 moving editor prefs into editor directory
see bug # 36911
r: ben


git-svn-id: svn://10.0.0.236/trunk@75628 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 02:24:55 +00:00
anthonyd%netscape.com
5328408867 updating jar packaging file thingy
moving editor prefs into editor directory
see bug# 36911
r: ben


git-svn-id: svn://10.0.0.236/trunk@75627 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 02:23:00 +00:00
anthonyd%netscape.com
e2defa80a4 moving editor prefs to editor directory
see bug# 36911
r: ben


git-svn-id: svn://10.0.0.236/trunk@75626 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 02:21:59 +00:00
scc%mozilla.org
ac22cf0d43 still not part of the build; I think everything's there, though. Some further testing and I'll add it to the build
git-svn-id: svn://10.0.0.236/trunk@75625 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 02:13:59 +00:00
morse%netscape.com
574ca98f39 bug 45219, submitted by Robert O'Callahan, r=morse
git-svn-id: svn://10.0.0.236/trunk@75624 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 01:57:43 +00:00
scc%mozilla.org
b4f3e207de still not part of the build; more work adding the new functions. More to come
git-svn-id: svn://10.0.0.236/trunk@75623 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 01:15:45 +00:00
despotdaemon%netscape.com
f37ae32bf4 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@75622 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 01:04:16 +00:00
syd%netscape.com
36c6905dbc Add a couple of prlog messages. r=pavlov.
git-svn-id: svn://10.0.0.236/trunk@75621 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 00:59:08 +00:00
syd%netscape.com
de7f716024 Add some prlog support for debugging image usage, r=pavlov. Debug only.
git-svn-id: svn://10.0.0.236/trunk@75620 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 00:58:24 +00:00
scc%mozilla.org
6666966a06 These files are not yet part of the build; making global versions of |IsASCII|, |ToNewCString|, and |ToNewUnicode| that apply to readables, since we don't want them as member functions (where they were in |ns[C]String|). Vidur needs these to convert DOM interfaces over to readables.
git-svn-id: svn://10.0.0.236/trunk@75619 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 00:51:37 +00:00
cata%netscape.com
99abc99837 Fix for bug #37543, a=ftang, r=nhotta.
git-svn-id: svn://10.0.0.236/trunk@75618 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 00:07:03 +00:00
pierre%netscape.com
078c67b29e Bug 38445: Complete support of CSS2/3 cursors on Mac
git-svn-id: svn://10.0.0.236/trunk@75617 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 23:40:10 +00:00
pnunn%netscape.com
89ea537905 bug#474711: don't mess with channel load attributes. pnunn.
git-svn-id: svn://10.0.0.236/trunk@75616 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 23:37:41 +00:00
cata%netscape.com
c5c4b10703 Fix for bug #28983. a=ftang, r=nhotta.
git-svn-id: svn://10.0.0.236/trunk@75615 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 23:30:36 +00:00
dave%intrec.com
3e95147460 Removing a couple lines from the patch for bug 31336 that got left in by
accident.


git-svn-id: svn://10.0.0.236/trunk@75614 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 23:16:01 +00:00
despotdaemon%netscape.com
1f446ac625 Pseudo-automatic update of changes made by dr@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@75613 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 23:02:41 +00:00
bienvenu%netscape.com
dfbe05c370 fix cntrl drag drop r=putterman 47195
git-svn-id: svn://10.0.0.236/trunk@75612 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 22:53:53 +00:00
ducarroz%netscape.com
bb7e1f917d Fix for bug 46040. We need to dismiss the popup menu when the user press the tab key. R=mscott
Aso, I have incorporated a patch submitted by Matthew Cline (bug 42582)


git-svn-id: svn://10.0.0.236/trunk@75611 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 22:40:52 +00:00
ducarroz%netscape.com
dbe6386040 Fix for bug 47224. Remove QUote button and menu item. R=mscott
git-svn-id: svn://10.0.0.236/trunk@75610 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 22:24:50 +00:00
syd%netscape.com
00879e6faa Set sane permissions on files. Let umask protect the user. r=rjc,dougt
Partial fix for 43091.


git-svn-id: svn://10.0.0.236/trunk@75609 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 22:13:59 +00:00
syd%netscape.com
d0df16da36 Set sane directory permissions on creation. Partial fix for 43091. r=dougt
git-svn-id: svn://10.0.0.236/trunk@75608 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 22:13:10 +00:00
edburns%acm.org
0b79e56e49 a=edburns
author=Oleg Khokhlov
r=edburns
bug=47026


git-svn-id: svn://10.0.0.236/trunk@75607 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 21:46:10 +00:00
shanjian%netscape.com
309c493895 #14022 IME98 Reconversion does not work in HTML Editor
r = jfrancis
a = ftang
fix proposed by m_kato@ga2.so-net.ne.jp

New events are added to support reconversion. As a result, many files
are affected. They are:
editor:
  nsEditor.h nsEditor.cpp nsEditorEventListeners.cpp nsEditorEventListeners.h
  nsHTMLEditor.h nsHTMLEditor.cpp nsIEditorIMESupport.h
dom and layout:
  nsIPrivateCompositionEvent.h nsDOMEvent.h nsDOMEvnet.cpp nsEventListenerManager.cpp
  nsIDOMCompositionListener.h
widget:
  nsGUIEvent.h nsWindow.h nsWindow.cpp


git-svn-id: svn://10.0.0.236/trunk@75606 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 21:43:29 +00:00
ducarroz%netscape.com
4274b76e4b Fix for bug 47250. As we cannot have more than one keyset per window, we need to define key outside the keyset tag in the overlay. That let other window that includes the overlay defines their own keyset and eventually includes some of the keys defined in the overlay. R=cmanske
git-svn-id: svn://10.0.0.236/trunk@75605 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 21:37:00 +00:00
ducarroz%netscape.com
505db84772 Fix for bug 47250. As we cannot have more than one keyset per window, we need to define key outside the keyset tag in the overlay. That let other window that includes the overlay defines their own keyset and eventually includes some of the keys defined in the overlay. R=cmanske
git-svn-id: svn://10.0.0.236/trunk@75604 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 21:35:32 +00:00
nbhatla%netscape.com
33f2a3f0a0 #46519 -> Mac Classic Skin Polish. Adds a new class, "plain-extended", so that Mac Classic can have square buttons with the proper rollover behavior built in.
git-svn-id: svn://10.0.0.236/trunk@75603 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 21:23:33 +00:00
rogerl%netscape.com
675a4909ec Added 'static' to global object routines.
git-svn-id: svn://10.0.0.236/trunk@75601 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 20:54:24 +00:00
brade%netscape.com
6ab4e4c364 fix src/dest d&d (do move if in same doc unless modifier key is pressed); bug #45607; r=kin
git-svn-id: svn://10.0.0.236/trunk@75600 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 20:51:33 +00:00
brade%netscape.com
62a1a50415 remove extra '"' character discovered in UI review
git-svn-id: svn://10.0.0.236/trunk@75599 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 20:47:40 +00:00
attinasi%netscape.com
ad73ad64b4 Part of fix to allow background on BODY element to be inherited. b=47127 r=pierre
git-svn-id: svn://10.0.0.236/trunk@75598 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 20:44:08 +00:00
blizzard%redhat.com
18e020c6e2 fix for bug #26509. in nsIWidget::Show() try to grab if the last grab attempt wasn't successful since in unix the window has to be visible to complete a grab. context menus shouldn't travel to seperate desktops now. r=pavlov, a=waterson
git-svn-id: svn://10.0.0.236/trunk@75597 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 20:42:11 +00:00
akkana%netscape.com
015402bf44 Comment out annoying debugging statements. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@75596 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 20:39:53 +00:00
rogerl%netscape.com
3e8715b85d Oops. Left icode output on by default, now off.
git-svn-id: svn://10.0.0.236/trunk@75595 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 20:37:42 +00:00
rogerl%netscape.com
609feb88b0 Prototype munging for built-in global properties, implemented Function
object & Boolean object.


git-svn-id: svn://10.0.0.236/trunk@75594 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 20:28:35 +00:00
dprice%netscape.com
5c6168c2e7 adding recursive delete function
git-svn-id: svn://10.0.0.236/trunk@75593 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 20:25:42 +00:00
nelsonb%netscape.com
95e246df1c Minor performance tweaks.
git-svn-id: svn://10.0.0.236/trunk@75592 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 19:58:20 +00:00
nelsonb%netscape.com
a09176abf2 Add new signed mp_word type, mp_sword. Used to get arithmetic right
shifts when doing subtraction.


git-svn-id: svn://10.0.0.236/trunk@75591 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 19:57:24 +00:00
varada%netscape.com
28c3bd6e13 fix for bug#47328 - not able to launch customized netscape;caused by all-ns.js using properties files for the values- changed ib.cpp and script.ib to reflect that
git-svn-id: svn://10.0.0.236/trunk@75590 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 18:09:21 +00:00
dimator%netscape.com
24dec09e8d Fix for 25984. Adding sort direction indicators to thread pane column headers. r=putterman
git-svn-id: svn://10.0.0.236/trunk@75589 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 17:37:29 +00:00
danm%netscape.com
6255a55a42 use explicit on-screen widget placement constraints when restoring window positions from persistent storage. bug 31516 r=saari@netscape.com
git-svn-id: svn://10.0.0.236/trunk@75588 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 14:52:44 +00:00
danm%netscape.com
051accf240 (empty) implementations of new nsIWidget method ConstrainPosition. bug 31516 r=saari@netscape.com
git-svn-id: svn://10.0.0.236/trunk@75587 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 14:49:36 +00:00
danm%netscape.com
2c3b51f21e implement new method ConstrainPosition. bug 31516 r=saari@netscape.com
git-svn-id: svn://10.0.0.236/trunk@75586 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 14:48:33 +00:00
danm%netscape.com
e806f00627 new method ConstrainPosition provides implementation-dependent on-screen check for top-level windows. bug 31516 r=saari@netscape.com
git-svn-id: svn://10.0.0.236/trunk@75585 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 14:47:46 +00:00
dcone%netscape.com
786e362567 took ViewManager.cpp out of build. b=42845 r=kmcclusk.
git-svn-id: svn://10.0.0.236/trunk@75584 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 13:55:36 +00:00
rods%netscape.com
be2c89358c removed content-box from radio and checkboxes and set their sizes appropriately
set the background-color for the select arrow button "buttonface" partial fix to Bug 43371
b=32102 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@75583 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 13:01:15 +00:00
rods%netscape.com
e8c4114f94 Setting up some special NavQuirks rules for input type=text
part of the checkin for 44656 making the NavQuirks font moz-fixed
b=25580 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@75582 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 12:49:16 +00:00
brade%netscape.com
5070ddccdf fix menu and tooltip strings per UI meeting and verah (bug #47509)
git-svn-id: svn://10.0.0.236/trunk@75581 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 10:50:41 +00:00
brade%netscape.com
43668f9f3b remove font dropdown list from toolbar per Composer UI review (bug #47506)
git-svn-id: svn://10.0.0.236/trunk@75580 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 10:50:05 +00:00
brade%netscape.com
bc66503877 add meta="false"
git-svn-id: svn://10.0.0.236/trunk@75579 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 10:30:33 +00:00
brade%netscape.com
dab607b76d remove reference to View | Paragraph Marks since the Composer team has decided not to support/fix it for 6.0 (bug #47525); per Composer UI review team
git-svn-id: svn://10.0.0.236/trunk@75578 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 10:27:44 +00:00
brade%netscape.com
80e74d5cad add keybinding for fixed width font, add shift="false" to increase/decrease indent, new string for Insert | HTML..., remove Insert | Break and Insert | Break below Images (#47523), move Revert to after SaveAsCharset (#47211), remove Edit | HTML Source (#47523), remove View | Paragrah Marks, new string/accesskey added for Insert | HTML..., remove separator, Break and BreakBelowImages from Insert menu (#47523), comment out Format | Background Color since it will be moving soon, renumber Format menu, move Align after decrease indent (all per UI review)
git-svn-id: svn://10.0.0.236/trunk@75577 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 10:25:07 +00:00
brade%netscape.com
fff9c46875 fix menu and tooltip strings per UI meeting and verah (bug #47509); add shortcut keybinding for fixed width font
git-svn-id: svn://10.0.0.236/trunk@75576 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 10:25:00 +00:00
brade%netscape.com
4bb371ccf8 remove unnecessary include of nsContextMenu.js (bug #43239) and remove viewParagraphMarks menu item per UI review meeting (bug #47525)
git-svn-id: svn://10.0.0.236/trunk@75575 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 10:12:28 +00:00
brade%netscape.com
c640ba1cdd removed unnecessary references to nsContextMenu.js (bug #43239)
git-svn-id: svn://10.0.0.236/trunk@75574 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 10:10:47 +00:00
hyatt%netscape.com
b364cb52f1 Working on 42320.
git-svn-id: svn://10.0.0.236/trunk@75573 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 08:45:29 +00:00
cls%seawood.org
2d670205ca Dump bloat & leak stats if NS_BUILD_REFCNT_LOGGING is set. Needed for bloat stats of optimized builds.
git-svn-id: svn://10.0.0.236/trunk@75572 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 06:59:18 +00:00
jst%netscape.com
4407fd3225 Checking in for Vidur (merging from SeaMonkey_M17_BRANCH). Fixing nsbeta2+ bug 9392, removing code that was hiding the correct native code for document.plugins. r=jst@netscape.com, a=nisheeth@netscape.com
git-svn-id: svn://10.0.0.236/trunk@75571 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 06:55:53 +00:00
pavlov%netscape.com
3f19f00c3d removing an ifdef DEBUG_pavlov printoutlotsofstuff line
git-svn-id: svn://10.0.0.236/trunk@75569 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 06:02:42 +00:00
risto%netscape.com
60b136be9a Just added a newline for test purposes
git-svn-id: svn://10.0.0.236/trunk@75568 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 04:49:05 +00:00
endico%mozilla.org
7d5671b96f deleted a blank line just to test whether cvs and bonsai are working
git-svn-id: svn://10.0.0.236/trunk@75567 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 04:13:39 +00:00
dmose%mozilla.org
beef116e47 All currently known ChoadWarrior warnings in the LDAP code have been fixed. Another item removed from the TODO list. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75566 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:57:58 +00:00
dmose%mozilla.org
6cb3b03749 Removed trailing semicolons after NS_DECL stuff to keep ChoadWarrior from whining. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75565 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:55:12 +00:00
pollmann%netscape.com
88223f90eb Bug 3326: ISINDEX frame; r=kmcclusk
git-svn-id: svn://10.0.0.236/trunk@75563 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:45:50 +00:00
alecf%netscape.com
63118d9d2f fix for #46712 and #46491
r=warren
- remove chrome dependancy from string bundles, finally (yay)
- flush the string bundle cache according to the memory pressure observer
- expose flushing in the nsIStringBundle API so that chrome can flush it


git-svn-id: svn://10.0.0.236/trunk@75562 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:43:10 +00:00
rhp%netscape.com
a198ebbdca Fix for old code shadowing variables - Bug #: 64922 - r: bienvenu
git-svn-id: svn://10.0.0.236/trunk@75561 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:41:08 +00:00
rhp%netscape.com
6d33d62c09 Fixes for progress in absync - Bug #: 1787 - r: bienvenu
git-svn-id: svn://10.0.0.236/trunk@75560 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:40:51 +00:00
pollmann%netscape.com
3e47a7f9ad Bug 40533: browser crashes when submit nothing with event on file upload; r=kmcclusk
git-svn-id: svn://10.0.0.236/trunk@75559 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:39:33 +00:00
nbhatla%netscape.com
b6f7c7de1a Bug #46519 -> Mac Classic Skin Polish fixes. Removed parallel line images from toolbars, etc., I had added yesterday.
git-svn-id: svn://10.0.0.236/trunk@75558 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:36:37 +00:00
pollmann%netscape.com
7db58c7c36 Bug 42662: Values of disabled form elements should not be submitted; r=kmcclusk
git-svn-id: svn://10.0.0.236/trunk@75557 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:32:02 +00:00
bryner%uiuc.edu
2b0d3efc1d Fixing 42056 - get rid of nonfunctional history list in linux
filepicker.  r=pavlov.


git-svn-id: svn://10.0.0.236/trunk@75556 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:31:49 +00:00
slamm%netscape.com
f2da23cf45 Take 'Mail Folders' or 'Addressbooks' title out of a splitter. It is not needed and messes up the pointer (turns into an arrow for dragging). Allow add a high flex number to the tree. This fixes the persistence for the sidebar height. Bug 26259. r=mcafee
git-svn-id: svn://10.0.0.236/trunk@75555 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:29:25 +00:00
slamm%netscape.com
f453ae5f12 Mini-hack for splitter/grippy behavior on sidebarheader. The grippy code must look for a 'splitter' tag because the 'sidebarheader' does not work even though it is derived from a splitter. bug 26259. r=mcafee
git-svn-id: svn://10.0.0.236/trunk@75554 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:29:20 +00:00
slamm%netscape.com
edb98d1f1a Images for 'My Sidebar' title grippy. Bug 26259 r=mcafee
git-svn-id: svn://10.0.0.236/trunk@75553 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:29:17 +00:00
slamm%netscape.com
c9b08426a2 New styles for 'My Sidebar' title grippy. Bug 26259 r=mcafee
git-svn-id: svn://10.0.0.236/trunk@75552 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:28:22 +00:00
slamm%netscape.com
e131978b75 Add grippy to sidebarheader. bug 26259. r=mcafee
git-svn-id: svn://10.0.0.236/trunk@75551 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:25:43 +00:00
slamm%netscape.com
e3773008d1 Add horizontal grippy images. bug 26259. r=mcafee
git-svn-id: svn://10.0.0.236/trunk@75550 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:25:35 +00:00
hyatt%netscape.com
b61e7de349 Fix for 17470.
git-svn-id: svn://10.0.0.236/trunk@75549 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:21:23 +00:00
mcafee%netscape.com
963bb55a42 Removing dead pref-imageblocking.{xul,dtd} (40888). r=slamm, morse.
git-svn-id: svn://10.0.0.236/trunk@75548 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:20:01 +00:00
morse%netscape.com
1063d13178 bug 44514, speed up loading of wallet tables, r=dbragg
git-svn-id: svn://10.0.0.236/trunk@75547 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:19:32 +00:00
pollmann%netscape.com
591cd3bd14 Bug 42616: form actions with anchor specified (#) do not work; r=kmcclusk
git-svn-id: svn://10.0.0.236/trunk@75546 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:03:58 +00:00
shanjian%netscape.com
3a788283fa #14588 Ctrl+right arrow skips over nbsp (nbsp should be word break)
r = ftang a=ftang
changes made in word break and word jump.


git-svn-id: svn://10.0.0.236/trunk@75545 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 23:03:08 +00:00
BlakeR1234%aol.com
f442cb2995 Remove hover effects for HTML buttons (38427). r=me (simple commenting change), a=ekrock.
git-svn-id: svn://10.0.0.236/trunk@75544 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:58:06 +00:00
sgehani%netscape.com
95c966af04 Fix indexing during IDI generation. [nsbeta3+ bugscape b=1740; r=dbragg]
git-svn-id: svn://10.0.0.236/trunk@75543 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:49:30 +00:00
dmose%mozilla.org
5bd2a72847 added one item, dropped one item, completed one item. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75542 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:48:08 +00:00
pinkerton%netscape.com
c951c080a5 Damn, forgot to check this in too
git-svn-id: svn://10.0.0.236/trunk@75541 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:48:07 +00:00
dmose%mozilla.org
910a966147 get rid of C-style casts. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75540 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:47:11 +00:00
dmose%mozilla.org
054fa6446d add XXX cleanup reminder comment. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75539 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:46:42 +00:00
dmose%mozilla.org
2766e71f0f remove NS_ERROR_LDAP_SUCCESS, as non-NS_OK success codes are considered bad form, and this one wasn't even used yet. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75538 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:45:43 +00:00
dmose%mozilla.org
985a0b5df5 add XXX comment to remind about future cleanup. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@75537 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:43:43 +00:00
hyatt%netscape.com
7517933b86 Fix for 42451.
git-svn-id: svn://10.0.0.236/trunk@75536 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:42:36 +00:00
ashuk%eng.sun.com
a2522e3fb6 Minor change to get Webclient to compile on Solaris
author=ashuk

cvs diff dom_util.h (in directory D:\M16\mozilla\java\webclient\src_moz\)
Index: dom_util.h
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/src_moz/dom_util.h,v
retrieving revision 1.1
diff -r1.1 dom_util.h
28a29
> #include "nsIDOMDocument.h"

*****CVS exited normally with code 1*****


git-svn-id: svn://10.0.0.236/trunk@75535 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:35:14 +00:00
pollmann%netscape.com
f8b1d4c014 Bug 45540: Badly nested form + focus input -> input not a submitter; r=kmcclusk
git-svn-id: svn://10.0.0.236/trunk@75534 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:32:54 +00:00
ducarroz%netscape.com
179ab2ace8 Fix for bug 46678. We need to ignore onInput event right after somebody set the value of the textfield else autocomplete will start. R=radha
git-svn-id: svn://10.0.0.236/trunk@75533 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:31:28 +00:00
anthonyd%netscape.com
d503a47c59 nsPresContext.cpp : added to comment to presContext::GetLookAndFeel to inform others that
that method has been depricated.
nsTextFrame.cpp : changed an assert to a warning, didnt need to be an assert.
r: mjudge@netscape.com


git-svn-id: svn://10.0.0.236/trunk@75532 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:30:47 +00:00
ducarroz%netscape.com
4f634fec92 Fix for bug 47362. Add tooltip on attachment. R=mscott
git-svn-id: svn://10.0.0.236/trunk@75531 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:28:17 +00:00
pollmann%netscape.com
d358511c25 Bug 40383: Treat frameset rows spec 0* as 1* in quirks mode; r=harishd
git-svn-id: svn://10.0.0.236/trunk@75530 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:26:56 +00:00
pinkerton%netscape.com
190e0ada1c oops, forgot to check this in.
git-svn-id: svn://10.0.0.236/trunk@75529 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:25:23 +00:00
pollmann%netscape.com
e5357b4864 Bug 35986: document==NULL for FRAMEs created without SRC; r=kmcclusk
git-svn-id: svn://10.0.0.236/trunk@75528 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:23:48 +00:00
pollmann%netscape.com
ac0908f872 Bug 40394: Strip only one leading LF if there is one; r=harishd
git-svn-id: svn://10.0.0.236/trunk@75527 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:19:43 +00:00
mscott%netscape.com
6346d8dd30 Landing branch fix to the trunk. bug #47248 --> Implement MoveTo for Unix.
git-svn-id: svn://10.0.0.236/trunk@75526 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:17:43 +00:00
pollmann%netscape.com
f0c8471679 Bug 26945: Image input onclick fires but doesn't allow cancel via return false; r=harishd
git-svn-id: svn://10.0.0.236/trunk@75524 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:17:14 +00:00
BlakeR1234%aol.com
f8929164c8 Fix bug 47481, all menus have autoscrollers (caused by ben's classic skin changes last night). simple fix. r=me, a=pink
git-svn-id: svn://10.0.0.236/trunk@75523 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:15:09 +00:00
mscott%netscape.com
4e206cca95 landing branch fix to trunk. Bug #47248 ---> Fix GetParent such that if appendedPath is an empy string we treat it the same as if it were null and create a dummy path.
r=dougt


git-svn-id: svn://10.0.0.236/trunk@75522 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:13:34 +00:00
pollmann%netscape.com
c6beecf00a Bug 34418: image input can't be submitted by space or enter; r=harishd
git-svn-id: svn://10.0.0.236/trunk@75521 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:11:57 +00:00
mcafee%netscape.com
8cd4c5c87d about: page needs to be HTML 4.0 (39231). patch=gemal, r=mcafee
git-svn-id: svn://10.0.0.236/trunk@75520 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:11:21 +00:00
bryner%uiuc.edu
61ba79db7b Fixing bug 47536 - column hiding is broken. r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@75519 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:09:57 +00:00
pinkerton%netscape.com
98dee5f779 part of fix for 46001, support |collapsed| attribute in addition to |hidden| to hide mac menus.
git-svn-id: svn://10.0.0.236/trunk@75518 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:09:00 +00:00
blizzard%redhat.com
d64971e8ac fix for bug #42401. only add a queue that is native to the event queue list that is processed by the main UI event loop. this should fix no painting on linux when the imap password dialog comes up. r=danm, bryner, mscott a=vidur
git-svn-id: svn://10.0.0.236/trunk@75517 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:08:29 +00:00
pinkerton%netscape.com
9ba2a8e9f2 patch from dean_tessman@hotmail.com for 32685. Check if item is disabled before allowing key navigation into submenus.
git-svn-id: svn://10.0.0.236/trunk@75516 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:07:49 +00:00
ftang%netscape.com
e72957f677 fix bug 46684 r=nhotta a=ftang convert unicode to file system charset
git-svn-id: svn://10.0.0.236/trunk@75515 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:07:14 +00:00
pinkerton%netscape.com
d8ee1444e0 Actually set the modifier keys before dispatching d&d event into gecko. r=bienvenu, bug#47195
git-svn-id: svn://10.0.0.236/trunk@75514 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:06:10 +00:00
pollmann%netscape.com
7f1111f79f Bug 40412: image inputs should send x and y not .x and .y if no name; r=harishd
git-svn-id: svn://10.0.0.236/trunk@75513 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:05:44 +00:00
blizzard%redhat.com
b432316444 fix makefile to work with objdir r=dougt a=waterson
git-svn-id: svn://10.0.0.236/trunk@75512 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:05:31 +00:00
pinkerton%netscape.com
60666b3047 Fix for 47413, better impl of ResolveShortcut() thanks to sean@beatnik.com a=waterson
git-svn-id: svn://10.0.0.236/trunk@75511 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:05:09 +00:00
hyatt%netscape.com
4d615c76d5 Fix for 46862 and 47346. r=pink
git-svn-id: svn://10.0.0.236/trunk@75510 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:05:07 +00:00
valeski%netscape.com
ffe961ce34 r=dp. removing extraneous junk
git-svn-id: svn://10.0.0.236/trunk@75509 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:04:28 +00:00
valeski%netscape.com
05ef997c3f getting cookie service to startup in conjunction with the http category.
git-svn-id: svn://10.0.0.236/trunk@75508 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:03:34 +00:00
pollmann%netscape.com
6ca99ffa40 7913 Dynamic changing of ROWS and COLS for framesets; r=kmcclusk
git-svn-id: svn://10.0.0.236/trunk@75507 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 22:02:50 +00:00
hyatt%netscape.com
2b75bd07ae I'm told backing this out resolves smoketest issues, so here it comes. r=attinasi
git-svn-id: svn://10.0.0.236/trunk@75505 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 21:40:39 +00:00
edburns%acm.org
af2702d036 bug=47357
a=edburns
r=ashuk

This change creates a new directory, java/webclient/src_share, that
contains the code that will be used in both src_moz and src_ie, and any
other native browser wrapping implementations.

Here are the steps I followed to implement this change.

1. Create a new directory java/webclient/src_share

2. Move all jni_util*.* files from src_moz into src_share

3. Make it so src_share compiles into a new .lib

   src_share has no netscape dependencies.  Any functionality that
   depended on ns dependencies was kept in src_moz.  In this case, we
   have a function prototype only in src_share, with the implementation
   in src_moz.  We did this for nsHashtable.  The other trick was for
   things in WebShellInitContext that had nothing to do with Netscape.
   This case was accomodated by creating a new struct, ShareInitContext,
   that contains all WebShellInitContext members that have nothing to do
   with Netscape.  Currently this is just jobject propertiesClass.  I
   modified the WebShellInitContext struct to contain a ShareContext
   struct as its last member.  There are two new methods in jni_util.h
   that allow for the initialization and deallocation of the members of
   the ShareContext struct.

4. Make it so src_moz uses the new .lib to provide the jni_util behavior

  a. Create ns_util* files that include ../src_share/jni_util* files
  appropriately.

  The only tricky part was for things in jni_util.h that

Here's the list of files in this change.

cvs -z3 -n update (in directory D:\Projects\mozilla\java\webclient)
cvs server: Updating .
M Makefile.win // added src_share to DIRS
M src_moz/BookmarksImpl.cpp             // include ns_util instead of jni_util
M src_moz/CBrowserContainer.cpp         // include ns_util instead of jni_util
M src_moz/CBrowserContainer.h           // include ns_util instead of jni_util
M src_moz/CurrentPageImpl.cpp           // include ns_util instead of jni_util
M src_moz/HistoryImpl.cpp               // include ns_util instead of jni_util
M src_moz/Makefile.win                  // include ns_util instead of jni_util
M src_moz/NativeEventThread.cpp         // include ns_util instead of jni_util
M src_moz/NavigationImpl.cpp            // include ns_util instead of jni_util
M src_moz/RDFEnumeration.cpp            // include ns_util instead of jni_util
M src_moz/RDFTreeNode.cpp               // include ns_util instead of jni_util
M src_moz/WindowControlImpl.cpp         // include ns_util instead of jni_util
                                        // also use new util_InitShareContext
                                        // function
M src_moz/WrapperFactoryImpl.cpp        // include ns_util instead of jni_util
R src_moz/jni_util.cpp                  // moved to ../src_share
R src_moz/jni_util.h                    // moved to ../src_share
R src_moz/jni_util_export.cpp           // moved to ../src_share
R src_moz/jni_util_export.h             // moved to ../src_share
M src_moz/nsActions.cpp                 // include ns_util instead of jni_util
                                        // also use new
util_DeallocateShareContext
M src_moz/nsActions.h                   // include ns_util instead of jni_util
A src_moz/ns_util.cpp                   // include jni_util.h
A src_moz/ns_util.h                     // include jni_util.h, changes to
                                        // WebshellInitContext struct
A src_moz/ns_util_export.cpp            // provide impls for methods in
                                        // jni_util_export.h

A src_share/Makefile.win
A src_share/bal_util.cpp
A src_share/bal_util.h
A src_share/jni_util.cpp
A src_share/jni_util.h
A src_share/jni_util_export.cpp
A src_share/jni_util_export.h

*****CVS exited normally with code 0*****


git-svn-id: svn://10.0.0.236/trunk@75504 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 21:32:54 +00:00
dprice%netscape.com
7e5be17e07 removes copied files. Doesn't remove created directories yet.
git-svn-id: svn://10.0.0.236/trunk@75503 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 20:58:31 +00:00
ducarroz%netscape.com
673a0e90e3 Fix for bug 47497 (tree blocker). We should not pass rv to the call do_queryInterface in this case because failure here doesn't mean that the whole function failed. R=bienvenu
git-svn-id: svn://10.0.0.236/trunk@75502 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 20:50:00 +00:00
kzhou%netscape.com
e54841f4dc bug #46136. r:valeski, a:leaf. Reset mIP6vChecked as PR_FASLE to prevent browser
from hunging for ftp protocol


git-svn-id: svn://10.0.0.236/trunk@75501 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 20:05:22 +00:00
ducarroz%netscape.com
ce8553e8e4 Fix for tree blocker bug 47391. Do not try to update menu that doesn't exist. R=bienvenu,alecf
git-svn-id: svn://10.0.0.236/trunk@75500 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 19:58:10 +00:00
cotter%netscape.com
e6e1303445 Corrected date at top.
git-svn-id: svn://10.0.0.236/trunk@75499 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 17:24:43 +00:00
cotter%netscape.com
4158b80ece Updated platforms supported (deleted Solaris 2.5.1).
git-svn-id: svn://10.0.0.236/trunk@75498 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 17:23:45 +00:00
blizzard%redhat.com
5144480c38 documentation change only
git-svn-id: svn://10.0.0.236/trunk@75497 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 15:02:42 +00:00
bienvenu%netscape.com
74bcf1aa68 fix 47445 restore default pref for threading by subject without re
git-svn-id: svn://10.0.0.236/trunk@75495 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 14:15:27 +00:00
rods%netscape.com
46e78ab3ba 40000 - right-click events don't go through listboxes (onmoused
44454 - Can't drag-scroll/-select in single-select HTML listbox
42301 - select generates onchange when it shouldn't
33421 - <optgroup> in <select> breaks scrolling drop down lists
14771 - GFX list/combo box doesn't respond to keyboard input
b=40000, 44454, 42301, 33421, 14771 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@75494 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 14:13:58 +00:00
rods%netscape.com
b077844144 47302 - moved the RegUnRegAccessKey to the Destroy Method
44788 - Comboboxes do not obey style height
42661 - javascript "selected = true" doesn't inform onChange of
b=47302, 44788, 42661 r=kmclusk


git-svn-id: svn://10.0.0.236/trunk@75493 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 14:13:40 +00:00
roc+%cs.cmu.edu
771c0a8519 Removing TABLE SUMMARY from browser tooltips. Bug #45735. r=ben, a=brendan
git-svn-id: svn://10.0.0.236/trunk@75492 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 13:42:52 +00:00
mkaply%us.ibm.com
8352f40ed0 OS/2 Tinderbox break
Need PR_CALLBACK for VisualAge


git-svn-id: svn://10.0.0.236/trunk@75491 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 13:26:02 +00:00
locka%iol.ie
f467190080 NOT PART OF BUILD. Completed nsICommandHandler implementation. Added [retval] tag to out param in IDL file to make Javascript invocation easier.
git-svn-id: svn://10.0.0.236/trunk@75490 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 12:44:38 +00:00
ben%netscape.com
252508877d search button should not take focus.
git-svn-id: svn://10.0.0.236/trunk@75489 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 09:59:57 +00:00
ben%netscape.com
f87e7f5128 add license
git-svn-id: svn://10.0.0.236/trunk@75488 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 09:19:44 +00:00
warren%netscape.com
efbf2efe18 Fixed location of manifest.rdf
git-svn-id: svn://10.0.0.236/trunk@75487 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 09:04:05 +00:00
ben%netscape.com
a76a7c7b44 yay me. I suck. making <menubar> use menubarframe like it should instead of boxframe.
git-svn-id: svn://10.0.0.236/trunk@75486 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 09:01:18 +00:00
warren%netscape.com
6776b3e51d Fixed slashes and filenames that were too long for mac.
git-svn-id: svn://10.0.0.236/trunk@75485 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 08:57:40 +00:00
valeski%netscape.com
d79be2eab5 removing crusty include
git-svn-id: svn://10.0.0.236/trunk@75484 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 07:59:32 +00:00
valeski%netscape.com
ca2a231ff6 removing unneeded import lib/static lib links
git-svn-id: svn://10.0.0.236/trunk@75483 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 07:56:58 +00:00
dprice%netscape.com
3b6f776e04 adding manifest for modern skin jar
NOT IN THE BUILD


git-svn-id: svn://10.0.0.236/trunk@75482 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 07:35:28 +00:00
ben%netscape.com
d788e10b1e remove dead files
git-svn-id: svn://10.0.0.236/trunk@75481 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 07:18:17 +00:00
ben%netscape.com
f6db62710d fix for a bug with XBL binding attached event that was causing the event to be fired repeatedly.
code by hyatt, r=me


git-svn-id: svn://10.0.0.236/trunk@75480 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 07:17:10 +00:00
ben%netscape.com
9869871538 fix orange
git-svn-id: svn://10.0.0.236/trunk@75479 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 07:07:28 +00:00
ben%netscape.com
c17bb7417e die crapintosh
git-svn-id: svn://10.0.0.236/trunk@75478 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 07:06:17 +00:00
valeski%netscape.com
ced7b8dee1 cleanup
git-svn-id: svn://10.0.0.236/trunk@75477 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 07:00:14 +00:00
ben%netscape.com
c8d24f950d forgot this
git-svn-id: svn://10.0.0.236/trunk@75476 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 06:45:06 +00:00
dprice%netscape.com
5a7557e7bc added manifest.rdf
git-svn-id: svn://10.0.0.236/trunk@75475 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 06:44:46 +00:00
valeski%netscape.com
82432b560f removed defer logic as cookies are only accessed from the main thread. removed unused functions, converted stripline over to nsString equivelent, changed cookie deletion and list removal mechansim to use already cached indexes so we don't search the list again everytime we want to remove an element. also removed some extraneous statics
git-svn-id: svn://10.0.0.236/trunk@75474 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 06:40:35 +00:00
ben%netscape.com
7d04b93d30 toolbar landing 44756, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@75473 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 06:36:17 +00:00
ben%netscape.com
0051ef1580 toolbar landing 44756
git-svn-id: svn://10.0.0.236/trunk@75472 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 06:29:59 +00:00
ben%netscape.com
664eb83eb4 classic skin landing from hell
46613 - polish!


git-svn-id: svn://10.0.0.236/trunk@75471 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 06:24:33 +00:00
cls%seawood.org
e00c9de47a Oops. Did a lxr search on the wrong thing. Change -DB1M to -DB_ONE_M since WS5.0 appears to not handle the former properly in all cases.
git-svn-id: svn://10.0.0.236/trunk@75470 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 06:07:33 +00:00
cls%seawood.org
63bdecee46 Removing unused define that appeared to be causing WS5.0 to occassionaly complain about the use of -D without an argument.
git-svn-id: svn://10.0.0.236/trunk@75469 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 05:34:19 +00:00
valeski%netscape.com
7e14301340 removing lock/monitor usage from cookie code. cookies live on the main thread and any cross thread communication is marshalled, thus no need for this stuff. also fixing nsVoidArray leak. also cleaning up extraneous nsString usage. Also adding functional test harness for win32
git-svn-id: svn://10.0.0.236/trunk@75468 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 04:57:23 +00:00
BlakeR1234%aol.com
0387f5b165 Fix bug 41345, implement checkmarks for the current visited page in the Go menu (as IE 5.x and NN 4.x do). r=jag, a=radha
git-svn-id: svn://10.0.0.236/trunk@75467 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 03:42:22 +00:00
kmcclusk%netscape.com
232df3fbb8 Removed references to viewmanager1 in nsViewFactory. Removed ViewManager1 from the build on WIN32, and Linux. b=42845 r=attinasi@netscape.com. tested=win32,linux
git-svn-id: svn://10.0.0.236/trunk@75466 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 03:36:10 +00:00
mkaply%us.ibm.com
08b40967ac r=mkaply, a=brendan
Tinderbox break - Should have been info.fExtensionArray


git-svn-id: svn://10.0.0.236/trunk@75465 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 02:20:17 +00:00
bienvenu%netscape.com
b9afe959ed fix bugs having to do with imap msg copying failing 46876 46914 etc r=mscott
git-svn-id: svn://10.0.0.236/trunk@75464 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 01:25:12 +00:00
bienvenu%netscape.com
948bf4aaf6 fix 28117 copying online to offline loses read state of msg r=mscott
git-svn-id: svn://10.0.0.236/trunk@75463 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 01:22:45 +00:00
pinkerton%netscape.com
87a6f925d2 Most of fix for 37412. Expand d&d so that when we're asking for a url and
don't have one, we check if a file is being dropped. If so, either give
the file:// url or read in the InternetShortcut.


git-svn-id: svn://10.0.0.236/trunk@75462 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:47:36 +00:00
nbhatla%netscape.com
28d4751238 Bug #46518 -> Mac Classic Skin Polish. #45112 -> Mail Arrow Icon. #45685 -> mail threaded icon. #45755 -> Radio buttons don't bounce in prefs on windows now. #46178 -> Nudge Button Icons. #46192 ->Prefs Panel title has proper background now. #17926 -> Using px instead of pt for fonts on Mac classic now. #47290 -> Removed border from content in navigator.css and added it to splitters. (for all checkins in past 20 min) r=andrew
git-svn-id: svn://10.0.0.236/trunk@75461 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:46:17 +00:00
pinkerton%netscape.com
82156229ea part of fix for 37412, make content area accept text/x-moz-url flavor.
git-svn-id: svn://10.0.0.236/trunk@75460 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:46:05 +00:00
pinkerton%netscape.com
56fa3c56a7 Fix for 40890, pin mouse to center of translucent drag to avoid large gaps between the mouse cursor and the item being dragged. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@75459 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:43:28 +00:00
nbhatla%netscape.com
31a3863127 Bug #46519 -> Mac Classic Skin Polish. Fixes Messenger Icons.
git-svn-id: svn://10.0.0.236/trunk@75458 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:40:20 +00:00
nbhatla%netscape.com
7695cc70c3 Bug #46519 -> Mac Classic Skin Polish. Fixes Messenger Icons
git-svn-id: svn://10.0.0.236/trunk@75457 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:39:28 +00:00
nbhatla%netscape.com
9a5aa02bd4 Bug #46519 ->Mac Classic Skin Polish. Fixes Messenger Icons.
git-svn-id: svn://10.0.0.236/trunk@75456 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:38:28 +00:00
nbhatla%netscape.com
90de762c34 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@75455 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:36:12 +00:00
nbhatla%netscape.com
b040ebf047 Bug #46519: Mac Classic Skin Fixes. This fixes spacing issues in certain pref panels, by moving out style settings in the XUL. Bug #46178: Adds nudge button icons
git-svn-id: svn://10.0.0.236/trunk@75454 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:34:53 +00:00
nbhatla%netscape.com
f1dd086215 Bug #46519: Mac Classic Skin Polish. Fixes color picker widget in viewing messages pref panel.
git-svn-id: svn://10.0.0.236/trunk@75453 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:32:53 +00:00
mcafee%netscape.com
078a50ae4e Removing pref-diskspace.xul from mailnews prefs, this UI has moved over to account setup arena. r=alecf
git-svn-id: svn://10.0.0.236/trunk@75452 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:31:57 +00:00
mscott%netscape.com
35903c5428 Bug #47240 --> landing branch change to the tip. helper app dialog has no text on the mac
r=alecf


git-svn-id: svn://10.0.0.236/trunk@75451 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:30:39 +00:00
mscott%netscape.com
a19c629a9b Bug #47240 --> landing branch change to the tip. helper app dialog has no text on the mac
git-svn-id: svn://10.0.0.236/trunk@75450 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:29:35 +00:00
mscott%netscape.com
a9110f7072 Bug #47248 --> various problems with save as dialog from helper app. unload handler was calling cancel and we
weren't setting the action to saveToDisk in the right case

Landing branch changes to the tip.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@75449 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:27:17 +00:00
mscott%netscape.com
1a89e07ec3 Bug #1549 --> netcenter account merges with existing account Landing branch changes to the tip.
r=bhuvan


git-svn-id: svn://10.0.0.236/trunk@75448 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:26:09 +00:00
bryner%uiuc.edu
7c6dba14fb removed files: mozilla/layout/xul/base/src/nsTreeOuterFrame.cpp, mozilla/layout/xul/base/src/nsTreeFrame.cpp, mozilla/layout/xul/base/src/nsTreeRowGroupFrame.cpp, mozilla/layout/xul/base/src/nsTreeCellFrame.cpp, mozilla/layout/xul/base/src/nsTreeRowFrame.cpp
git-svn-id: svn://10.0.0.236/trunk@75447 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:23:55 +00:00
bryner%uiuc.edu
b298446991 Refixing bug 23140 to not cause a menu slowdown, and fixing bug 46615 -
removal of old tree widget.  r=hyatt.


git-svn-id: svn://10.0.0.236/trunk@75446 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:22:36 +00:00
jj%netscape.com
81eb1f5b80 modify xptlink.pl to work on mac (granrose). r=jj.
git-svn-id: svn://10.0.0.236/trunk@75444 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-03 00:07:00 +00:00
despotdaemon%netscape.com
a28173503a Pseudo-automatic update of changes made by kandrot@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@75443 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 23:39:36 +00:00
av%netscape.com
289e4953d8 Fixing Unix redness
git-svn-id: svn://10.0.0.236/trunk@75442 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 23:36:30 +00:00
attinasi%netscape.com
28857f7ccf New weekly data: not part of build
git-svn-id: svn://10.0.0.236/trunk@75441 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 23:28:11 +00:00
waldemar%netscape.com
3227d375c5 Made link order consistent
git-svn-id: svn://10.0.0.236/trunk@75440 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 23:09:53 +00:00
waldemar%netscape.com
e2aaf776e5 Fixed Mac errors and warnings
git-svn-id: svn://10.0.0.236/trunk@75439 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 23:09:29 +00:00
av%netscape.com
4a24980381 Fixing 45895, r=waterson
git-svn-id: svn://10.0.0.236/trunk@75437 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 23:01:35 +00:00
rods%netscape.com
c936b8f011 backing out changes until I get them all in
git-svn-id: svn://10.0.0.236/trunk@75436 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:59:45 +00:00
slamm%netscape.com
fc5c276171 Fix bug 15204/38057 from Eric Pollmann (pollmann@netscape.com). $enc had an single quote in it that was not escaped. Double quotes are escaped so it is safe to use them around the $enc value.
git-svn-id: svn://10.0.0.236/trunk@75434 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:54:03 +00:00
rods%netscape.com
a7f8784c75 if the size attr is ever evaled less than 1 then it is set to 1
b=46224, r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@75433 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:47:55 +00:00
rods%netscape.com
0598d4e64a 47302 - moved the RegUnRegAccessKey to the Destroy Method
44788 - Comboboxes do not obey style height
42661 - javascript "selected = true" doesn't inform onChange of
b=47302, 44788, 42661 r=kmclusk


git-svn-id: svn://10.0.0.236/trunk@75432 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:24:14 +00:00
rods%netscape.com
256f1f523e The frames need to be appended and the default method just asserts
b=41528 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@75431 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:16:12 +00:00
rods%netscape.com
389ee6e6a0 moved the RegUnRegAccessKey to the Destroy method
b=47302 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@75430 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:12:11 +00:00
jj%netscape.com
5052d3645f changed output location for xpt_link target
git-svn-id: svn://10.0.0.236/trunk@75429 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:12:10 +00:00
jj%netscape.com
7224e7b919 added xpt_link tool to the Mac build (if build{xptlink}=1)
git-svn-id: svn://10.0.0.236/trunk@75428 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:10:54 +00:00
nhotta%netscape.com
9792e2e21e Changed GetCharacterSet to return a default if no folder charset is stored, bug 46542, r=bienvenu.
git-svn-id: svn://10.0.0.236/trunk@75427 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:07:47 +00:00
rods%netscape.com
e0ca215d75 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@75426 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:07:46 +00:00
mjudge%netscape.com
dc427b4cd0 15665 beta3+ Javascript selecting a link when dragging.
git-svn-id: svn://10.0.0.236/trunk@75425 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:07:00 +00:00
rods%netscape.com
32f5520a8a The script notification happens before the radiobox gets a chance to change its value
so they must return the opposite value for themselves. They don't want to actually set their
values because the script could cancel. So the idea here is to let them know before the script
call that they should return their "future" value (the opposite of their current value)
b=42972 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@75424 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:06:37 +00:00
rods%netscape.com
5e504902cc The script notification happens before the radiobox gets a chance to change its value
so they must return the opposite value for themselves. They don't want to actually set their
values because the script could cancel. So the idea here is to let them know before the script
call that they should return their "future" value (the opposite of their current value)

plus I made a minor change that allows the radio button to use the PaintBackground code to draw the "dot"
but it creates a tmp color struct so the color is correct.
b=42972,37517 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@75423 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:06:33 +00:00
nhotta%netscape.com
56bf215fe0 Put a special case before alert the user for charset conversion failure, bug 42871, r=ftang.
git-svn-id: svn://10.0.0.236/trunk@75422 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:03:26 +00:00
nhotta%netscape.com
9073a301c2 A change for phone/fax field. Write out attribute and value separatly since value needs charset conversion but not for attribute, bug 38901, r=rhp.
git-svn-id: svn://10.0.0.236/trunk@75421 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 22:00:04 +00:00
cata%netscape.com
8378cc2420 Fix for bug #28112 cache not persistent in charset menu, r=nhotta, a=ftang.
git-svn-id: svn://10.0.0.236/trunk@75420 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 21:54:18 +00:00
rods%netscape.com
908046df7e Since the way (and when) options were added then number of options is now different
so it must check against zero instead of 1
b=44266,r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@75419 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 21:53:23 +00:00
dimator%netscape.com
ed7cd7c8bc Bug 34434. Updating secure mail and secure news icons. r=putterman
git-svn-id: svn://10.0.0.236/trunk@75418 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 21:52:37 +00:00
radha%netscape.com
9af9521afb fixes related to bug # 18321. Checking in branch fixes to the trunk. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@75417 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 21:49:26 +00:00
radha%netscape.com
dad1629804 Hook up JS history.go() to session History bug # 18321. r=nisheeth. Checking in branch
fix to the tip


git-svn-id: svn://10.0.0.236/trunk@75416 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 21:48:32 +00:00
varada%netscape.com
85d692989f including the CD autorun screen defaults in default config
git-svn-id: svn://10.0.0.236/trunk@75415 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 21:44:30 +00:00
despotdaemon%netscape.com
422e4c1a18 Pseudo-automatic update of changes made by jtaylor@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@75414 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 21:35:51 +00:00
av%netscape.com
9ef05d47be Fixing 46573, r=serge
git-svn-id: svn://10.0.0.236/trunk@75413 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 21:35:45 +00:00
despotdaemon%netscape.com
bb99fd6686 Pseudo-automatic update of changes made by kzhou@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@75412 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 21:26:16 +00:00
varada%netscape.com
b8328c39bd changing the location of navigator.dtd to reflect seamonkey AGAIN!
git-svn-id: svn://10.0.0.236/trunk@75411 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 21:11:20 +00:00
nelsonb%netscape.com
9a6d9ffb91 mpl_rsh now calls s_mp_div_2d instead of duplicating its logic.
mpl_lsh now calls s_mp_mul_2d instead of duplicating its logic.


git-svn-id: svn://10.0.0.236/trunk@75410 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 20:52:17 +00:00
nelsonb%netscape.com
20d8b5f447 - Implement s_mp_mul_2d, which complements s_mp_div_2d.
- Rewrite and speed up mp_sqr, most-frequently used in mp_exptmod().
- Speed up mp_sqrt by starting with a much better initial estimate.


git-svn-id: svn://10.0.0.236/trunk@75409 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 20:50:57 +00:00
nelsonb%netscape.com
81b0bae291 Accept input args in hex, not decimal. Line up output into columns.
git-svn-id: svn://10.0.0.236/trunk@75408 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 20:48:28 +00:00
nelsonb%netscape.com
9ba046bc86 Declare s_mp_mul_2d(), which is complementary to s_mp_div_2d().
git-svn-id: svn://10.0.0.236/trunk@75407 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 20:47:05 +00:00
relyea%netscape.com
0aa540096d Put modutil back into the daily builds
git-svn-id: svn://10.0.0.236/trunk@75405 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 18:42:32 +00:00
relyea%netscape.com
78434b3810 Remove old communicator stuff from libjar so modutil will build now.
git-svn-id: svn://10.0.0.236/trunk@75404 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 18:41:31 +00:00
ashuk%eng.sun.com
1d9d83e75f bug 44774, 44775
author=ashuk
r=ovk@sparc.spb.su

Minor fix for failed QA Test. Patch supplied by
Oleg.

_Ashu


git-svn-id: svn://10.0.0.236/trunk@75403 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 17:02:43 +00:00
cotter%netscape.com
4a086be75e Added latest PSM license.
git-svn-id: svn://10.0.0.236/trunk@75401 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 16:46:16 +00:00
locka%iol.ie
1abaef8da3 NOT PART OF BUILD.
New nsICommandHandler interface and C++ implementation for embedders who want their XUL to be able to call their webbrowser container with the minimum of effort.


git-svn-id: svn://10.0.0.236/trunk@75400 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 11:14:57 +00:00
rjc%netscape.com
e0e70af049 Specify query encoding string for this search engine. r=me a=johng
git-svn-id: svn://10.0.0.236/trunk@75399 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 10:47:52 +00:00
rjc%netscape.com
8a45085d44 Various small fixes for nsbeta3+ bug # 41357: enable column resigning for various trees. r=me
git-svn-id: svn://10.0.0.236/trunk@75398 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 10:31:37 +00:00
dprice%netscape.com
8e91eb2031 Adding chrome manifests for classic skin NOT IN THE BUILD
git-svn-id: svn://10.0.0.236/trunk@75397 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 10:11:17 +00:00
cls%seawood.org
2be0180151 Oops alecf missed one.
git-svn-id: svn://10.0.0.236/trunk@75396 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 09:05:12 +00:00
alecf%netscape.com
454a05dd45 fix some stupid typos (implementation was good, typing it failed :)) from yesterdays checkin
git-svn-id: svn://10.0.0.236/trunk@75394 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 07:59:17 +00:00
warren%netscape.com
5941ddaa3e Getting jar files in shape. Mostly works on unix, status bar missing (not in build yet).
git-svn-id: svn://10.0.0.236/trunk@75393 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 06:48:45 +00:00
alecf%netscape.com
a60bf10a77 fix AIX bustage with explicit casting
git-svn-id: svn://10.0.0.236/trunk@75392 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 06:02:35 +00:00
rjc%netscape.com
4500c1468d Putting fix for nsbeta2+ bug # 47126 into tip: fix simple mode searching. r=ben
git-svn-id: svn://10.0.0.236/trunk@75391 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 05:30:08 +00:00
ftang%netscape.com
a3f9b052aa fix 45430. patch proposed by beard@netscape.com r=ftang a=ftang
fix memory leak


git-svn-id: svn://10.0.0.236/trunk@75390 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 05:08:15 +00:00
waterson%netscape.com
53249a5944 Bug 46013, redux. Was leaking RDFContentSinkImpl::NameSpaceEntry objects all over the floor. Thanks to dbaron and beard for wiping my chin. r=beard.
git-svn-id: svn://10.0.0.236/trunk@75389 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 04:35:52 +00:00
ftang%netscape.com
1180663f95 fix 44551. Turn nb and nn to true from false so they will be
shown on the language ui.
r=momoi a=ftang


git-svn-id: svn://10.0.0.236/trunk@75388 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 04:22:41 +00:00
ftang%netscape.com
6e349ea58f fix bug 44551 Correct the spelling for Norwegian Bokmal
thanks for huftis@bigfoot.com (Karl Ove Hufthammer)
r=ftang@netscape.com a=ftang


git-svn-id: svn://10.0.0.236/trunk@75387 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-02 04:21:15 +00:00
422 changed files with 652 additions and 134077 deletions

View File

@@ -1,48 +0,0 @@
# This file is required for the Mac client mozilla build.
# This is a list of local files which get copied to the mozilla:dist directory
#
js.msg
jsapi.h
jsarena.h
jspubtd.h
jsarray.h
jsatom.h
jsbool.h
jsclist.h
jscntxt.h
jscompat.h
jsconfig.h
jscpucfg.h
jsdate.h
jsdbgapi.h
jsdhash.h
jsdtoa.h
jsemit.h
jsfun.h
jsgc.h
jshash.h
jsinterp.h
jslock.h
jslong.h
jsmath.h
jsnum.h
jsobj.h
jsopcode.tbl
jsopcode.h
jsosdep.h
jsotypes.h
jsparse.h
jsprf.h
jsprvtd.h
jspubtd.h
jsregexp.h
jsscan.h
jsscope.h
jsscript.h
jsstr.h
jstypes.h
jsutil.h
jsxdrapi.h

View File

@@ -1,337 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
DEPTH = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = js
LIBRARY_NAME = mozjs
DIRS = fdlibm
CSRCS = \
jsapi.c \
jsarena.c \
jsarray.c \
jsatom.c \
jsbool.c \
jscntxt.c \
jsdate.c \
jsdbgapi.c \
jsdhash.c \
jsdtoa.c \
jsemit.c \
jsexn.c \
jsfun.c \
jsgc.c \
jshash.c \
jsinterp.c \
jslock.c \
jslog2.c \
jslong.c \
jsmath.c \
jsnum.c \
jsobj.c \
jsopcode.c \
jsparse.c \
jsprf.c \
jsregexp.c \
jsscan.c \
jsscope.c \
jsscript.c \
jsstr.c \
jsutil.c \
jsxdrapi.c \
prmjtime.c \
$(NULL)
EXPORTS = \
js.msg \
jsapi.h \
jsarray.h \
jsarena.h \
jsatom.h \
jsbit.h \
jsbool.h \
jsclist.h \
jscntxt.h \
jscompat.h \
jsconfig.h \
jsdate.h \
jsdbgapi.h \
jsdhash.h \
jsemit.h \
jsfun.h \
jsgc.h \
jshash.h \
jsinterp.h \
jslock.h \
jslong.h \
jsmath.h \
jsnum.h \
jsobj.h \
jsopcode.tbl \
jsopcode.h \
jsosdep.h \
jsotypes.h \
jsparse.h \
jsprf.h \
jsprvtd.h \
jspubtd.h \
jsregexp.h \
jsscan.h \
jsscope.h \
jsscript.h \
jsstr.h \
jstypes.h \
jsutil.h \
jsxdrapi.h \
jsstddef.h \
$(NULL)
EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS))
FDLIBM_LIBRARY = fdlibm/libfdm.$(LIB_SUFFIX)
JSMATH_PRELINK = jsmathtemp.o
JS_SAFE_ARENA = 1
DASH_R = -r
include $(topsrcdir)/config/config.mk
ifeq ($(OS_ARCH),OS2)
ifneq ($(MOZ_WIDGET_TOOLKIT),os2)
ifndef XCFLAGS
OS2_IMPLIB = 1
LIBRARY = js$(MOZ_BITS)$(VERSION_NUMBER).$(LIB_SUFFIX)
DEF_FILE = jsos2$(VERSION_NUMBER).def
EXTRA_LIBS = $(NSPR_LIBS) $(LIBNSJAVA)
else
EXTRA_LIBS = $(NSPR_LIBS) $(LIBNSJAVA) libjs.lib
endif
OS_CFLAGS += -tm-
endif
endif
EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_NSPR_LIBS)
# When using gcc the assembly is inlined in the C-file (see jslock.c)
ifdef NS_USE_NATIVE
ASFILES = $(notdir $(wildcard $(srcdir)/*_$(OS_ARCH).s))
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
DEF_OBJS = jsapi.o jsarena.o jsdbgapi.o jsdhash.o jsdtoa.o jsgc.o jshash.o \
jsinterp.o jslog2.o jslong.o jsprf.o jsutil.o jsxdrapi.o prmjtime.o
#ADD_TO_DEF_FILE = cat < $(srcdir)/extradefs.os2 >>$(DEF_FILE)
endif
ifndef BUILD_OPT
MOCHAFILE = 1
endif
ifndef NSBUILDROOT
JSJAVA_STUBHEADERS = \
-I$(topsrcdir)/sun-java/include/_gen \
-I$(topsrcdir)/sun-java/netscape/javascript/_jri \
-I$(topsrcdir)/sun-java/netscape/security/_jri
else
JSJAVA_STUBHEADERS = -I$(JRI_GEN_DIR) -I$(JDK_GEN_DIR)
endif
JSJAVA_CFLAGS = \
-I$(topsrcdir)/sun-java/md-include \
-I$(topsrcdir)/sun-java/include \
$(JSJAVA_STUBHEADERS)
include $(topsrcdir)/config/rules.mk
DEFINES += -DEXPORT_JS_API
INCLUDES += -I$(srcdir)
GARBAGE += $(JSMATH_PRELINK) jscpucfg.o jsautocfg.h jsautocfg.tmp jscpucfg
TARGETS += jscpucfg$(BIN_SUFFIX)
ifdef JS_SAFE_ARENA
DEFINES += -DJS_USE_SAFE_ARENA
endif
ifdef JS_THREADSAFE
DEFINES += -DJS_THREADSAFE
endif
ifdef JS_NO_THIN_LOCKS
DEFINES += -DJS_USE_ONLY_NSPR_LOCKS
endif
ifdef JS_VERSION
DEFINES += -DJS_VERSION=$(JS_VERSION)
endif
ifneq ($(findstring -L,$(NSPR_LIBS)),)
NSPR_STATIC_PATH = $(subst -L,,$(findstring -L,$(NSPR_LIBS)))
else
NSPR_STATIC_PATH = $(DIST)/lib
endif
LDFLAGS += $(pathsubst -l%,$(NSPR_STATIC_PATH)/%.a,$(NSPR_LIBS))
# BeOS and HP-UX do not require the extra linking of "-lm"
ifeq (,$(filter BeOS HP-UX,$(OS_ARCH)))
LDFLAGS += -lm
endif
ifeq ($(OS_ARCH),FreeBSD)
LDFLAGS += -pthread
endif
ifeq ($(OS_ARCH),IRIX)
ifneq ($(basename $(OS_RELEASE)),5)
LDFLAGS += -n32
DASH_R += -n32
endif
endif
ifeq ($(OS_ARCH),Linux)
LDFLAGS += -ldl
endif
ifeq ($(OS_ARCH),OSF1)
LDFLAGS += -lc_r
endif
ifeq ($(OS_ARCH),SunOS)
ifeq ($(CPU_ARCH),sparc)
ifndef JS_NO_ULTRA
ULTRA_OPTIONS := -xarch=v8plus,-DULTRA_SPARC
ULTRA_OPTIONSCC := -DULTRA_SPARC
else
ULTRA_OPTIONS := -xarch=v8
ULTRA_OPTIONSCC :=
endif
ifeq ($(shell uname -m),sun4u)
ASFLAGS += -Wa,$(ULTRA_OPTIONS),-P,-L,-D_ASM,-D__STDC__=0 $(ULTRA_OPTIONSCC)
else
ASFLAGS += -Wa,-xarch=v8,-P,-L,-D_ASM,-D__STDC__=0
endif
endif
ifeq ($(OS_RELEASE),4.1)
LDFLAGS += -ldl -lnsl
else
LDFLAGS += -lposix4 -ldl -lnsl -lsocket
endif
endif
ifeq ($(OS_ARCH),QNX)
ifneq ($(OS_TARGET),NTO)
# Don't use wildcard here, because we only want this resolved at link time.
OBJS += fdlibm/*.o
endif
endif
# OS/2 linkers expect to create executables or dlls, not object files
# so we pull in what's needed from fdlibm when creating the js dll
ifneq ($(MOZ_WIDGET_TOOLKIT),os2)
# special rule for jsmath.o since we want to incrementally link
# against fdlibm to pull in only what is needed
jsmath.o: $(FDLIBM_LIBRARY) $(JSMATH_PRELINK)
ifeq ($(OS_ARCH),QNX)
ifneq ($(OS_TARGET),NTO)
@cp $(JSMATH_PRELINK) $@
else
$(LD) $(DASH_R) -o $@ $(JSMATH_PRELINK) $(FDLIBM_LIBRARY)
endif
else
$(LD) $(DASH_R) -o $@ $(JSMATH_PRELINK) $(FDLIBM_LIBRARY)
endif
$(JSMATH_PRELINK): jsmath.c
ifeq ($(OS_ARCH),WINNT)
$(CC) -Fo$@ -c $(CFLAGS) $<
else
$(CC) -o $@ -c $(COMPILE_CFLAGS) $<
endif
endif
# An AIX Optimization bug causes PR_dtoa() & JS_dtoa to produce wrong result.
# This suppresses optimization for this single compilation unit.
ifeq ($(OS_ARCH),AIX)
jsdtoa.o: jsdtoa.c
$(CC) -o $@ -c $(filter-out -O, $(COMPILE_CFLAGS)) $<
endif
$(FDLIBM_LIBRARY):
@$(CONTINUE_ON_ERROR) \
$(MAKE) -C $(@D) $(@F); \
$(EXIT_ON_ERROR)
jsopcode.h jsopcode.c: jsopcode.tbl
jsautocfg.h: jscpucfg$(BIN_SUFFIX)
@rm -f $@ jsautocfg.tmp
./jscpucfg > jsautocfg.tmp
mv jsautocfg.tmp $@
# jscpucfg is a strange target
# Needs to be built with the host compiler but needs to include
# the mdcpucfg for the target so it needs the appropriate target defines
ifdef HOST_NSPR_MDCPUCFG
HOST_CC := $(HOST_CC) -DMDCPUCFG=$(TARGET_NSPR_MDCPUCFG)
endif
ifeq ($(OS_ARCH),QNX)
ifneq ($(OS_TARGET),NTO)
# QNX's compiler apparently can't build a binary directly from a source file.
jscpucfg.o: jscpucfg.c
$(HOST_CC) $(HOST_CFLAGS) -c $(DEFINES) $(NSPR_CFLAGS) -o $@ $<
jscpucfg: jscpucfg.o
$(HOST_CC) $(HOST_CFLAGS) $(DEFINES) -o $@ $<
endif
else
jscpucfg$(BIN_SUFFIX): jscpucfg.c
ifeq ($(MOZ_OS2_TOOLS),VACPP)
$(HOST_CC) $(HOST_CFLAGS) $(DEFINES) $(NSPR_CFLAGS) /Fe$@ $<
else
$(HOST_CC) $(HOST_CFLAGS) $(DEFINES) $(NSPR_CFLAGS) -o $@ $<
endif
endif
export:: jsautocfg.h
$(INSTALL) -m 444 $< $(PUBLIC)

View File

@@ -1,344 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
# Michael Ang <mang@subcarrier.org>
#
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
# JSRef GNUmake makefile.
#
DEPTH = .
include config.mk
#NS_USE_NATIVE = 1
ifdef USE_MSVC
OTHER_LIBS += fdlibm/$(OBJDIR)/fdlibm.lib
else
OTHER_LIBS += -Lfdlibm/$(OBJDIR) -lfdm
endif
ifdef JS_THREADSAFE
DEFINES += -DJS_THREADSAFE
INCLUDES += -I../../dist/$(OBJDIR)/include
ifdef USE_MSVC
OTHER_LIBS += ../../dist/$(OBJDIR)/lib/libnspr3.lib
else
OTHER_LIBS += -L../../dist/$(OBJDIR)/lib -lnspr3
endif
endif
ifdef JS_NO_THIN_LOCKS
DEFINES += -DJS_USE_ONLY_NSPR_LOCKS
endif
ifdef JS_HAS_FILE_OBJECT
DEFINES += -DJS_HAS_FILE_OBJECT
endif
#
# XCFLAGS may be set in the environment or on the gmake command line
#
CFLAGS += $(OPTIMIZER) $(OS_CFLAGS) $(DEFINES) $(INCLUDES) $(XCFLAGS)
LDFLAGS = $(XLDFLAGS)
ifndef NO_LIBM
LDFLAGS += -lm
endif
#
# Ask perl what flags it was built with, so we can build js with similar flags
# and link properly. Viva gmake.
#
ifdef JS_PERLCONNECT
DEFINES += -DPERLCONNECT -D_GNU_SOURCE
PERLCFLAGS := $(shell perl -MExtUtils::Embed -e ccopts)
PERLLDFLAGS := $(shell perl -MExtUtils::Embed -e ldopts)
# perl erroneously reports compiler flag -rdynamic (interpreted by ld
# as -r) when it really meant -export-dynamic.
PERLLDFLAGS := $(subst -rdynamic,-export-dynamic,$(PERLLDFLAGS))
CFLAGS += $(PERLCFLAGS)
LDFLAGS += $(PERLLDFLAGS)
endif
#
# Server-related changes :
#
ifdef NES40
DEFINES += -DNES40
endif
#
# Line editing support.
# Define JS_READLINE or JS_EDITLINE to enable line editing in the
# js command-line interpreter.
#
ifdef JS_READLINE
# For those platforms with the readline library installed.
DEFINES += -DEDITLINE
PROG_LIBS += -lreadline
else
ifdef JS_EDITLINE
# Use the editline library, built locally.
PREDIRS += editline
DEFINES += -DEDITLINE
PROG_LIBS += -Leditline/$(OBJDIR) -ledit
endif
endif
# For purify
PURE_CFLAGS = -DXP_UNIX $(OPTIMIZER) $(PURE_OS_CFLAGS) $(DEFINES) \
$(INCLUDES) $(XCFLAGS)
#
# JS file lists
#
JS_HFILES = \
jsarray.h \
jsatom.h \
jsbool.h \
jsconfig.h \
jscntxt.h \
jsdate.h \
jsemit.h \
jsexn.h \
jsfun.h \
jsgc.h \
jsinterp.h \
jslibmath.h \
jslock.h \
jsmath.h \
jsnum.h \
jsobj.h \
jsopcode.h \
jsparse.h \
jsarena.h \
jsclist.h \
jsdtoa.h \
jshash.h \
jslong.h \
jsosdep.h \
jstypes.h \
jsprvtd.h \
jspubtd.h \
jsregexp.h \
jsscan.h \
jsscope.h \
jsscript.h \
jsstr.h \
jsxdrapi.h \
$(NULL)
API_HFILES = \
jsapi.h \
jsdbgapi.h \
$(NULL)
OTHER_HFILES = \
jsbit.h \
jscompat.h \
jscpucfg.h \
jsotypes.h \
jsstddef.h \
prmjtime.h \
resource.h \
jsopcode.tbl \
js.msg \
jsshell.msg \
$(NULL)
ifndef PREBUILT_CPUCFG
OTHER_HFILES += $(OBJDIR)/jsautocfg.h
endif
HFILES = $(JS_HFILES) $(API_HFILES) $(OTHER_HFILES)
JS_CFILES = \
jsapi.c \
jsarena.c \
jsarray.c \
jsatom.c \
jsbool.c \
jscntxt.c \
jsdate.c \
jsdbgapi.c \
jsdtoa.c \
jsemit.c \
jsexn.c \
jsfun.c \
jsgc.c \
jshash.c \
jsinterp.c \
jslock.c \
jslog2.c \
jslong.c \
jsmath.c \
jsnum.c \
jsobj.c \
jsopcode.c \
jsparse.c \
jsprf.c \
jsregexp.c \
jsscan.c \
jsscope.c \
jsscript.c \
jsstr.c \
jsutil.c \
jsxdrapi.c \
prmjtime.c \
$(NULL)
PREDIRS += fdlibm
ifdef USE_MSVC
FDLIBM_LIBRARY = fdlibm/$(OBJDIR)/fdlibm.lib
else
FDLIBM_LIBRARY = fdlibm/$(OBJDIR)/libfdm.a
endif
JSMATH_PRELINK = $(OBJDIR)/jsmathtemp.o
# Flag for incremental linking
DASH_R = -r
ifeq ($(OS_ARCH),QNX)
ifneq ($(OS_TARGET),NTO)
# Don't use wildcard here, because we only want this resolved at link time.
OBJS += fdlibm/*.o
endif
endif
ifdef JS_LIVECONNECT
DIRS += liveconnect
endif
ifdef JS_PERLCONNECT
JS_CFILES += perlconnect/jsperl.c
endif
ifdef JS_HAS_FILE_OBJECT
JS_CFILES += jsfile.c
JS_HFILES += jsfile.h
endif
LIB_CFILES = $(JS_CFILES)
LIB_ASFILES := $(wildcard *_$(OS_ARCH).s)
PROG_CFILES = js.c
ifdef USE_MSVC
LIBRARY = $(OBJDIR)/js32.lib
SHARED_LIBRARY = $(OBJDIR)/js32.dll
PROGRAM = $(OBJDIR)/js.exe
else
LIBRARY = $(OBJDIR)/libjs.a
SHARED_LIBRARY = $(OBJDIR)/libjs.$(SO_SUFFIX)
PROGRAM = $(OBJDIR)/js
endif
include rules.mk
MOZ_DEPTH = ../..
include jsconfig.mk
nsinstall-target:
cd ../../config; $(MAKE) OBJDIR=$(OBJDIR) OBJDIR_NAME=$(OBJDIR)
ifdef USE_MSVC
$(PROGRAM): $(PROG_OBJS) $(LIBRARY) $(FDLIBM_LIBRARY)
link.exe -out:"$@" $(EXE_LINK_FLAGS) $^
else
$(PROGRAM): $(PROG_OBJS) $(LIBRARY) $(FDLIBM_LIBRARY)
$(CC) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) $(OTHER_LIBS) \
$(PROG_LIBS)
endif
$(PROGRAM).pure: $(PROG_OBJS) $(LIBRARY)
purify $(PUREFLAGS) \
$(CC) -o $@ $(PURE_OS_CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS) \
$(OTHER_LIBS) $(PROG_LIBS)
ifndef PREBUILT_CPUCFG
$(HFILES) $(CFILES): $(OBJDIR)/jsautocfg.h
$(OBJDIR)/jsautocfg.h: $(OBJDIR)/jscpucfg
rm -f $@
$(OBJDIR)/jscpucfg > $@
$(OBJDIR)/jscpucfg: $(OBJDIR)/jscpucfg.o
$(CC) -o $@ $(OBJDIR)/jscpucfg.o
# Look in OBJDIR to find jsautocfg.h
INCLUDES += -I$(OBJDIR)
# Add to TARGETS for clobber rule
TARGETS += $(OBJDIR)/jsautocfg.h $(OBJDIR)/jscpucfg $(OBJDIR)/jscpucfg.o
endif
# special rule for jsmath.o since we want to incrementally link
# against fdlibm to pull in only what is needed
$(OBJDIR)/jsmath.o: $(FDLIBM_LIBRARY) $(JSMATH_PRELINK)
ifeq ($(OS_ARCH),QNX)
ifneq ($(OS_TARGET),NTO)
@cp $(JSMATH_PRELINK) $@
else
$(LD) $(DASH_R) -o $@ $(JSMATH_PRELINK) $(FDLIBM_LIBRARY)
endif
else
ifdef USE_MSVC
@echo Warning: to use $(LIBRARY) must also link against $(FDLIBM_LIBRARY)
@cp $(JSMATH_PRELINK) $@
endif
$(LD) $(DASH_R) -o $@ $(JSMATH_PRELINK) $(FDLIBM_LIBRARY)
endif
$(JSMATH_PRELINK): jsmath.c
ifneq (,$(filter OS2 WINNT,$(OS_ARCH)))
$(CC) -Fo$@ -c $(CFLAGS) $<
else
$(CC) -o $@ -c $(CFLAGS) $<
endif
#
# Hardwire dependencies on jsopcode.tbl
#
jsopcode.h jsopcode.c: jsopcode.tbl
-include $(DEPENDENCIES)
TARNAME = jsref.tar
TARFILES = files `cat files`
SUFFIXES: .i
%.i: %.c
$(CC) -C -E $(CFLAGS) $< > $*.i

View File

@@ -1,804 +0,0 @@
<!--
- The contents of this file are subject to the Netscape Public
- License Version 1.1 (the "License"); you may not use this file
- except in compliance with the License. You may obtain a copy of
- the License at http://www.mozilla.org/NPL/
-
- Software distributed under the License is distributed on an "AS
- IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- implied. See the License for the specific language governing
- rights and limitations under the License.
-
- The Original Code is Mozilla Communicator client code, released
- March 31, 1998.
-
- The Initial Developer of the Original Code is Netscape
- Communications Corporation. Portions created by Netscape are
- Copyright (C) 1998-1999 Netscape Communications Corporation. All
- Rights Reserved.
-
- Contributor(s):
-
- Alternatively, the contents of this file may be used under the
- terms of the GNU Public License (the "GPL"), in which case the
- provisions of the GPL are applicable instead of those above.
- If you wish to allow use of your version of this file only
- under the terms of the GPL and not to allow others to use your
- version of this file under the NPL, indicate your decision by
- deleting the provisions above and replace them with the notice
- and other provisions required by the GPL. If you do not delete
- the provisions above, a recipient may use your version of this
- file under either the NPL or the GPL.
-->
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; I) [Netscape]">
<title>JavaScript Reference Implementation (JSRef) README</title>
</head>
<body>
<h2>
Table of Contents</h2>
<ul>
<li>
<a href="#Introduction">Introduction</a></li>
<li>
<a href="#Build">Build conventions (standalone JS engine and shell)</a></li>
<li>
<a href="#Debugging">Debugging notes</a></li>
<li>
<a href="#Conventions">Naming and coding conventions</a></li>
<li>
<a href="#JSAPI">Using the JS API</a></li>
<li>
<a href="#Design">Design walk-through</a></li>
<li>
<a href="#Resources">Additional Resources (links, API docs, and newsgroups)</a></li>
</ul>
<h2>
<a NAME="Introduction"></a>Introduction</h2>
This is the README file for the&nbsp;<span CLASS=LXRSHORTDESC>JavaScript
Reference (JSRef) implementation.</span> It consists of build conventions
and instructions, source code conventions, a design walk-through, and a
brief file-by-file description of the source.
<p><span CLASS=LXRLONGDESC>JSRef builds a library or DLL containing the
JavaScript runtime (compiler, interpreter, decompiler, garbage collector,
atom manager, standard classes). It then compiles a small "shell" program
and links that with the library to make an interpreter that can be used
interactively and with test .js files to run scripts.&nbsp; The code has
no dependencies on the Navigator code.</span>
<p><i>Quick start tip</i>: skip to "Using the JS API" below, build the
js shell, and play with the object named "it" (start by setting 'it.noisy
= true').
<h2>
<a NAME="Build"></a>Build conventions (standalone JS engine and shell)</h2>
These build directions refer only to building the standalone JavaScript
engine and shell.&nbsp; To build within the browser, refer to the <a href="http://www.mozilla.org/docs/">build
directions</a> on the mozilla.org website.
<p>By default, all platforms build a version of the JS engine that is <i>not</i>
threadsafe.&nbsp; If you require thread-safety, you must also populate
the <tt>mozilla/dist</tt> directory with <a href="http://www.mozilla.org/docs/tplist/catCode/nsprdesc.htm">NSPR</a>
headers and libraries.&nbsp; (NSPR implements a portable threading library,
among other things.&nbsp; The source is downloadable via <a href="http://www.mozilla.org/cvs.html">CVS</a>
from <tt><a href="http://lxr.mozilla.org/mozilla/source/nsprpub">mozilla/nsprpub</a></tt>.)&nbsp;
Next, you must define <tt>JS_THREADSAFE</tt> when building the JS engine,
either on the command-line (gmake/nmake) or in a universal header file.
<h3>
Windows</h3>
<ul>
<li>
Use MSVC 4.2 or 5.0.</li>
<li>
For building from the IDE use <tt>js/src/js.mdp</tt>.&nbsp; (<tt>js.mdp</tt>
is an MSVC4.2 project file, but if you load it into MSVC5, it will be converted
to the newer project file format.)&nbsp; <font color="#CC0000">NOTE: makefile.win
is an nmake file used only for building the JS-engine in the Mozilla browser.&nbsp;
Don't attempt to use it to build the standalone JS-engine.</font></li>
<li>
If you prefer to build from the command-line, use '<tt>nmake -f js.mak</tt>'</li>
<li>
Executable shell <tt>js.exe</tt> and runtime library <tt>js32.dll</tt>
are created in either <tt>js/src/Debug</tt> or <tt>js/src/Release</tt>.</li>
</ul>
<h3>
Macintosh</h3>
<ul>
<li>
Use CodeWarrior 3.x</li>
<li>
Load the project file <tt>js:src:macbuild:JSRef.mcp </tt>and select "Make"
from the menu.</li>
</ul>
<h3>
Unix</h3>
<ul>
<li>
Use '<tt>gmake -f Makefile.ref</tt>' to build. To compile optimized code,
pass <tt>BUILD_OPT=1</tt> on the gmake command line or preset it in the
environment or <tt>Makefile.ref</tt>.&nbsp; <font color="#CC0000">NOTE:
Do not attempt to use Makefile to build the standalone JavaScript engine.&nbsp;
This file is used only for building the JS-engine in the Mozilla browser.</font></li>
<li>
<font color="#000000">Each platform on which JS is built must have a <tt>*.mk</tt>
configuration file in the <tt>js/src/config</tt> directory.&nbsp; The configuration
file specifies the compiler/linker to be used and allows for customization
of command-line options.&nbsp; To date, the build system has been tested
on Solaris, AIX, HP/UX, OSF, IRIX, x86 Linux and Windows NT.</font></li>
<li>
<font color="#000000">Most platforms will work with either the vendor compiler
</font>or
<a href="ftp://prep.ai.mit.edu/pub/gnu">gcc</a>.&nbsp;
(Except that HP builds only work using the native compiler.&nbsp; gcc won't
link correctly with shared libraries on that platform.&nbsp; If someone
knows a way to fix this, <a href="mailto:wynholds@netscape.com">let us
know</a>.)</li>
<li>
<font color="#000000">If you define <tt>JS_LIVECONNECT</tt>, gmake will
descend into the liveconnect directory and build
<a href="http://lxr.mozilla.org/mozilla/source/js/src/liveconnect/README.html">LiveConnect</a>
after building the JS engine.</font></li>
<li>
To build a binary drop (a zip'ed up file of headers, libraries, binaries),
check out <tt>mozilla/config</tt> and <tt>mozilla/nsprpub/config</tt>.&nbsp;
Use '<tt>gmake -f Makefile.ref nsinstall-target all export ship</tt>'</li>
</ul>
<h2>
<a NAME="Debugging"></a>Debugging notes</h2>
<ul>
<li>
To turn on GC instrumentation, define <tt>JS_GCMETER</tt>.</li>
<li>
To turn on the arena package's instrumentation, define <tt>JS_ARENAMETER</tt>.</li>
<li>
To turn on the hash table package's metering, define <tt>JS_HASHMETER</tt>.</li>
</ul>
<h2>
<a NAME="Conventions"></a>Naming and coding conventions</h2>
<ul>
<li>
Public function names begin with <tt>JS_</tt> followed by capitalized "intercaps",
e.g. <tt>JS_NewObject</tt>.</li>
<li>
Extern but library-private function names use a <tt>js_</tt> prefix and
mixed case, e.g. <tt>js_LookupSymbol</tt>.</li>
<li>
Most static function names have unprefixed, mixed-case names: <tt>GetChar</tt>.</li>
<li>
But static native methods of JS objects have lowercase, underscore-separated
or intercaps names, e.g., <tt>str_indexOf</tt>.</li>
<li>
And library-private and static data use underscores, not intercaps (but
library-private data do use a <tt>js_</tt> prefix).</li>
<li>
Scalar type names are lowercase and js-prefixed: <tt>jsdouble</tt>.</li>
<li>
Aggregate type names are JS-prefixed and mixed-case: <tt>JSObject.</tt></li>
<li>
Macros are generally <tt>ALL_CAPS </tt>and underscored, to call out potential
side effects, multiple uses of a formal argument, etc. - Four spaces of
indentation per statement nesting level.</li>
<li>
Tabs are taken to be eight spaces, and an Emacs magic comment at the top
of each file tries to help. If you're using MSVC or similar, you'll want
to set tab width to 8, or convert these files to be space-filled.</li>
<li>
DLL entry points have their return type expanded within a <tt>JS_PUBLIC_API()</tt>
macro call, to get the right Windows secret type qualifiers in the right
places for both 16- and 32-bit builds.</li>
<li>
Callback functions that might be called from a DLL are similarly macroized
with <tt>JS_STATIC_DLL_CALLBACK</tt> (if the function otherwise would be
static to hide its name) or <tt>JS_DLL_CALLBACK</tt> (this macro takes
no type argument; it should be used after the return type and before the
function name).</li>
</ul>
<h2>
<a NAME="JSAPI"></a>Using the JS API</h2>
<h4>
Starting up</h4>
<pre><tt>&nbsp;&nbsp;&nbsp; /*
&nbsp;&nbsp;&nbsp;&nbsp; * Tune this to avoid wasting space for shallow stacks, while saving on
&nbsp;&nbsp;&nbsp;&nbsp; * malloc overhead/fragmentation for deep or highly-variable stacks.
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; #define STACK_CHUNK_SIZE&nbsp;&nbsp;&nbsp; 8192
&nbsp;&nbsp;&nbsp; JSRuntime *rt;
&nbsp;&nbsp;&nbsp; JSContext *cx;
&nbsp;&nbsp;&nbsp; /* You need a runtime and one or more contexts to do anything with JS. */
&nbsp;&nbsp;&nbsp; rt = JS_Init(1000000L);
&nbsp;&nbsp;&nbsp; if (!rt)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fail("can't create JavaScript runtime");
&nbsp;&nbsp;&nbsp; cx = JS_NewContext(rt, STACK_CHUNK_SIZE);
&nbsp;&nbsp;&nbsp; if (!cx)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fail("can't create JavaScript context");
&nbsp;&nbsp;&nbsp; /*
&nbsp;&nbsp;&nbsp;&nbsp; * The context definitely wants a global object, in order to have standard
&nbsp;&nbsp;&nbsp;&nbsp; * classes and functions like Date and parseInt.&nbsp; See below for details on
&nbsp;&nbsp;&nbsp;&nbsp; * JS_NewObject.
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; JSObject *globalObj;
&nbsp;&nbsp;&nbsp; globalObj = JS_NewObject(cx, &amp;my_global_class, 0, 0);
&nbsp;&nbsp;&nbsp; JS_InitStandardClasses(cx, globalObj);</tt></pre>
<h4>
Defining objects and properties</h4>
<pre><tt>&nbsp;&nbsp;&nbsp; /* Statically initialize a class to make "one-off" objects. */
&nbsp;&nbsp;&nbsp; JSClass my_class = {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "MyClass",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* All of these can be replaced with the corresponding JS_*Stub
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function pointers. */
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my_addProperty, my_delProperty, my_getProperty, my_setProperty,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my_enumerate,&nbsp;&nbsp; my_resolve,&nbsp;&nbsp;&nbsp;&nbsp; my_convert,&nbsp;&nbsp;&nbsp;&nbsp; my_finalize
&nbsp;&nbsp;&nbsp; };
&nbsp;&nbsp;&nbsp; JSObject *obj;
&nbsp;&nbsp;&nbsp; /*
&nbsp;&nbsp;&nbsp;&nbsp; * Define an object named in the global scope that can be enumerated by
&nbsp;&nbsp;&nbsp;&nbsp; * for/in loops.&nbsp; The parent object is passed as the second argument, as
&nbsp;&nbsp;&nbsp;&nbsp; * with all other API calls that take an object/name pair.&nbsp; The prototype
&nbsp;&nbsp;&nbsp;&nbsp; * passed in is null, so the default object prototype will be used.
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; obj = JS_DefineObject(cx, globalObj, "myObject", &amp;my_class, 0,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JSPROP_ENUMERATE);
&nbsp;&nbsp;&nbsp; /*
&nbsp;&nbsp;&nbsp;&nbsp; * Define a bunch of properties with a JSPropertySpec array statically
&nbsp;&nbsp;&nbsp;&nbsp; * initialized and terminated with a null-name entry.&nbsp; Besides its name,
&nbsp;&nbsp;&nbsp;&nbsp; * each property has a "tiny" identifier (MY_COLOR, e.g.) that can be used
&nbsp;&nbsp;&nbsp;&nbsp; * in switch statements (in a common my_getProperty function, for example).
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; enum my_tinyid {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MY_COLOR, MY_HEIGHT, MY_WIDTH, MY_FUNNY, MY_ARRAY, MY_RDONLY
&nbsp;&nbsp;&nbsp; };
&nbsp;&nbsp;&nbsp; static JSPropertySpec my_props[] = {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"color",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MY_COLOR,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JSPROP_ENUMERATE},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"height",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MY_HEIGHT,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JSPROP_ENUMERATE},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"width",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MY_WIDTH,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JSPROP_ENUMERATE},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"funny",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MY_FUNNY,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JSPROP_ENUMERATE},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"array",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MY_ARRAY,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JSPROP_ENUMERATE},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"rdonly",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MY_RDONLY,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JSPROP_READONLY},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {0}
&nbsp;&nbsp;&nbsp; };
&nbsp;&nbsp;&nbsp; JS_DefineProperties(cx, obj, my_props);
&nbsp;&nbsp;&nbsp; /*
&nbsp;&nbsp;&nbsp;&nbsp; * Given the above definitions and call to JS_DefineProperties, obj will
&nbsp;&nbsp;&nbsp;&nbsp; * need this sort of "getter" method in its class (my_class, above).&nbsp; See
&nbsp;&nbsp;&nbsp;&nbsp; * the example for the "It" class in js.c.
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; static JSBool
&nbsp;&nbsp;&nbsp; my_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (JSVAL_IS_INT(id)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch (JSVAL_TO_INT(id)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case MY_COLOR:&nbsp; *vp = . . .; break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case MY_HEIGHT: *vp = . . .; break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case MY_WIDTH:&nbsp; *vp = . . .; break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case MY_FUNNY:&nbsp; *vp = . . .; break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case MY_ARRAY:&nbsp; *vp = . . .; break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case MY_RDONLY: *vp = . . .; break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return JS_TRUE;
&nbsp;&nbsp;&nbsp; }</tt></pre>
<h4>
Defining functions</h4>
<pre><tt>&nbsp;&nbsp;&nbsp; /* Define a bunch of native functions first: */
&nbsp;&nbsp;&nbsp; static JSBool
&nbsp;&nbsp;&nbsp; my_abs(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jsdouble x, z;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!JS_ValueToNumber(cx, argv[0], &amp;x))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return JS_FALSE;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; z = (x &lt; 0) ? -x : x;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return JS_NewDoubleValue(cx, z, rval);
&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp; . . .
&nbsp;&nbsp;&nbsp; /*
&nbsp;&nbsp;&nbsp;&nbsp; * Use a JSFunctionSpec array terminated with a null name to define a
&nbsp;&nbsp;&nbsp;&nbsp; * bunch of native functions.
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; static JSFunctionSpec my_functions[] = {
&nbsp;&nbsp;&nbsp; /*&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; native&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nargs&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"abs",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my_abs,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"acos",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my_acos,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {"asin",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my_asin,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . . .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {0}
&nbsp;&nbsp;&nbsp; };
&nbsp;&nbsp;&nbsp; /*
&nbsp;&nbsp;&nbsp;&nbsp; * Pass a particular object to define methods for it alone.&nbsp; If you pass
&nbsp;&nbsp;&nbsp;&nbsp; * a prototype object, the methods will apply to all instances past and
&nbsp;&nbsp;&nbsp;&nbsp; * future of the prototype's class (see below for classes).
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; JS_DefineFunctions(cx, globalObj, my_functions);</tt></pre>
<h4>
Defining classes</h4>
<pre><tt>&nbsp;&nbsp;&nbsp; /*
&nbsp;&nbsp;&nbsp;&nbsp; * This pulls together the above API elements by defining a constructor
&nbsp;&nbsp;&nbsp;&nbsp; * function, a prototype object, and properties of the prototype and of
&nbsp;&nbsp;&nbsp;&nbsp; * the constructor, all with one API call.
&nbsp;&nbsp;&nbsp;&nbsp; *
&nbsp;&nbsp;&nbsp;&nbsp; * Initialize a class by defining its constructor function, prototype, and
&nbsp;&nbsp;&nbsp;&nbsp; * per-instance and per-class properties.&nbsp; The latter are called "static"
&nbsp;&nbsp;&nbsp;&nbsp; * below by analogy to Java.&nbsp; They are defined in the constructor object's
&nbsp;&nbsp;&nbsp;&nbsp; * scope, so that 'MyClass.myStaticProp' works along with 'new MyClass()'.
&nbsp;&nbsp;&nbsp;&nbsp; *
&nbsp;&nbsp;&nbsp;&nbsp; * JS_InitClass takes a lot of arguments, but you can pass null for any of
&nbsp;&nbsp;&nbsp;&nbsp; * the last four if there are no such properties or methods.
&nbsp;&nbsp;&nbsp;&nbsp; *
&nbsp;&nbsp;&nbsp;&nbsp; * Note that you do not need to call JS_InitClass to make a new instance of
&nbsp;&nbsp;&nbsp;&nbsp; * that class -- otherwise there would be a chicken-and-egg problem making
&nbsp;&nbsp;&nbsp;&nbsp; * the global object -- but you should call JS_InitClass if you require a
&nbsp;&nbsp;&nbsp;&nbsp; * constructor function for script authors to call via new, and/or a class
&nbsp;&nbsp;&nbsp;&nbsp; * prototype object ('MyClass.prototype') for authors to extend with new
&nbsp;&nbsp;&nbsp;&nbsp; * properties at run-time.
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; protoObj = JS_InitClass(cx, globalObj, NULL, &amp;my_class,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* native constructor function and min arg count */
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyClass, 0,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* prototype object properties and methods -- these
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; will be "inherited" by all instances through
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delegation up the instance's prototype link. */
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my_props, my_methods,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* class constructor properties and methods */
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my_static_props, my_static_methods);</tt></pre>
<h4>
Running scripts</h4>
<pre><tt>&nbsp;&nbsp;&nbsp; /* These should indicate source location for diagnostics. */
&nbsp;&nbsp;&nbsp; char *filename;
&nbsp;&nbsp;&nbsp; uintN lineno;
&nbsp;&nbsp;&nbsp; /*
&nbsp;&nbsp;&nbsp;&nbsp; * The return value comes back here -- if it could be a GC thing, you must
&nbsp;&nbsp;&nbsp;&nbsp; * add it to the GC's "root set" with JS_AddRoot(cx, &amp;thing) where thing
&nbsp;&nbsp;&nbsp;&nbsp; * is a JSString *, JSObject *, or jsdouble *, and remove the root before
&nbsp;&nbsp;&nbsp;&nbsp; * rval goes out of scope, or when rval is no longer needed.
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; jsval rval;
&nbsp;&nbsp;&nbsp; JSBool ok;
&nbsp;&nbsp;&nbsp; /*
&nbsp;&nbsp;&nbsp;&nbsp; * Some example source in a C string.&nbsp; Larger, non-null-terminated buffers
&nbsp;&nbsp;&nbsp;&nbsp; * can be used, if you pass the buffer length to JS_EvaluateScript.
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; char *source = "x * f(y)";
&nbsp;&nbsp;&nbsp; ok = JS_EvaluateScript(cx, globalObj, source, strlen(source),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filename, lineno, &amp;rval);
&nbsp;&nbsp;&nbsp; if (ok) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Should get a number back from the example source. */
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jsdouble d;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok = JS_ValueToNumber(cx, rval, &amp;d);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . . .
&nbsp;&nbsp;&nbsp; }</tt></pre>
<h4>
Calling functions</h4>
<pre><tt>&nbsp;&nbsp;&nbsp; /* Call a global function named "foo" that takes no arguments. */
&nbsp;&nbsp;&nbsp; ok = JS_CallFunctionName(cx, globalObj, "foo", 0, 0, &amp;rval);
&nbsp;&nbsp;&nbsp; jsval argv[2];
&nbsp;&nbsp;&nbsp; /* Call a function in obj's scope named "method", passing two arguments. */
&nbsp;&nbsp;&nbsp; argv[0] = . . .;
&nbsp;&nbsp;&nbsp; argv[1] = . . .;
&nbsp;&nbsp;&nbsp; ok = JS_CallFunctionName(cx, obj, "method", 2, argv, &amp;rval);</tt></pre>
<h4>
Shutting down</h4>
<pre><tt>&nbsp;&nbsp;&nbsp; /* For each context you've created: */
&nbsp;&nbsp;&nbsp; JS_DestroyContext(cx);
&nbsp;&nbsp;&nbsp; /* And finally: */
&nbsp;&nbsp;&nbsp; JS_Finish(rt);</tt></pre>
<h4>
Debugging API</h4>
See the<tt> trap, untrap, watch, unwatch, line2pc</tt>, and <tt>pc2line</tt>
commands in <tt>js.c</tt>. Also the (scant) comments in <i>jsdbgapi.h</i>.
<h2>
<a NAME="Design"></a>Design walk-through</h2>
This section must be brief for now -- it could easily turn into a book.
<h4>
JS "JavaScript Proper"</h4>
JS modules declare and implement the JavaScript compiler, interpreter,
decompiler, GC and atom manager, and standard classes.
<p>JavaScript uses untyped bytecode and runtime type tagging of data values.
The <tt>jsval</tt> type is a signed machine word that contains either a
signed integer value (if the low bit is set), or a type-tagged pointer
or boolean value (if the low bit is clear). Tagged pointers all refer to
8-byte-aligned things in the GC heap.
<p>Objects consist of a possibly shared structural description, called
the map or scope; and unshared property values in a vector, called the
slots. Object properties are associated with nonnegative integers stored
in <tt>jsval</tt>'s, or with atoms (unique string descriptors) if named
by an identifier or a non-integral index expression.
<p>Scripts contain bytecode, source annotations, and a pool of string,
number, and identifier literals. Functions are objects that extend scripts
or native functions with formal parameters, a literal syntax, and a distinct
primitive type ("function").
<p>The compiler consists of a recursive-descent parser and a random-logic
rather than table-driven lexical scanner. Semantic and lexical feedback
are used to disambiguate hard cases such as missing semicolons, assignable
expressions ("lvalues" in C parlance), etc. The parser generates bytecode
as it parses, using fixup lists for downward branches and code buffering
and rewriting for exceptional cases such as for loops. It attempts no error
recovery. The interpreter executes the bytecode of top-level scripts, and
calls itself indirectly to interpret function bodies (which are also scripts).
All state associated with an interpreter instance is passed through formal
parameters to the interpreter entry point; most implicit state is collected
in a type named JSContext. Therefore, all API and almost all other functions
in JSRef take a JSContext pointer as their first argument.
<p>The decompiler translates postfix bytecode into infix source by consulting
a separate byte-sized code, called source notes, to disambiguate bytecodes
that result from more than one grammatical production.
<p>The GC is a mark-and-sweep, non-conservative (perfect) collector. It
can allocate only fixed-sized things -- the current size is two machine
words. It is used to hold JS object and string descriptors (but not property
lists or string bytes), and double-precision floating point numbers. It
runs automatically only when maxbytes (as passed to <tt>JS_Init()</tt>)
bytes of GC things have been allocated and another thing-allocation request
is made. JS API users should call <tt>JS_GC()</tt> or <tt>JS_MaybeGC()</tt>
between script executions or from the branch callback, as often as necessary.
<p>An important point about the GC's "perfection": you must add roots for
new objects created by your native methods if you store references to them
into a non-JS structure in the malloc heap or in static data. Also, if
you make a new object in a native method, but do not store it through the
<tt>rval</tt>
result parameter (see math_abs in the "Using the JS API" section above)
so that it is in a known root, the object is guaranteed to survive only
until another new object is created. Either lock the first new object when
making two in a row, or store it in a root you've added, or store it via
rval.
<p>The atom manager consists of a hash table associating strings uniquely
with scanner/parser information such as keyword type, index in script or
function literal pool, etc. Atoms play three roles in JSRef: as literals
referred to by unaligned 16-bit immediate bytecode operands, as unique
string descriptors for efficient property name hashing, and as members
of the root GC set for perfect GC. This design therefore requires atoms
to be manually reference counted, from script literal pools (<tt>JSAtomMap</tt>)
and object symbol (<tt>JSSymbol</tt>) entry keys.
<p>Native objects and methods for arrays, booleans, dates, functions, numbers,
and strings are implemented using the JS API and certain internal interfaces
used as "fast paths".
<p>In general, errors are signaled by false or unoverloaded-null return
values, and are reported using <tt>JS_ReportError()</tt> or one of its
variants by the lowest level in order to provide the most detail. Client
code can substitute its own error reporting function and suppress errors,
or reflect them into Java or some other runtime system as exceptions, GUI
dialogs, etc..
<h2>
File walk-through (BADLY OUT OF DATE!)</h2>
<h4>
jsapi.c, jsapi.h</h4>
The public API to be used by almost all client code.&nbsp; If your client
code can't make do with <tt>jsapi.h</tt>, and must reach into a friend
or private js* file, please let us know so we can extend <tt>jsapi.h</tt>
to include what you need in a fashion that we can support over the long
run.
<h4>
jspubtd.h, jsprvtd.h</h4>
These files exist to group struct and scalar typedefs so they can be used
everywhere without dragging in struct definitions from N different files.
The <tt>jspubtd.h</tt> file contains public typedefs, and is included by
<tt>jsapi.h</tt>.
The <tt>jsprvtd.h</tt> file contains private typedefs and is included by
various .h files that need type names, but not type sizes or declarations.
<h4>
jsdbgapi.c, jsdbgapi.h</h4>
The Debugging API, still very much under development. Provided so far:
<ul>
<li>
Traps, with which breakpoints, single-stepping, step over, step out, and
so on can be implemented. The debugger will have to consult jsopcode.def
on its own to figure out where to plant trap instructions to implement
functions like step out, but a future jsdbgapi.h will provide convenience
interfaces to do these things. At most one trap per bytecode can be set.
When a script (<tt>JSScript</tt>) is destroyed, all traps set in its bytecode
are cleared.</li>
<li>
Watchpoints, for intercepting set operations on properties and running
a debugger-supplied function that receives the old value and a pointer
to the new one, which it can use to modify the new value being set.</li>
<li>
Line number to PC and back mapping functions. The line-to-PC direction
"rounds" toward the next bytecode generated from a line greater than or
equal to the input line, and may return the PC of a for-loop update part,
if given the line number of the loop body's closing brace. Any line after
the last one in a script or function maps to a PC one byte beyond the last
bytecode in the script. An example, from perfect.js:</li>
<pre><tt>14&nbsp;&nbsp; function perfect(n)
15&nbsp;&nbsp; {
16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print("The perfect numbers up to " +&nbsp; n + " are:");
17
18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // We build sumOfDivisors[i] to hold a string expression for
19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // the sum of the divisors of i, excluding i itself.
20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var sumOfDivisors = new ExprArray(n+1,1);
21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (var divisor = 2; divisor &lt;= n; divisor++) {
22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (var j = divisor + divisor; j &lt;= n; j += divisor) {
23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sumOfDivisors[j] += " + " + divisor;
24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // At this point everything up to 'divisor' has its sumOfDivisors
26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // expression calculated, so we can determine whether it's perfect
27&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // already by evaluating.
28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (eval(sumOfDivisors[divisor]) == divisor) {
29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print("" + divisor + " = " + sumOfDivisors[divisor]);
30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
31&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delete sumOfDivisors;
33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print("That's all.");
34&nbsp;&nbsp; }</tt></pre>
The line number to PC and back mappings can be tested using the js program
with the following script:
<pre><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; load("perfect.js")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print(perfect)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dis(perfect)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (var ln = 0; ln &lt;= 40; ln++) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var pc = line2pc(perfect,ln)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var ln2 = pc2line(perfect,pc)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print("\tline " + ln + " => pc " + pc + " => line " + ln2)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</tt></pre>
The result of the for loop over lines 0 to 40 inclusive is:
<pre><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 0 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 1 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 2 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 3 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 4 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 5 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 6 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 7 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 8 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 9 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 10 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 11 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 12 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 13 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 14 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 15 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 16 => pc 0 => line 16
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 17 => pc 19 => line 20
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 18 => pc 19 => line 20
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 19 => pc 19 => line 20
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 20 => pc 19 => line 20
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 21 => pc 36 => line 21
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 22 => pc 53 => line 22
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 23 => pc 74 => line 23
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 24 => pc 92 => line 22
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 25 => pc 106 => line 28
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 26 => pc 106 => line 28
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 27 => pc 106 => line 28
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 28 => pc 106 => line 28
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 29 => pc 127 => line 29
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 30 => pc 154 => line 21
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 31 => pc 154 => line 21
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 32 => pc 161 => line 32
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 33 => pc 172 => line 33
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 34 => pc 172 => line 33
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 35 => pc 172 => line 33
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 36 => pc 172 => line 33
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 37 => pc 172 => line 33
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 38 => pc 172 => line 33
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 39 => pc 172 => line 33
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 40 => pc 172 => line 33</tt></pre>
</ul>
<h4>
jsconfig.h</h4>
Various configuration macros defined as 0 or 1 depending on how <tt>JS_VERSION</tt>
is defined (as 10 for JavaScript 1.0, 11 for JavaScript 1.1, etc.). Not
all macros are tested around related code yet. In particular, JS 1.0 support
is missing from JSRef. JS 1.2 support will appear in a future JSRef release.
<br>&nbsp;
<h4>
js.c</h4>
The "JS shell", a simple interpreter program that uses the JS API and more
than a few internal interfaces (some of these internal interfaces could
be replaced by <tt>jsapi.h</tt> calls). The js program built from this
source provides a test vehicle for evaluating scripts and calling functions,
trying out new debugger primitives, etc.
<h4>
jsarray.*, jsbool.*, jdsdate.*, jsfun.*, jsmath.*, jsnum.*, jsstr.*</h4>
These file pairs implement the standard classes and (where they exist)
their underlying primitive types. They have similar structure, generally
starting with class definitions and continuing with internal constructors,
finalizers, and helper functions.
<h4>
jsobj.*, jsscope.*</h4>
These two pairs declare and implement the JS object system. All of the
following happen here:
<ul>
<li>
creating objects by class and prototype, and finalizing objects;</li>
<li>
defining, looking up, getting, setting, and deleting properties;</li>
<li>
creating and destroying properties and binding names to them.</li>
</ul>
The details of an object map (scope) are mostly hidden in <tt>jsscope.[ch]</tt>,
where scopes start out as linked lists of symbols, and grow after some
threshold into PR hash tables.
<h4>
jsatom.c, jsatom.h</h4>
The atom manager. Contains well-known string constants, their atoms, the
global atom hash table and related state, the js_Atomize() function that
turns a counted string of bytes into an atom, and literal pool (<tt>JSAtomMap</tt>)
methods.
<h4>
jsgc.c, jsgc.h</h4>
[TBD]
<h4>
jsinterp.*, jscntxt.*</h4>
The bytecode interpreter, and related functions such as Call and AllocStack,
live in <i>jsinterp.c</i>. The JSContext constructor and destructor are
factored out into <i>jscntxt.c</i> for minimal linking when the compiler
part of JS is split from the interpreter part into a separate program.
<h4>
jsemit.*, jsopcode.tbl, jsopcode.*, jsparse.*, jsscan.*, jsscript.*</h4>
Compiler and decompiler modules. The <i>jsopcode.tbl</i> file is a C preprocessor
source that defines almost everything there is to know about JS bytecodes.
See its major comment for how to use it. For now, a debugger will use it
and its dependents such as <i>jsopcode.h</i> directly, but over time we
intend to extend <i>jsdbgapi.h</i> to hide uninteresting details and provide
conveniences. The code generator is split across paragraphs of code in
<i>jsparse.c</i>,
and the utility methods called on <tt>JSCodeGenerator</tt> appear in <i>jsemit.c</i>.
Source notes generated by <i>jsparse.c</i> and
<i>jsemit.c</i> are used
in <i>jsscript.c</i> to map line number to program counter and back.
<h4>
jstypes.h, jslog2.c</h4>
Fundamental representation types and utility macros. This file alone among
all .h files in JSRef must be included first by .c files. It is not nested
in .h files, as other prerequisite .h files generally are, since it is
also a direct dependency of most .c files and would be over-included if
nested in addition to being directly included. The one "not-quite-a-macro
macro" is the <tt>JS_CeilingLog2()</tt> function in <i>jslog2.c</i>.
<h4>
jsarena.c, jsarena.h</h4>
Last-In-First-Out allocation macros that amortize malloc costs and allow
for en-masse freeing. See the paper mentioned in prarena.h's major comment.
<h4>
jsutil.c, jsutil.h</h4>
The <tt>JS_ASSERT</tt> macro is used throughout JSRef source as a proof
device to make invariants and preconditions clear to the reader, and to
hold the line during maintenance and evolution against regressions or violations
of assumptions that it would be too expensive to test unconditionally at
run-time. Certain assertions are followed by run-time tests that cope with
assertion failure, but only where I'm too smart or paranoid to believe
the assertion will never fail...
<h4>
jsclist.h</h4>
Doubly-linked circular list struct and macros.
<h4>
jscpucfg.c</h4>
This standalone program generates <i>jscpucfg.h</i>, a header file containing
bytes per word and other constants that depend on CPU architecture and
C compiler type model. It tries to discover most of these constants by
running its own experiments on the build host, so if you are cross-compiling,
beware.
<h4>
prdtoa.c, prdtoa.h</h4>
David Gay's portable double-precision floating point to string conversion
code, with Permission To Use notice included.
<h4>
prhash.c, prhash.h</h4>
Portable, extensible hash tables. These use multiplicative hash for strength
reduction over division hash, yet with very good key distribution over
power of two table sizes. Collisions resolve via chaining, so each entry
burns a malloc and can fragment the heap.
<h4>
prlong.c, prlong.h</h4>
64-bit integer emulation, and compatible macros that use C's long long
type where it exists (my last company mapped long long to a 128-bit type,
but no real architecture does 128-bit ints yet).
<h4>
jsosdep.h</h4>
Annoying OS dependencies rationalized into a few "feature-test" macros
such as <tt>JS_HAVE_LONG_LONG</tt>.
<h4>
jsprf.*</h4>
Portable, buffer-overrun-resistant sprintf and friends. For no good reason
save lack of time, the %e, %f, and %g formats cause your system's native
sprintf, rather than <tt>JS_dtoa()</tt>, to be used. This bug doesn't affect
JSRef, because it uses its own <tt>JS_dtoa()</tt> call in <i>jsnum.c</i>
to convert from double to string, but it's a bug that we'll fix later,
and one you should be aware of if you intend to use a <tt>JS_*printf()</tt>&nbsp;
function with your own floating type arguments - various vendor sprintf's
mishandle NaN, +/-Inf, and some even print normal floating values inaccurately.
<h4>
prmjtime.c, prmjtime.h</h4>
Time functions. These interfaces are named in a way that makes local vs.
universal time confusion likely. Caveat emptor, and we're working on it.
To make matters worse, Java (and therefore JavaScript) uses "local" time
numbers (offsets from the epoch) in its Date class.
<h2>
<a NAME="Resources"></a>Additional Resources (links, API docs, and newsgroups)</h2>
<ul>
<li><a href ="http://www.mozilla.org/js/">http://www.mozilla.org/js/</a>
<li><a href ="http://www.mozilla.org/js/spidermonkey/">http://www.mozilla.org/js/spidermonkey/</a>
<li><a href ="news://news.mozilla.org/netscape.public.mozilla.jseng">news://news.mozilla.org/netscape.public.mozilla.jseng</a>
</ul>
</body>
</html>

View File

@@ -1,12 +0,0 @@
mozilla/js/src/*
mozilla/js/src/config/*
mozilla/js/src/fdlibm/*
mozilla/js/src/liveconnect/*
mozilla/js/src/liveconnect/_jni/*
mozilla/js/src/liveconnect/classes/*
mozilla/js/src/liveconnect/classes/netscape/*
mozilla/js/src/liveconnect/classes/netscape/javascript/*
mozilla/js/src/liveconnect/config/*
mozilla/js/src/liveconnect/macbuild/*
mozilla/js/src/liveconnect/macbuild/JavaSession/*
mozilla/js/src/macbuild/*

View File

@@ -1,125 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998-1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
ifdef JS_DIST
DIST = $(JS_DIST)
else
DIST = $(DEPTH)/../../dist/$(OBJDIR)
endif
# Set os+release dependent make variables
OS_ARCH := $(subst /,_,$(shell uname -s | sed /\ /s//_/))
# Attempt to differentiate between SunOS 5.4 and x86 5.4
OS_CPUARCH := $(shell uname -m)
ifeq ($(OS_CPUARCH),i86pc)
OS_RELEASE := $(shell uname -r)_$(OS_CPUARCH)
else
ifeq ($(OS_ARCH),AIX)
OS_RELEASE := $(shell uname -v).$(shell uname -r)
else
OS_RELEASE := $(shell uname -r)
endif
endif
ifeq ($(OS_ARCH),IRIX64)
OS_ARCH := IRIX
endif
# Virtually all Linux versions are identical.
# Any distinctions are handled in linux.h
ifeq ($(OS_ARCH),Linux)
OS_CONFIG := Linux_All
else
ifeq ($(OS_ARCH),dgux)
OS_CONFIG := dgux
else
OS_CONFIG := $(OS_ARCH)$(OS_OBJTYPE)$(OS_RELEASE)
endif
endif
ASFLAGS =
DEFINES =
ifeq ($(OS_ARCH), WINNT)
INSTALL = nsinstall
CP = cp
else
INSTALL = $(DEPTH)/../../dist/$(OBJDIR)/bin/nsinstall
CP = cp
endif
ifdef BUILD_OPT
OPTIMIZER = -O
DEFINES += -UDEBUG -DNDEBUG -UDEBUG_$(shell whoami)
OBJDIR_TAG = _OPT
else
ifdef USE_MSVC
OPTIMIZER = -Zi
else
OPTIMIZER = -g
endif
DEFINES += -DDEBUG -DDEBUG_$(shell whoami)
OBJDIR_TAG = _DBG
endif
SO_SUFFIX = so
NS_USE_NATIVE = 1
# Java stuff
CLASSDIR = $(DEPTH)/liveconnect/classes
JAVA_CLASSES = $(patsubst %.java,%.class,$(JAVA_SRCS))
TARGETS += $(addprefix $(CLASSDIR)/$(OBJDIR)/$(JARPATH)/, $(JAVA_CLASSES))
JAVAC = $(JDK)/bin/javac
JAVAC_FLAGS = -classpath "$(CLASSPATH)" -d $(CLASSDIR)/$(OBJDIR)
ifeq ($(OS_ARCH), WINNT)
SEP = ;
else
SEP = :
endif
CLASSPATH = $(JDK)/lib/classes.zip$(SEP)$(CLASSDIR)/$(OBJDIR)
include $(DEPTH)/config/$(OS_CONFIG).mk
# Name of the binary code directories
ifdef BUILD_IDG
OBJDIR = $(OS_CONFIG)$(OBJDIR_TAG).OBJD
else
OBJDIR = $(OS_CONFIG)$(OBJDIR_TAG).OBJ
endif
VPATH = $(OBJDIR)
# Automatic make dependencies file
DEPENDENCIES = $(OBJDIR)/.md
LCJAR = js14lc30.jar

View File

@@ -1,59 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for AIX
#
CC = xlC_r
CCC = xlC_r
RANLIB = ranlib
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
ARCH := aix
CPU_ARCH = rs6000
GFX_ARCH = x
INLINES = js_compare_and_swap:js_fast_lock1:js_fast_unlock1:js_lock_get_slot:js_lock_set_slot:js_lock_scope1
OS_CFLAGS = -qarch=com -qinline+$(INLINES) -DXP_UNIX -DAIX -DAIXV3 -DSYSV
OS_LIBS = -lbsd -lsvld -lm
#-lpthreads -lc_r
MKSHLIB = $(LD) -bM:SRE -bh:4 -bnoentry -berok
XLDFLAGS += -lc
ifdef JS_THREADSAFE
XLDFLAGS += -lsvld
endif

View File

@@ -1,58 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for AIX
#
CC = xlC_r
CCC = xlC_r
CFLAGS += -qarch=com -qnoansialias -qinline+$(INLINES) -DXP_UNIX -DAIX -DAIXV3 -DSYSV
RANLIB = ranlib
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
ARCH := aix
CPU_ARCH = rs6000
GFX_ARCH = x
INLINES = js_compare_and_swap:js_fast_lock1:js_fast_unlock1:js_lock_get_slot:js_lock_set_slot:js_lock_scope1
#-lpthreads -lc_r
MKSHLIB = /usr/lpp/xlC/bin/makeC++SharedLib_r -p 0 -G -berok
ifdef JS_THREADSAFE
XLDFLAGS += -ldl
endif

View File

@@ -1,59 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for AIX
#
CC = xlC_r
CCC = xlC_r
CFLAGS += -qarch=com -qnoansialias -qinline+$(INLINES) -DXP_UNIX -DAIX -DAIXV3 -DSYSV -DAIX4_3
RANLIB = ranlib
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
ARCH := aix
CPU_ARCH = rs6000
GFX_ARCH = x
INLINES = js_compare_and_swap:js_fast_lock1:js_fast_unlock1:js_lock_get_slot:js_lock_set_slot:js_lock_scope1
#-lpthreads -lc_r
MKSHLIB_BIN = /usr/lpp/xlC/bin/makeC++SharedLib_r
MKSHLIB = $(MKSHLIB_BIN) -p 0 -G -berok -bM:UR
ifdef JS_THREADSAFE
XLDFLAGS += -ldl
endif

View File

@@ -1,71 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for HPUX
#
# CC = gcc
# CCC = g++
# CFLAGS += -Wall -Wno-format -fPIC
CC = cc -Ae +Z
CCC = CC -Ae +a1 +eh +Z
RANLIB = echo
MKSHLIB = $(LD) -b
SO_SUFFIX = sl
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = hppa
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DHPUX -DSYSV
OS_LIBS = -ldld
ifeq ($(OS_RELEASE),B.10)
PLATFORM_FLAGS += -DHPUX10 -Dhpux10
PORT_FLAGS += -DRW_NO_OVERLOAD_SCHAR -DHAVE_MODEL_H
ifeq ($(OS_VERSION),.10)
PLATFORM_FLAGS += -DHPUX10_10
endif
ifeq ($(OS_VERSION),.20)
PLATFORM_FLAGS += -DHPUX10_20
endif
ifeq ($(OS_VERSION),.30)
PLATFORM_FLAGS += -DHPUX10_30
endif
endif

View File

@@ -1,71 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for HPUX
#
# CC = gcc
# CCC = g++
# CFLAGS += -Wall -Wno-format -fPIC
CC = cc -Ae +Z
CCC = CC -Ae +a1 +eh +Z
RANLIB = echo
MKSHLIB = $(LD) -b
SO_SUFFIX = sl
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = hppa
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DHPUX -DSYSV
OS_LIBS = -ldld
ifeq ($(OS_RELEASE),B.10)
PLATFORM_FLAGS += -DHPUX10 -Dhpux10
PORT_FLAGS += -DRW_NO_OVERLOAD_SCHAR -DHAVE_MODEL_H
ifeq ($(OS_VERSION),.10)
PLATFORM_FLAGS += -DHPUX10_10
endif
ifeq ($(OS_VERSION),.20)
PLATFORM_FLAGS += -DHPUX10_20
endif
ifeq ($(OS_VERSION),.30)
PLATFORM_FLAGS += -DHPUX10_30
endif
endif

View File

@@ -1,74 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for HPUX
#
ifdef NS_USE_NATIVE
CC = cc +Z +DAportable +DS2.0 +u4
# LD = aCC +Z -b -Wl,+s -Wl,-B,symbolic
else
CC = gcc -Wall -Wno-format -fPIC
CCC = g++ -Wall -Wno-format -fPIC
endif
RANLIB = echo
MKSHLIB = $(LD) -b
SO_SUFFIX = sl
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = hppa
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DHPUX -DSYSV -D_HPUX -DNATIVE -D_POSIX_C_SOURCE=199506L
OS_LIBS = -ldld
XLDFLAGS = -lpthread
ifeq ($(OS_RELEASE),B.10)
PLATFORM_FLAGS += -DHPUX10 -Dhpux10
PORT_FLAGS += -DRW_NO_OVERLOAD_SCHAR -DHAVE_MODEL_H
ifeq ($(OS_VERSION),.10)
PLATFORM_FLAGS += -DHPUX10_10
endif
ifeq ($(OS_VERSION),.20)
PLATFORM_FLAGS += -DHPUX10_20
endif
ifeq ($(OS_VERSION),.30)
PLATFORM_FLAGS += -DHPUX10_30
endif
endif

View File

@@ -1,81 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for IRIX
#
CPU_ARCH = mips
GFX_ARCH = x
RANLIB = /bin/true
#NS_USE_GCC = 1
ifndef NS_USE_NATIVE
CC = gcc
CCC = g++
AS = $(CC) -x assembler-with-cpp
ODD_CFLAGS = -Wall -Wno-format
ifdef BUILD_OPT
OPTIMIZER = -O6
endif
else
ifeq ($(OS_RELEASE),6.2)
CC = cc -n32 -DIRIX6_2
endif
ifeq ($(OS_RELEASE),6.3)
CC = cc -n32 -DIRIX6_3
endif
ifeq ($(OS_RELEASE),6.5)
CC = cc -n32 -DIRIX6_5
endif
CCC = CC
# LD = CC
ODD_CFLAGS = -fullwarn -xansi
ifdef BUILD_OPT
OPTIMIZER += -Olimit 4000
endif
endif
# For purify
HAVE_PURIFY = 1
PURE_OS_CFLAGS = $(ODD_CFLAGS) -DXP_UNIX -DSVR4 -DSW_THREADS -DIRIX
OS_CFLAGS = $(PURE_OS_CFLAGS) -MDupdate $(DEPENDENCIES)
BSDECHO = echo
MKSHLIB = $(LD) -n32 -shared
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1

View File

@@ -1,38 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for IRIX5.3
#
include $(DEPTH)/config/IRIX.mk

View File

@@ -1,38 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for IRIX6.3
#
include $(DEPTH)/config/IRIX.mk

View File

@@ -1,38 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for IRIX6.3
#
include $(DEPTH)/config/IRIX.mk

View File

@@ -1,38 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for IRIX6.3
#
include $(DEPTH)/config/IRIX.mk

View File

@@ -1,38 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for IRIX6.3
#
include $(DEPTH)/config/IRIX.mk

View File

@@ -1,82 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config for all versions of Linux
#
CC = gcc
CCC = g++
CFLAGS += -Wall -Wno-format
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE
RANLIB = echo
MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = $(shell uname -m)
ifeq (86,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x86
OS_CFLAGS+= -DX86_LINUX
ifeq (gcc, $(CC))
# if using gcc on x86, check version for opt bug
# (http://bugzilla.mozilla.org/show_bug.cgi?id=24892)
GCC_VERSION := $(shell gcc -v 2>&1 | grep version | awk '{ print $$3 }')
GCC_LIST:=$(sort 2.91.66 $(GCC_VERSION) )
ifeq (2.91.66, $(firstword $(GCC_LIST)))
CFLAGS+= -DGCC_OPT_BUG
endif
endif
endif
GFX_ARCH = x
OS_LIBS = -lm -lc
ASFLAGS += -x assembler-with-cpp
ifeq ($(CPU_ARCH),alpha)
# Ask the C compiler on alpha linux to let us work with denormalized
# double values, which are required by the ECMA spec.
OS_CFLAGS += -mieee
endif
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1

View File

@@ -1,77 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Steve Zellers (zellers@apple.com)
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config for Mac OS X as of PR3
# Just ripped from Linux config
#
CC = cc
CCC = g++
CFLAGS += -Wall -Wno-format
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE
-DRHAPSODY
RANLIB = ranlib
MKSHLIB = libtool -dynamic $(XMKSHLIBOPTS) -framework System
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = $(shell uname -m)
ifeq (86,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x86
OS_CFLAGS+= -DX86_LINUX
endif
GFX_ARCH = x
OS_LIBS = -lc -framework System
ASFLAGS += -x assembler-with-cpp
ifeq ($(CPU_ARCH),alpha)
# Ask the C compiler on alpha linux to let us work with denormalized
# double values, which are required by the ECMA spec.
OS_CFLAGS += -mieee
endif
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1
# Don't allow Makefile.ref to use libmath
NO_LIBM = 1

View File

@@ -1,66 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for Data General DG/UX
#
#
# Initial DG/UX port by Marc Fraioli (fraioli@dg-rtp.dg.com)
#
ifndef NS_USE_NATIVE
CC = gcc
CCC = g++
CFLAGS += -mieee -Wall -Wno-format
else
CC = cc
CCC = cxx
CFLAGS += -ieee -std
# LD = cxx
endif
RANLIB = echo
MKSHLIB = $(LD) -shared -taso -all -expect_unresolved "*"
#
# _DGUX_SOURCE is needed to turn on a lot of stuff in the headers if
# you're not using DG's compiler. It shouldn't hurt if you are.
#
# _POSIX4A_DRAFT10_SOURCE is needed to pick up localtime_r, used in
# prtime.c
#
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -DDGUX -D_DGUX_SOURCE -D_POSIX4A_DRAFT10_SOURCE -DOSF1
OS_LIBS = -lsocket -lnsl
NOSUCHFILE = /no-such-file

View File

@@ -1,95 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for SunOS4.1
#
CC = gcc
CCC = g++
RANLIB = ranlib
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = sparc
GFX_ARCH = x
# A pile of -D's to build xfe on sunos
MOZ_CFLAGS = -DSTRINGS_ALIGNED -DNO_REGEX -DNO_ISDIR -DUSE_RE_COMP \
-DNO_REGCOMP -DUSE_GETWD -DNO_MEMMOVE -DNO_ALLOCA \
-DBOGUS_MB_MAX -DNO_CONST
# Purify doesn't like -MDupdate
NOMD_OS_CFLAGS = -DXP_UNIX -Wall -Wno-format -DSW_THREADS -DSUNOS4 -DNEED_SYSCALL \
$(MOZ_CFLAGS)
OS_CFLAGS = $(NOMD_OS_CFLAGS) -MDupdate $(DEPENDENCIES)
OS_LIBS = -ldl -lm
MKSHLIB = $(LD) -L$(MOTIF)/lib
HAVE_PURIFY = 1
MOTIF = /home/motif/usr
MOTIFLIB = -L$(MOTIF)/lib -lXm
INCLUDES += -I/usr/X11R5/include -I$(MOTIF)/include
NOSUCHFILE = /solaris-rm-f-sucks
LOCALE_MAP = $(DEPTH)/cmd/xfe/intl/sunos.lm
EN_LOCALE = en_US
DE_LOCALE = de
FR_LOCALE = fr
JP_LOCALE = ja
SJIS_LOCALE = ja_JP.SJIS
KR_LOCALE = ko
CN_LOCALE = zh
TW_LOCALE = zh_TW
I2_LOCALE = i2
IT_LOCALE = it
SV_LOCALE = sv
ES_LOCALE = es
NL_LOCALE = nl
PT_LOCALE = pt
LOC_LIB_DIR = /usr/openwin/lib/locale
BSDECHO = echo
#
# These defines are for building unix plugins
#
BUILD_UNIX_PLUGINS = 1
DSO_LDOPTS =
DSO_LDFLAGS =

View File

@@ -1,85 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for SunOS5.3
#
CC = gcc
CCC = g++
CFLAGS += -Wall -Wno-format
#CC = /opt/SUNWspro/SC3.0.1/bin/cc
RANLIB = echo
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = sparc
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS
OS_LIBS = -lsocket -lnsl -ldl
ASFLAGS += -P -L -K PIC -D_ASM -D__STDC__=0
HAVE_PURIFY = 1
NOSUCHFILE = /solaris-rm-f-sucks
ifndef JS_NO_ULTRA
ULTRA_OPTIONS := -xarch=v8plus
ULTRA_OPTIONSD := -DULTRA_SPARC
else
ULTRA_OPTIONS := -xarch=v8
ULTRA_OPTIONSD :=
endif
ifeq ($(OS_CPUARCH),sun4u)
DEFINES += $(ULTRA_OPTIONSD)
ifeq ($(findstring gcc,$(CC)),gcc)
DEFINES += -Wa,$(ULTRA_OPTIONS),$(ULTRA_OPTIONSD)
else
ASFLAGS += $(ULTRA_OPTIONS) $(ULTRA_OPTIONSD)
endif
endif
ifeq ($(OS_CPUARCH),sun4m)
ifeq ($(findstring gcc,$(CC)),gcc)
DEFINES += -Wa,-xarch=v8
else
ASFLAGS += -xarch=v8
endif
endif
MKSHLIB = $(LD) -G

View File

@@ -1,86 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for SunOS5.4
#
ifdef NS_USE_NATIVE
CC = cc
CCC = CC
else
CC = gcc
CCC = g++
CFLAGS += -Wall -Wno-format
endif
RANLIB = echo
CPU_ARCH = sparc
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D__svr4 -DSOLARIS
OS_LIBS = -lsocket -lnsl -ldl
ASFLAGS += -P -L -K PIC -D_ASM -D__STDC__=0
HAVE_PURIFY = 1
NOSUCHFILE = /solaris-rm-f-sucks
ifndef JS_NO_ULTRA
ULTRA_OPTIONS := -xarch=v8plus
ULTRA_OPTIONSD := -DULTRA_SPARC
else
ULTRA_OPTIONS := -xarch=v8
ULTRA_OPTIONSD :=
endif
ifeq ($(OS_CPUARCH),sun4u)
DEFINES += $(ULTRA_OPTIONSD)
ifeq ($(findstring gcc,$(CC)),gcc)
DEFINES += -Wa,$(ULTRA_OPTIONS),$(ULTRA_OPTIONSD)
else
ASFLAGS += $(ULTRA_OPTIONS) $(ULTRA_OPTIONSD)
endif
endif
ifeq ($(OS_CPUARCH),sun4m)
ifeq ($(findstring gcc,$(CC)),gcc)
DEFINES += -Wa,-xarch=v8
else
ASFLAGS += -xarch=v8
endif
endif
MKSHLIB = $(LD) -G

View File

@@ -1,38 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for SunOS5.5.1
#
include $(DEPTH)/config/SunOS5.5.mk

View File

@@ -1,81 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for SunOS5.5
#
AS = as
ifndef NS_USE_NATIVE
CC = gcc
CCC = g++
CFLAGS += -Wall -Wno-format
else
CC = cc
CCC = CC
endif
RANLIB = echo
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = sparc
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS
OS_LIBS = -lsocket -lnsl -ldl
ASFLAGS += -P -L -K PIC -D_ASM -D__STDC__=0
HAVE_PURIFY = 1
NOSUCHFILE = /solaris-rm-f-sucks
ifeq ($(OS_CPUARCH),sun4u) # ultra sparc?
ifeq ($(CC),gcc) # using gcc?
ifndef JS_NO_ULTRA # do we want ultra?
ifdef JS_THREADSAFE # only in thread-safe mode
DEFINES += -DULTRA_SPARC
DEFINES += -Wa,-xarch=v8plus,-DULTRA_SPARC
else
ASFLAGS += -xarch=v8plus -DULTRA_SPARC
endif
endif
endif
endif
MKSHLIB = $(LD) -G
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1

View File

@@ -1,83 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for SunOS5.5
#
AS = as
ifndef NS_USE_NATIVE
CC = gcc
CCC = g++
CFLAGS += -Wall -Wno-format
else
CC = cc
CCC = CC
CFLAGS += -mt -KPIC
# LD = CC
endif
RANLIB = echo
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = sparc
GFX_ARCH = x
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS
OS_LIBS = -lsocket -lnsl -ldl
ASFLAGS += -P -L -K PIC -D_ASM -D__STDC__=0
HAVE_PURIFY = 1
NOSUCHFILE = /solaris-rm-f-sucks
ifeq ($(OS_CPUARCH),sun4u) # ultra sparc?
ifeq ($(CC),gcc) # using gcc?
ifndef JS_NO_ULTRA # do we want ultra?
ifdef JS_THREADSAFE # only in thread-safe mode
DEFINES += -DULTRA_SPARC
DEFINES += -Wa,-xarch=v8plus,-DULTRA_SPARC
else
ASFLAGS += -xarch=v8plus -DULTRA_SPARC
endif
endif
endif
endif
MKSHLIB = $(LD) -G
# Use the editline library to provide line-editing support.
JS_EDITLINE = 1

View File

@@ -1,38 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for SunOS5.7
#
include $(DEPTH)/config/SunOS5.5.mk

View File

@@ -1,103 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
# Config for Windows NT using MS Visual C++ (version?)
#
CC = cl
RANLIB = echo
#.c.o:
# $(CC) -c -MD $*.d $(CFLAGS) $<
CPU_ARCH = x86 # XXX fixme
GFX_ARCH = win32
# MSVC compiler options for both debug/optimize
# /nologo - suppress copyright message
# /W3 - Warning level 3
# /Gm - enable minimal rebuild
# /Z7 - put debug info into the executable, not in .pdb file
# /YX - automatic precompiled headers
# /GX - enable C++ exception support
WIN_CFLAGS = /nologo /W3 /Fp$(OBJDIR)/js.pch
# MSVC compiler options for debug builds linked to MSVCRTD.DLL
# /MDd - link with MSVCRTD.LIB (Dynamically-linked, multi-threaded, debug C-runtime)
# /Od - minimal optimization
WIN_IDG_CFLAGS = /MDd /Od /Z7
# MSVC compiler options for debug builds linked to MSVCRT.DLL
# /MD - link with MSVCRT.LIB (Dynamically-linked, multi-threaded, debug C-runtime)
# /Od - minimal optimization
WIN_DEBUG_CFLAGS = /MD /Od /Z7
# MSVC compiler options for release (optimized) builds
# /MD - link with MSVCRT.LIB (Dynamically-linked, multi-threaded, C-runtime)
# /O2 - Optimize for speed
# /G5 - Optimize for Pentium
WIN_OPT_CFLAGS = /MD /O2
ifdef BUILD_OPT
OPTIMIZER = $(WIN_OPT_CFLAGS)
else
ifdef BUILD_IDG
OPTIMIZER = $(WIN_IDG_CFLAGS)
else
OPTIMIZER = $(WIN_DEBUG_CFLAGS)
endif
endif
OS_CFLAGS = -DXP_PC -DWIN32 -D_WINDOWS -D_WIN32 $(WIN_CFLAGS)
JSDLL_CFLAGS = -DEXPORT_JS_API
OS_LIBS = -lm -lc
PREBUILT_CPUCFG = 1
USE_MSVC = 1
LIB_LINK_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib oldnames.lib /nologo\
/subsystem:windows /dll /debug /pdb:none\
/machine:I386
EXE_LINK_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib oldnames.lib /nologo\
/subsystem:console /debug /pdb:none\
/machine:I386
# CAFEDIR = t:/cafe
# JCLASSPATH = $(CAFEDIR)/Java/Lib/classes.zip
# JAVAC = $(CAFEDIR)/Bin/sj.exe
# JAVAH = $(CAFEDIR)/Java/Bin/javah.exe
# JCFLAGS = -I$(CAFEDIR)/Java/Include -I$(CAFEDIR)/Java/Include/win32

View File

@@ -1,58 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
#
# Config stuff for Data General DG/UX
#
#
# Initial DG/UX port by Marc Fraioli (fraioli@dg-rtp.dg.com)
#
AS = as
CC = gcc
CCC = g++
RANLIB = echo
#
# _DGUX_SOURCE is needed to turn on a lot of stuff in the headers if
# you're not using DG's compiler. It shouldn't hurt if you are.
#
# _POSIX4A_DRAFT10_SOURCE is needed to pick up localtime_r, used in
# prtime.c
#
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -DDGUX -D_DGUX_SOURCE -D_POSIX4A_DRAFT10_SOURCE
OS_LIBS = -lsocket -lnsl
NOSUCHFILE = /no-such-file

View File

@@ -1,122 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = js
LIBRARY_NAME = fdm
CSRCS = \
e_acos.c \
e_asin.c \
e_atan2.c \
e_exp.c \
e_fmod.c \
e_log.c \
e_pow.c \
e_rem_pio2.c \
s_scalbn.c \
e_sqrt.c \
k_cos.c \
k_sin.c \
k_rem_pio2.c \
k_tan.c \
s_atan.c \
s_ceil.c \
s_copysign.c \
s_cos.c \
s_fabs.c \
s_finite.c \
s_floor.c \
s_isnan.c \
s_lib_version.c \
s_sin.c \
s_tan.c \
w_acos.c \
w_asin.c \
w_atan2.c \
w_exp.c \
w_fmod.c \
w_log.c \
w_pow.c \
w_sqrt.c \
$(NULL)
EXPORTS = fdlibm.h
# we need to force a static lib for the linking that js/src/Makefile.in wants
# to do, and we don't really need a shared library ever, so:
override NO_SHARED_LIB=1
override NO_STATIC_LIB=
include $(topsrcdir)/config/rules.mk
#
# Default IEEE libm
#
CFLAGS += -D_IEEE_LIBM -DGCC_OPT_BUG
ifeq ($(OS_ARCH),Linux)
LDFLAGS += -ldl
endif
ifeq ($(OS_ARCH),OSF1)
LDFLAGS += -lc_r
endif
ifeq ($(OS_ARCH),SunOS)
LDFLAGS += -lposix4 -ldl -lnsl -lsocket
ifeq ($(CPU_ARCH),sparc)
ifndef JS_NO_ULTRA
ULTRA_OPTIONS := -xarch=v8plus,-DULTRA_SPARC
ULTRA_OPTIONSCC := -DULTRA_SPARC
else
ULTRA_OPTIONS := -xarch=v8
ULTRA_OPTIONSCC :=
endif
ifeq ($(shell uname -m),sun4u)
ASFLAGS += -Wa,$(ULTRA_OPTIONS),-P,-L,-D_ASM,-D__STDC__=0 $(ULTRA_OPTIONSCC)
else
ASFLAGS += -Wa,-xarch=v8,-P,-L,-D_ASM,-D__STDC__=0
endif
endif
endif

View File

@@ -1,183 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is Sun Microsystems,
# Inc. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
# @(#)Makefile 1.4 95/01/18
#
# ====================================================
# Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
#
# Developed at SunSoft, a Sun Microsystems, Inc. business.
# Permission to use, copy, modify, and distribute this
# software is freely granted, provided that this notice
# is preserved.
# ====================================================
#
#
#
# There are two options in making libm at fdlibm compile time:
# _IEEE_LIBM --- IEEE libm; smaller, and somewhat faster
# _MULTI_LIBM --- Support multi-standard at runtime by
# imposing wrapper functions defined in
# fdlibm.h:
# _IEEE_MODE -- IEEE
# _XOPEN_MODE -- X/OPEN
# _POSIX_MODE -- POSIX/ANSI
# _SVID3_MODE -- SVID
#
# Here is how to set up CFLAGS to create the desired libm at
# compile time:
#
# CFLAGS = -D_IEEE_LIBM ... IEEE libm (recommended)
# CFLAGS = -D_SVID3_MODE ... Multi-standard supported
# libm with SVID as the
# default standard
# CFLAGS = -D_XOPEN_MODE ... Multi-standard supported
# libm with XOPEN as the
# default standard
# CFLAGS = -D_POSIX_MODE ... Multi-standard supported
# libm with POSIX as the
# default standard
# CFLAGS = ... Multi-standard supported
# libm with IEEE as the
# default standard
#
# NOTE: if scalb's second arguement is an int, then one must
# define _SCALB_INT in CFLAGS. The default prototype of scalb
# is double scalb(double, double)
#
DEPTH = ..
include $(DEPTH)/config.mk
#
# Default IEEE libm
#
CFLAGS += -DXP_UNIX $(OPTIMIZER) $(OS_CFLAGS) $(DEFINES) $(INCLUDES) \
-DJSFILE $(XCFLAGS) -D_IEEE_LIBM
#CC = cc
INCFILES = fdlibm.h
.INIT: $(INCFILES)
.KEEP_STATE:
FDLIBM_CFILES = \
k_standard.c k_rem_pio2.c \
k_cos.c k_sin.c k_tan.c \
e_acos.c e_acosh.c e_asin.c e_atan2.c \
e_atanh.c e_cosh.c e_exp.c e_fmod.c \
e_gamma.c e_gamma_r.c e_hypot.c e_j0.c \
e_j1.c e_jn.c e_lgamma.c e_lgamma_r.c \
e_log.c e_log10.c e_pow.c e_rem_pio2.c e_remainder.c \
e_scalb.c e_sinh.c e_sqrt.c \
w_acos.c w_acosh.c w_asin.c w_atan2.c \
w_atanh.c w_cosh.c w_exp.c w_fmod.c \
w_gamma.c w_gamma_r.c w_hypot.c w_j0.c \
w_j1.c w_jn.c w_lgamma.c w_lgamma_r.c \
w_log.c w_log10.c w_pow.c w_remainder.c \
w_scalb.c w_sinh.c w_sqrt.c \
s_asinh.c s_atan.c s_cbrt.c s_ceil.c s_copysign.c \
s_cos.c s_erf.c s_expm1.c s_fabs.c s_finite.c s_floor.c \
s_frexp.c s_ilogb.c s_isnan.c s_ldexp.c s_lib_version.c \
s_log1p.c s_logb.c s_matherr.c s_modf.c s_nextafter.c \
s_rint.c s_scalbn.c s_signgam.c s_significand.c s_sin.c \
s_tan.c s_tanh.c
ifdef USE_MSVC
FDLIBM_OBJS = $(addprefix $(OBJDIR)/, $(FDLIBM_CFILES:.c=.obj))
else
FDLIBM_OBJS = $(addprefix $(OBJDIR)/, $(FDLIBM_CFILES:.c=.o))
endif
ifdef USE_MSVC
LIBRARY = $(OBJDIR)/fdlibm.lib
else
LIBRARY = $(OBJDIR)/libfdm.a
endif
define MAKE_OBJDIR
if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); fi
endef
all: $(LIBRARY)
export:
$(OBJDIR)/%: %.c
@$(MAKE_OBJDIR)
$(CC) -o $@ $(CFLAGS) $*.c $(LDFLAGS)
$(OBJDIR)/%.o: %.c
@$(MAKE_OBJDIR)
$(CC) -o $@ -c $(CFLAGS) $*.c
$(OBJDIR)/%.o: %.s
@$(MAKE_OBJDIR)
$(AS) -o $@ $(ASFLAGS) $*.s
# windows only
$(OBJDIR)/%.obj: %.c
@$(MAKE_OBJDIR)
$(CC) -Fo$(OBJDIR)/ -c $(CFLAGS) $*.c
ifeq ($(OS_ARCH),OS2)
$(LIBRARY): $(FDLIBM_OBJS)
$(AR) $@ $? $(AR_OS2_SUFFIX)
$(RANLIB) $@
else
ifdef USE_MSVC
$(LIBRARY): $(FDLIBM_OBJS)
lib.exe /out:"$@" $?
else
$(LIBRARY): $(FDLIBM_OBJS)
$(AR) rv $@ $?
$(RANLIB) $@
endif
endif
libfdm.a : $(FDLIBM_OBJS)
$(AR) cru $(OBJDIR)/libfdm.a $(FDLIBM_OBJS)
$(RANLIB) $(OBJDIR)/libfdm.a
clean:
rm -rf $(FDLIBM_OBJS)
clobber:
rm -rf $(FDLIBM_OBJS) $(LIBRARY) $(DEPENDENCIES)
SUFFIXES: .i
%.i: %.c
$(CC) -C -E $(CFLAGS) $< > $*.i

View File

@@ -1,143 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_acos.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_acos(x)
* Method :
* acos(x) = pi/2 - asin(x)
* acos(-x) = pi/2 + asin(x)
* For |x|<=0.5
* acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c)
* For x>0.5
* acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2)))
* = 2asin(sqrt((1-x)/2))
* = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z)
* = 2f + (2c + 2s*z*R(z))
* where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term
* for f so that f+c ~ sqrt(z).
* For x<-0.5
* acos(x) = pi - 2asin(sqrt((1-|x|)/2))
* = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z)
*
* Special cases:
* if x is NaN, return x itself;
* if |x|>1, return NaN with invalid signal.
*
* Function needed: sqrt
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
one= 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */
pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */
pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */
pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */
pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */
pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */
pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */
qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */
qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */
qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */
qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
#ifdef __STDC__
double __ieee754_acos(double x)
#else
double __ieee754_acos(x)
double x;
#endif
{
#ifdef GCC_OPT_BUG
volatile double df;
#else
double df;
#endif
double z,p,q,r,w,s,c;
int hx,ix;
hx = __HI(x);
ix = hx&0x7fffffff;
if(ix>=0x3ff00000) { /* |x| >= 1 */
if(((ix-0x3ff00000)|__LO(x))==0) { /* |x|==1 */
if(hx>0) return 0.0; /* acos(1) = 0 */
else return pi+2.0*pio2_lo; /* acos(-1)= pi */
}
return (x-x)/(x-x); /* acos(|x|>1) is NaN */
}
if(ix<0x3fe00000) { /* |x| < 0.5 */
if(ix<=0x3c600000) return pio2_hi+pio2_lo;/*if|x|<2**-57*/
z = x*x;
p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
r = p/q;
return pio2_hi - (x - (pio2_lo-x*r));
} else if (hx<0) { /* x < -0.5 */
z = (one+x)*0.5;
p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
s = fd_sqrt(z);
r = p/q;
w = r*s-pio2_lo;
return pi - 2.0*(s+w);
} else { /* x > 0.5 */
z = (one-x)*0.5;
s = fd_sqrt(z);
df = s;
__LO(df) = 0;
c = (z-df*df)/(s+df);
p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
r = p/q;
w = r*s+c;
return 2.0*(df+w);
}
}

View File

@@ -1,98 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_acosh.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/* __ieee754_acosh(x)
* Method :
* Based on
* acosh(x) = log [ x + sqrt(x*x-1) ]
* we have
* acosh(x) := log(x)+ln2, if x is large; else
* acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else
* acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1.
*
* Special cases:
* acosh(x) is NaN with signal if x<1.
* acosh(NaN) is NaN without signal.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
one = 1.0,
ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */
#ifdef __STDC__
double __ieee754_acosh(double x)
#else
double __ieee754_acosh(x)
double x;
#endif
{
double t;
int hx;
hx = __HI(x);
if(hx<0x3ff00000) { /* x < 1 */
return (x-x)/(x-x);
} else if(hx >=0x41b00000) { /* x > 2**28 */
if(hx >=0x7ff00000) { /* x is inf of NaN */
return x+x;
} else
return __ieee754_log(x)+ln2; /* acosh(huge)=log(2x) */
} else if(((hx-0x3ff00000)|__LO(x))==0) {
return 0.0; /* acosh(1) = 0 */
} else if (hx > 0x40000000) { /* 2**28 > x > 2 */
t=x*x;
return __ieee754_log(2.0*x-one/(x+fd_sqrt(t-one)));
} else { /* 1<x<2 */
t = x-one;
return fd_log1p(t+fd_sqrt(2.0*t+t*t));
}
}

View File

@@ -1,152 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_asin.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_asin(x)
* Method :
* Since asin(x) = x + x^3/6 + x^5*3/40 + x^7*15/336 + ...
* we approximate asin(x) on [0,0.5] by
* asin(x) = x + x*x^2*R(x^2)
* where
* R(x^2) is a rational approximation of (asin(x)-x)/x^3
* and its remez error is bounded by
* |(asin(x)-x)/x^3 - R(x^2)| < 2^(-58.75)
*
* For x in [0.5,1]
* asin(x) = pi/2-2*asin(sqrt((1-x)/2))
* Let y = (1-x), z = y/2, s := sqrt(z), and pio2_hi+pio2_lo=pi/2;
* then for x>0.98
* asin(x) = pi/2 - 2*(s+s*z*R(z))
* = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo)
* For x<=0.98, let pio4_hi = pio2_hi/2, then
* f = hi part of s;
* c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z)
* and
* asin(x) = pi/2 - 2*(s+s*z*R(z))
* = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo)
* = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c))
*
* Special cases:
* if x is NaN, return x itself;
* if |x|>1, return NaN with invalid signal.
*
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
really_big = 1.000e+300,
pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */
pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */
/* coefficient for R(x^2) */
pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */
pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */
pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */
pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */
pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */
qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */
qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */
qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */
qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
#ifdef __STDC__
double __ieee754_asin(double x)
#else
double __ieee754_asin(x)
double x;
#endif
{
#ifdef GCC_OPT_BUG
volatile double w;
#else
double w;
#endif
double t,p,q,c,r,s;
int hx,ix;
hx = __HI(x);
ix = hx&0x7fffffff;
if(ix>= 0x3ff00000) { /* |x|>= 1 */
if(((ix-0x3ff00000)|__LO(x))==0)
/* asin(1)=+-pi/2 with inexact */
return x*pio2_hi+x*pio2_lo;
return (x-x)/(x-x); /* asin(|x|>1) is NaN */
} else if (ix<0x3fe00000) { /* |x|<0.5 */
if(ix<0x3e400000) { /* if |x| < 2**-27 */
if(really_big+x>one) return x;/* return x with inexact if x!=0*/
} else
t = x*x;
p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
w = p/q;
return x+x*w;
}
/* 1> |x|>= 0.5 */
w = one-fd_fabs(x);
t = w*0.5;
p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
s = fd_sqrt(t);
if(ix>=0x3FEF3333) { /* if |x| > 0.975 */
w = p/q;
t = pio2_hi-(2.0*(s+s*w)-pio2_lo);
} else {
w = s;
__LO(w) = 0;
c = (t-w*w)/(s+w);
r = p/q;
p = 2.0*s*r-(pio2_lo-2.0*c);
q = pio4_hi-2.0*w;
t = pio4_hi-(p-q);
}
if(hx>0) return t; else return -t;
}

View File

@@ -1,156 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_atan2.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/* __ieee754_atan2(y,x)
* Method :
* 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x).
* 2. Reduce x to positive by (if x and y are unexceptional):
* ARG (x+iy) = arctan(y/x) ... if x > 0,
* ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0,
*
* Special cases:
*
* ATAN2((anything), NaN ) is NaN;
* ATAN2(NAN , (anything) ) is NaN;
* ATAN2(+-0, +(anything but NaN)) is +-0 ;
* ATAN2(+-0, -(anything but NaN)) is +-pi ;
* ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2;
* ATAN2(+-(anything but INF and NaN), +INF) is +-0 ;
* ATAN2(+-(anything but INF and NaN), -INF) is +-pi;
* ATAN2(+-INF,+INF ) is +-pi/4 ;
* ATAN2(+-INF,-INF ) is +-3pi/4;
* ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2;
*
* Constants:
* The hexadecimal values are the intended ones for the following
* constants. The decimal values may be used, provided that the
* compiler will convert from decimal to binary accurately enough
* to produce the hexadecimal values shown.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
tiny = 1.0e-300,
zero = 0.0,
pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */
pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */
pi = 3.1415926535897931160E+00, /* 0x400921FB, 0x54442D18 */
pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
#ifdef __STDC__
double __ieee754_atan2(double y, double x)
#else
double __ieee754_atan2(y,x)
double y,x;
#endif
{
double z;
int k,m,hx,hy,ix,iy;
unsigned lx,ly;
hx = __HI(x); ix = hx&0x7fffffff;
lx = __LO(x);
hy = __HI(y); iy = hy&0x7fffffff;
ly = __LO(y);
if(((ix|((lx|-(int)lx)>>31))>0x7ff00000)||
((iy|((ly|-(int)ly)>>31))>0x7ff00000)) /* x or y is NaN */
return x+y;
if(((hx-0x3ff00000)|lx)==0) return fd_atan(y); /* x=1.0 */
m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */
/* when y = 0 */
if((iy|ly)==0) {
switch(m) {
case 0:
case 1: return y; /* atan(+-0,+anything)=+-0 */
case 2: return pi+tiny;/* atan(+0,-anything) = pi */
case 3: return -pi-tiny;/* atan(-0,-anything) =-pi */
}
}
/* when x = 0 */
if((ix|lx)==0) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny;
/* when x is INF */
if(ix==0x7ff00000) {
if(iy==0x7ff00000) {
switch(m) {
case 0: return pi_o_4+tiny;/* atan(+INF,+INF) */
case 1: return -pi_o_4-tiny;/* atan(-INF,+INF) */
case 2: return 3.0*pi_o_4+tiny;/*atan(+INF,-INF)*/
case 3: return -3.0*pi_o_4-tiny;/*atan(-INF,-INF)*/
}
} else {
switch(m) {
case 0: return zero ; /* atan(+...,+INF) */
case 1: return -zero ; /* atan(-...,+INF) */
case 2: return pi+tiny ; /* atan(+...,-INF) */
case 3: return -pi-tiny ; /* atan(-...,-INF) */
}
}
}
/* when y is INF */
if(iy==0x7ff00000) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny;
/* compute y/x */
k = (iy-ix)>>20;
if(k > 60) z=pi_o_2+0.5*pi_lo; /* |y/x| > 2**60 */
else if(hx<0&&k<-60) z=0.0; /* |y|/x < -2**60 */
else z=fd_atan(fd_fabs(y/x)); /* safe to do y/x */
switch (m) {
case 0: return z ; /* atan(+,+) */
case 1: __HI(z) ^= 0x80000000;
return z ; /* atan(-,+) */
case 2: return pi-(z-pi_lo);/* atan(+,-) */
default: /* case 3 */
return (z-pi_lo)-pi;/* atan(-,-) */
}
}

View File

@@ -1,101 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_atanh.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/* __ieee754_atanh(x)
* Method :
* 1.Reduced x to positive by atanh(-x) = -atanh(x)
* 2.For x>=0.5
* 1 2x x
* atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------)
* 2 1 - x 1 - x
*
* For x<0.5
* atanh(x) = 0.5*log1p(2x+2x*x/(1-x))
*
* Special cases:
* atanh(x) is NaN if |x| > 1 with signal;
* atanh(NaN) is that NaN with no signal;
* atanh(+-1) is +-INF with signal.
*
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double one = 1.0, really_big = 1e300;
#else
static double one = 1.0, really_big = 1e300;
#endif
static double zero = 0.0;
#ifdef __STDC__
double __ieee754_atanh(double x)
#else
double __ieee754_atanh(x)
double x;
#endif
{
double t;
int hx,ix;
unsigned lx;
hx = __HI(x); /* high word */
lx = __LO(x); /* low word */
ix = hx&0x7fffffff;
if ((ix|((lx|(-(int)lx))>>31))>0x3ff00000) /* |x|>1 */
return (x-x)/(x-x);
if(ix==0x3ff00000)
return x/zero;
if(ix<0x3e300000&&(really_big+x)>zero) return x; /* x<2**-28 */
__HI(x) = ix; /* x <- |x| */
if(ix<0x3fe00000) { /* x < 0.5 */
t = x+x;
t = 0.5*fd_log1p(t+t*x/(one-x));
} else
t = 0.5*fd_log1p((x+x)/(one-x));
if(hx>=0) return t; else return -t;
}

View File

@@ -1,126 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_cosh.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_cosh(x)
* Method :
* mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2
* 1. Replace x by |x| (cosh(x) = cosh(-x)).
* 2.
* [ exp(x) - 1 ]^2
* 0 <= x <= ln2/2 : cosh(x) := 1 + -------------------
* 2*exp(x)
*
* exp(x) + 1/exp(x)
* ln2/2 <= x <= 22 : cosh(x) := -------------------
* 2
* 22 <= x <= lnovft : cosh(x) := exp(x)/2
* lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2)
* ln2ovft < x : cosh(x) := huge*huge (overflow)
*
* Special cases:
* cosh(x) is |x| if x is +INF, -INF, or NaN.
* only cosh(0)=1 is exact for finite x.
*/
#include "fdlibm.h"
#ifdef _WIN32
#define huge myhuge
#endif
#ifdef __STDC__
static const double one = 1.0, half=0.5, really_big = 1.0e300;
#else
static double one = 1.0, half=0.5, really_big = 1.0e300;
#endif
#ifdef __STDC__
double __ieee754_cosh(double x)
#else
double __ieee754_cosh(x)
double x;
#endif
{
double t,w;
int ix;
unsigned lx;
/* High word of |x|. */
ix = __HI(x);
ix &= 0x7fffffff;
/* x is INF or NaN */
if(ix>=0x7ff00000) return x*x;
/* |x| in [0,0.5*ln2], return 1+expm1(|x|)^2/(2*exp(|x|)) */
if(ix<0x3fd62e43) {
t = fd_expm1(fd_fabs(x));
w = one+t;
if (ix<0x3c800000) return w; /* cosh(tiny) = 1 */
return one+(t*t)/(w+w);
}
/* |x| in [0.5*ln2,22], return (exp(|x|)+1/exp(|x|)/2; */
if (ix < 0x40360000) {
t = __ieee754_exp(fd_fabs(x));
return half*t+half/t;
}
/* |x| in [22, log(maxdouble)] return half*exp(|x|) */
if (ix < 0x40862E42) return half*__ieee754_exp(fd_fabs(x));
/* |x| in [log(maxdouble), overflowthresold] */
lx = *( (((*(unsigned*)&one)>>29)) + (unsigned*)&x);
if (ix<0x408633CE ||
(ix==0x408633ce)&&(lx<=(unsigned)0x8fb9f87d)) {
w = __ieee754_exp(half*fd_fabs(x));
t = half*w;
return t*w;
}
/* |x| > overflowthresold, cosh(x) overflow */
return really_big*really_big;
}

View File

@@ -1,200 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_exp.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_exp(x)
* Returns the exponential of x.
*
* Method
* 1. Argument reduction:
* Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658.
* Given x, find r and integer k such that
*
* x = k*ln2 + r, |r| <= 0.5*ln2.
*
* Here r will be represented as r = hi-lo for better
* accuracy.
*
* 2. Approximation of exp(r) by a special rational function on
* the interval [0,0.34658]:
* Write
* R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ...
* We use a special Reme algorithm on [0,0.34658] to generate
* a polynomial of degree 5 to approximate R. The maximum error
* of this polynomial approximation is bounded by 2**-59. In
* other words,
* R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5
* (where z=r*r, and the values of P1 to P5 are listed below)
* and
* | 5 | -59
* | 2.0+P1*z+...+P5*z - R(z) | <= 2
* | |
* The computation of exp(r) thus becomes
* 2*r
* exp(r) = 1 + -------
* R - r
* r*R1(r)
* = 1 + r + ----------- (for better accuracy)
* 2 - R1(r)
* where
* 2 4 10
* R1(r) = r - (P1*r + P2*r + ... + P5*r ).
*
* 3. Scale back to obtain exp(x):
* From step 1, we have
* exp(x) = 2^k * exp(r)
*
* Special cases:
* exp(INF) is INF, exp(NaN) is NaN;
* exp(-INF) is 0, and
* for finite argument, only exp(0)=1 is exact.
*
* Accuracy:
* according to an error analysis, the error is always less than
* 1 ulp (unit in the last place).
*
* Misc. info.
* For IEEE double
* if x > 7.09782712893383973096e+02 then exp(x) overflow
* if x < -7.45133219101941108420e+02 then exp(x) underflow
*
* Constants:
* The hexadecimal values are the intended ones for the following
* constants. The decimal values may be used, provided that the
* compiler will convert from decimal to binary accurately enough
* to produce the hexadecimal values shown.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
one = 1.0,
halF[2] = {0.5,-0.5,},
really_big = 1.0e+300,
twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/
o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */
u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */
ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */
-6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */
ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */
-1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */
invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */
P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
#ifdef __STDC__
double __ieee754_exp(double x) /* default IEEE double exp */
#else
double __ieee754_exp(x) /* default IEEE double exp */
double x;
#endif
{
#ifdef GCC_OPT_BUG
volatile int xsb;
#else
int xsb;
#endif
double y,hi,lo,c,t;
int k;
unsigned hx;
hx = __HI(x); /* high word of x */
xsb = (hx>>31)&1; /* sign bit of x */
hx &= 0x7fffffff; /* high word of |x| */
k = 0; /* prevent warning */
/* filter out non-finite argument */
if(hx >= 0x40862E42) { /* if |x|>=709.78... */
if(hx>=0x7ff00000) {
if(((hx&0xfffff)|__LO(x))!=0)
return x+x; /* NaN */
else return (xsb==0)? x:0.0; /* exp(+-inf)={inf,0} */
}
if(x > o_threshold) return really_big*really_big; /* overflow */
if(x < u_threshold) return twom1000*twom1000; /* underflow */
}
/* argument reduction */
if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */
if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */
hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb;
} else {
k = (int)(invln2*x+halF[xsb]);
t = k;
hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */
lo = t*ln2LO[0];
}
x = hi - lo;
}
else if(hx < 0x3e300000) { /* when |x|<2**-28 */
if(really_big+x>one) return one+x;/* trigger inexact */
}
else {
k = 0;
hi = 0; /* Unused when k = 0, but prevent warning. */
lo = 0;
}
/* x is now in primary range */
t = x*x;
c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
if(k==0) return one-((x*c)/(c-2.0)-x);
else y = one-((lo-(x*c)/(2.0-c))-hi);
if(k >= -1021) {
__HI(y) += (k<<20); /* add k to y's exponent */
return y;
} else {
__HI(y) += ((k+1000)<<20);/* add k to y's exponent */
return y*twom1000;
}
}

View File

@@ -1,173 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_fmod.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* __ieee754_fmod(x,y)
* Return x mod y in exact arithmetic
* Method: shift and subtract
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double one = 1.0, Zero[] = {0.0, -0.0,};
#else
static double one = 1.0, Zero[] = {0.0, -0.0,};
#endif
#ifdef __STDC__
double __ieee754_fmod(double x, double y)
#else
double __ieee754_fmod(x,y)
double x,y ;
#endif
{
int n,hx,hy,hz,ix,iy,sx,i;
unsigned lx,ly,lz;
hx = __HI(x); /* high word of x */
lx = __LO(x); /* low word of x */
hy = __HI(y); /* high word of y */
ly = __LO(y); /* low word of y */
sx = hx&0x80000000; /* sign of x */
hx ^=sx; /* |x| */
hy &= 0x7fffffff; /* |y| */
/* purge off exception values */
if((hy|ly)==0||(hx>=0x7ff00000)|| /* y=0,or x not finite */
((hy|((ly|-(int)ly)>>31))>0x7ff00000)) /* or y is NaN */
return (x*y)/(x*y);
if(hx<=hy) {
if((hx<hy)||(lx<ly)) return x; /* |x|<|y| return x */
if(lx==ly)
return Zero[(unsigned)sx>>31]; /* |x|=|y| return x*0*/
}
/* determine ix = ilogb(x) */
if(hx<0x00100000) { /* subnormal x */
if(hx==0) {
for (ix = -1043, i=lx; i>0; i<<=1) ix -=1;
} else {
for (ix = -1022,i=(hx<<11); i>0; i<<=1) ix -=1;
}
} else ix = (hx>>20)-1023;
/* determine iy = ilogb(y) */
if(hy<0x00100000) { /* subnormal y */
if(hy==0) {
for (iy = -1043, i=ly; i>0; i<<=1) iy -=1;
} else {
for (iy = -1022,i=(hy<<11); i>0; i<<=1) iy -=1;
}
} else iy = (hy>>20)-1023;
/* set up {hx,lx}, {hy,ly} and align y to x */
if(ix >= -1022)
hx = 0x00100000|(0x000fffff&hx);
else { /* subnormal x, shift x to normal */
n = -1022-ix;
if(n<=31) {
hx = (hx<<n)|(lx>>(32-n));
lx <<= n;
} else {
hx = lx<<(n-32);
lx = 0;
}
}
if(iy >= -1022)
hy = 0x00100000|(0x000fffff&hy);
else { /* subnormal y, shift y to normal */
n = -1022-iy;
if(n<=31) {
hy = (hy<<n)|(ly>>(32-n));
ly <<= n;
} else {
hy = ly<<(n-32);
ly = 0;
}
}
/* fix point fmod */
n = ix - iy;
while(n--) {
hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
if(hz<0){hx = hx+hx+(lx>>31); lx = lx+lx;}
else {
if((hz|lz)==0) /* return sign(x)*0 */
return Zero[(unsigned)sx>>31];
hx = hz+hz+(lz>>31); lx = lz+lz;
}
}
hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
if(hz>=0) {hx=hz;lx=lz;}
/* convert back to floating value and restore the sign */
if((hx|lx)==0) /* return sign(x)*0 */
return Zero[(unsigned)sx>>31];
while(hx<0x00100000) { /* normalize x */
hx = hx+hx+(lx>>31); lx = lx+lx;
iy -= 1;
}
if(iy>= -1022) { /* normalize output */
hx = ((hx-0x00100000)|((iy+1023)<<20));
__HI(x) = hx|sx;
__LO(x) = lx;
} else { /* subnormal output */
n = -1022 - iy;
if(n<=20) {
lx = (lx>>n)|((unsigned)hx<<(32-n));
hx >>= n;
} else if (n<=31) {
lx = (hx<<(32-n))|(lx>>n); hx = sx;
} else {
lx = hx>>(n-32); hx = sx;
}
__HI(x) = hx|sx;
__LO(x) = lx;
x *= one; /* create necessary signal */
}
return x; /* exact output */
}

View File

@@ -1,66 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_gamma.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/* __ieee754_gamma(x)
* Return the logarithm of the Gamma function of x.
*
* Method: call __ieee754_gamma_r
*/
#include "fdlibm.h"
extern int signgam;
#ifdef __STDC__
double __ieee754_gamma(double x)
#else
double __ieee754_gamma(x)
double x;
#endif
{
return __ieee754_gamma_r(x,&signgam);
}

View File

@@ -1,65 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_gamma_r.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/* __ieee754_gamma_r(x, signgamp)
* Reentrant version of the logarithm of the Gamma function
* with user provide pointer for the sign of Gamma(x).
*
* Method: See __ieee754_lgamma_r
*/
#include "fdlibm.h"
#ifdef __STDC__
double __ieee754_gamma_r(double x, int *signgamp)
#else
double __ieee754_gamma_r(x,signgamp)
double x; int *signgamp;
#endif
{
return __ieee754_lgamma_r(x,signgamp);
}

View File

@@ -1,148 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_hypot.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_hypot(x,y)
*
* Method :
* If (assume round-to-nearest) z=x*x+y*y
* has error less than sqrt(2)/2 ulp, than
* sqrt(z) has error less than 1 ulp (exercise).
*
* So, compute sqrt(x*x+y*y) with some care as
* follows to get the error below 1 ulp:
*
* Assume x>y>0;
* (if possible, set rounding to round-to-nearest)
* 1. if x > 2y use
* x1*x1+(y*y+(x2*(x+x1))) for x*x+y*y
* where x1 = x with lower 32 bits cleared, x2 = x-x1; else
* 2. if x <= 2y use
* t1*y1+((x-y)*(x-y)+(t1*y2+t2*y))
* where t1 = 2x with lower 32 bits cleared, t2 = 2x-t1,
* y1= y with lower 32 bits chopped, y2 = y-y1.
*
* NOTE: scaling may be necessary if some argument is too
* large or too tiny
*
* Special cases:
* hypot(x,y) is INF if x or y is +INF or -INF; else
* hypot(x,y) is NAN if x or y is NAN.
*
* Accuracy:
* hypot(x,y) returns sqrt(x^2+y^2) with error less
* than 1 ulps (units in the last place)
*/
#include "fdlibm.h"
#ifdef __STDC__
double __ieee754_hypot(double x, double y)
#else
double __ieee754_hypot(x,y)
double x, y;
#endif
{
double a=x,b=y,t1,t2,y1,y2,w;
int j,k,ha,hb;
ha = __HI(x)&0x7fffffff; /* high word of x */
hb = __HI(y)&0x7fffffff; /* high word of y */
if(hb > ha) {a=y;b=x;j=ha; ha=hb;hb=j;} else {a=x;b=y;}
__HI(a) = ha; /* a <- |a| */
__HI(b) = hb; /* b <- |b| */
if((ha-hb)>0x3c00000) {return a+b;} /* x/y > 2**60 */
k=0;
if(ha > 0x5f300000) { /* a>2**500 */
if(ha >= 0x7ff00000) { /* Inf or NaN */
w = a+b; /* for sNaN */
if(((ha&0xfffff)|__LO(a))==0) w = a;
if(((hb^0x7ff00000)|__LO(b))==0) w = b;
return w;
}
/* scale a and b by 2**-600 */
ha -= 0x25800000; hb -= 0x25800000; k += 600;
__HI(a) = ha;
__HI(b) = hb;
}
if(hb < 0x20b00000) { /* b < 2**-500 */
if(hb <= 0x000fffff) { /* subnormal b or 0 */
if((hb|(__LO(b)))==0) return a;
t1=0;
__HI(t1) = 0x7fd00000; /* t1=2^1022 */
b *= t1;
a *= t1;
k -= 1022;
} else { /* scale a and b by 2^600 */
ha += 0x25800000; /* a *= 2^600 */
hb += 0x25800000; /* b *= 2^600 */
k -= 600;
__HI(a) = ha;
__HI(b) = hb;
}
}
/* medium size a and b */
w = a-b;
if (w>b) {
t1 = 0;
__HI(t1) = ha;
t2 = a-t1;
w = fd_sqrt(t1*t1-(b*(-b)-t2*(a+t1)));
} else {
a = a+a;
y1 = 0;
__HI(y1) = hb;
y2 = b - y1;
t1 = 0;
__HI(t1) = ha+0x00100000;
t2 = a - t1;
w = fd_sqrt(t1*y1-(w*(-w)-(t1*y2+t2*b)));
}
if(k!=0) {
t1 = 1.0;
__HI(t1) += (k<<20);
return t1*w;
} else return w;
}

View File

@@ -1,511 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_j0.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_j0(x), __ieee754_y0(x)
* Bessel function of the first and second kinds of order zero.
* Method -- j0(x):
* 1. For tiny x, we use j0(x) = 1 - x^2/4 + x^4/64 - ...
* 2. Reduce x to |x| since j0(x)=j0(-x), and
* for x in (0,2)
* j0(x) = 1-z/4+ z^2*R0/S0, where z = x*x;
* (precision: |j0-1+z/4-z^2R0/S0 |<2**-63.67 )
* for x in (2,inf)
* j0(x) = sqrt(2/(pi*x))*(p0(x)*cos(x0)-q0(x)*sin(x0))
* where x0 = x-pi/4. It is better to compute sin(x0),cos(x0)
* as follow:
* cos(x0) = cos(x)cos(pi/4)+sin(x)sin(pi/4)
* = 1/sqrt(2) * (cos(x) + sin(x))
* sin(x0) = sin(x)cos(pi/4)-cos(x)sin(pi/4)
* = 1/sqrt(2) * (sin(x) - cos(x))
* (To avoid cancellation, use
* sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
* to compute the worse one.)
*
* 3 Special cases
* j0(nan)= nan
* j0(0) = 1
* j0(inf) = 0
*
* Method -- y0(x):
* 1. For x<2.
* Since
* y0(x) = 2/pi*(j0(x)*(ln(x/2)+Euler) + x^2/4 - ...)
* therefore y0(x)-2/pi*j0(x)*ln(x) is an even function.
* We use the following function to approximate y0,
* y0(x) = U(z)/V(z) + (2/pi)*(j0(x)*ln(x)), z= x^2
* where
* U(z) = u00 + u01*z + ... + u06*z^6
* V(z) = 1 + v01*z + ... + v04*z^4
* with absolute approximation error bounded by 2**-72.
* Note: For tiny x, U/V = u0 and j0(x)~1, hence
* y0(tiny) = u0 + (2/pi)*ln(tiny), (choose tiny<2**-27)
* 2. For x>=2.
* y0(x) = sqrt(2/(pi*x))*(p0(x)*cos(x0)+q0(x)*sin(x0))
* where x0 = x-pi/4. It is better to compute sin(x0),cos(x0)
* by the method mentioned above.
* 3. Special cases: y0(0)=-inf, y0(x<0)=NaN, y0(inf)=0.
*/
#include "fdlibm.h"
#ifdef __STDC__
static double pzero(double), qzero(double);
#else
static double pzero(), qzero();
#endif
#ifdef __STDC__
static const double
#else
static double
#endif
really_big = 1e300,
one = 1.0,
invsqrtpi= 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
tpi = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
/* R0/S0 on [0, 2.00] */
R02 = 1.56249999999999947958e-02, /* 0x3F8FFFFF, 0xFFFFFFFD */
R03 = -1.89979294238854721751e-04, /* 0xBF28E6A5, 0xB61AC6E9 */
R04 = 1.82954049532700665670e-06, /* 0x3EBEB1D1, 0x0C503919 */
R05 = -4.61832688532103189199e-09, /* 0xBE33D5E7, 0x73D63FCE */
S01 = 1.56191029464890010492e-02, /* 0x3F8FFCE8, 0x82C8C2A4 */
S02 = 1.16926784663337450260e-04, /* 0x3F1EA6D2, 0xDD57DBF4 */
S03 = 5.13546550207318111446e-07, /* 0x3EA13B54, 0xCE84D5A9 */
S04 = 1.16614003333790000205e-09; /* 0x3E1408BC, 0xF4745D8F */
static double zero = 0.0;
#ifdef __STDC__
double __ieee754_j0(double x)
#else
double __ieee754_j0(x)
double x;
#endif
{
double z, s,c,ss,cc,r,u,v;
int hx,ix;
hx = __HI(x);
ix = hx&0x7fffffff;
if(ix>=0x7ff00000) return one/(x*x);
x = fd_fabs(x);
if(ix >= 0x40000000) { /* |x| >= 2.0 */
s = fd_sin(x);
c = fd_cos(x);
ss = s-c;
cc = s+c;
if(ix<0x7fe00000) { /* make sure x+x not overflow */
z = -fd_cos(x+x);
if ((s*c)<zero) cc = z/ss;
else ss = z/cc;
}
/*
* j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
* y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
*/
if(ix>0x48000000) z = (invsqrtpi*cc)/fd_sqrt(x);
else {
u = pzero(x); v = qzero(x);
z = invsqrtpi*(u*cc-v*ss)/fd_sqrt(x);
}
return z;
}
if(ix<0x3f200000) { /* |x| < 2**-13 */
if(really_big+x>one) { /* raise inexact if x != 0 */
if(ix<0x3e400000) return one; /* |x|<2**-27 */
else return one - 0.25*x*x;
}
}
z = x*x;
r = z*(R02+z*(R03+z*(R04+z*R05)));
s = one+z*(S01+z*(S02+z*(S03+z*S04)));
if(ix < 0x3FF00000) { /* |x| < 1.00 */
return one + z*(-0.25+(r/s));
} else {
u = 0.5*x;
return((one+u)*(one-u)+z*(r/s));
}
}
#ifdef __STDC__
static const double
#else
static double
#endif
u00 = -7.38042951086872317523e-02, /* 0xBFB2E4D6, 0x99CBD01F */
u01 = 1.76666452509181115538e-01, /* 0x3FC69D01, 0x9DE9E3FC */
u02 = -1.38185671945596898896e-02, /* 0xBF8C4CE8, 0xB16CFA97 */
u03 = 3.47453432093683650238e-04, /* 0x3F36C54D, 0x20B29B6B */
u04 = -3.81407053724364161125e-06, /* 0xBECFFEA7, 0x73D25CAD */
u05 = 1.95590137035022920206e-08, /* 0x3E550057, 0x3B4EABD4 */
u06 = -3.98205194132103398453e-11, /* 0xBDC5E43D, 0x693FB3C8 */
v01 = 1.27304834834123699328e-02, /* 0x3F8A1270, 0x91C9C71A */
v02 = 7.60068627350353253702e-05, /* 0x3F13ECBB, 0xF578C6C1 */
v03 = 2.59150851840457805467e-07, /* 0x3E91642D, 0x7FF202FD */
v04 = 4.41110311332675467403e-10; /* 0x3DFE5018, 0x3BD6D9EF */
#ifdef __STDC__
double __ieee754_y0(double x)
#else
double __ieee754_y0(x)
double x;
#endif
{
double z, s,c,ss,cc,u,v;
int hx,ix,lx;
hx = __HI(x);
ix = 0x7fffffff&hx;
lx = __LO(x);
/* Y0(NaN) is NaN, y0(-inf) is Nan, y0(inf) is 0 */
if(ix>=0x7ff00000) return one/(x+x*x);
if((ix|lx)==0) return -one/zero;
if(hx<0) return zero/zero;
if(ix >= 0x40000000) { /* |x| >= 2.0 */
/* y0(x) = sqrt(2/(pi*x))*(p0(x)*sin(x0)+q0(x)*cos(x0))
* where x0 = x-pi/4
* Better formula:
* cos(x0) = cos(x)cos(pi/4)+sin(x)sin(pi/4)
* = 1/sqrt(2) * (sin(x) + cos(x))
* sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
* = 1/sqrt(2) * (sin(x) - cos(x))
* To avoid cancellation, use
* sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
* to compute the worse one.
*/
s = fd_sin(x);
c = fd_cos(x);
ss = s-c;
cc = s+c;
/*
* j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
* y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
*/
if(ix<0x7fe00000) { /* make sure x+x not overflow */
z = -fd_cos(x+x);
if ((s*c)<zero) cc = z/ss;
else ss = z/cc;
}
if(ix>0x48000000) z = (invsqrtpi*ss)/fd_sqrt(x);
else {
u = pzero(x); v = qzero(x);
z = invsqrtpi*(u*ss+v*cc)/fd_sqrt(x);
}
return z;
}
if(ix<=0x3e400000) { /* x < 2**-27 */
return(u00 + tpi*__ieee754_log(x));
}
z = x*x;
u = u00+z*(u01+z*(u02+z*(u03+z*(u04+z*(u05+z*u06)))));
v = one+z*(v01+z*(v02+z*(v03+z*v04)));
return(u/v + tpi*(__ieee754_j0(x)*__ieee754_log(x)));
}
/* The asymptotic expansions of pzero is
* 1 - 9/128 s^2 + 11025/98304 s^4 - ..., where s = 1/x.
* For x >= 2, We approximate pzero by
* pzero(x) = 1 + (R/S)
* where R = pR0 + pR1*s^2 + pR2*s^4 + ... + pR5*s^10
* S = 1 + pS0*s^2 + ... + pS4*s^10
* and
* | pzero(x)-1-R/S | <= 2 ** ( -60.26)
*/
#ifdef __STDC__
static const double pR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
#else
static double pR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
#endif
0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
-7.03124999999900357484e-02, /* 0xBFB1FFFF, 0xFFFFFD32 */
-8.08167041275349795626e+00, /* 0xC02029D0, 0xB44FA779 */
-2.57063105679704847262e+02, /* 0xC0701102, 0x7B19E863 */
-2.48521641009428822144e+03, /* 0xC0A36A6E, 0xCD4DCAFC */
-5.25304380490729545272e+03, /* 0xC0B4850B, 0x36CC643D */
};
#ifdef __STDC__
static const double pS8[5] = {
#else
static double pS8[5] = {
#endif
1.16534364619668181717e+02, /* 0x405D2233, 0x07A96751 */
3.83374475364121826715e+03, /* 0x40ADF37D, 0x50596938 */
4.05978572648472545552e+04, /* 0x40E3D2BB, 0x6EB6B05F */
1.16752972564375915681e+05, /* 0x40FC810F, 0x8F9FA9BD */
4.76277284146730962675e+04, /* 0x40E74177, 0x4F2C49DC */
};
#ifdef __STDC__
static const double pR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
#else
static double pR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
#endif
-1.14125464691894502584e-11, /* 0xBDA918B1, 0x47E495CC */
-7.03124940873599280078e-02, /* 0xBFB1FFFF, 0xE69AFBC6 */
-4.15961064470587782438e+00, /* 0xC010A370, 0xF90C6BBF */
-6.76747652265167261021e+01, /* 0xC050EB2F, 0x5A7D1783 */
-3.31231299649172967747e+02, /* 0xC074B3B3, 0x6742CC63 */
-3.46433388365604912451e+02, /* 0xC075A6EF, 0x28A38BD7 */
};
#ifdef __STDC__
static const double pS5[5] = {
#else
static double pS5[5] = {
#endif
6.07539382692300335975e+01, /* 0x404E6081, 0x0C98C5DE */
1.05125230595704579173e+03, /* 0x40906D02, 0x5C7E2864 */
5.97897094333855784498e+03, /* 0x40B75AF8, 0x8FBE1D60 */
9.62544514357774460223e+03, /* 0x40C2CCB8, 0xFA76FA38 */
2.40605815922939109441e+03, /* 0x40A2CC1D, 0xC70BE864 */
};
#ifdef __STDC__
static const double pR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
#else
static double pR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
#endif
-2.54704601771951915620e-09, /* 0xBE25E103, 0x6FE1AA86 */
-7.03119616381481654654e-02, /* 0xBFB1FFF6, 0xF7C0E24B */
-2.40903221549529611423e+00, /* 0xC00345B2, 0xAEA48074 */
-2.19659774734883086467e+01, /* 0xC035F74A, 0x4CB94E14 */
-5.80791704701737572236e+01, /* 0xC04D0A22, 0x420A1A45 */
-3.14479470594888503854e+01, /* 0xC03F72AC, 0xA892D80F */
};
#ifdef __STDC__
static const double pS3[5] = {
#else
static double pS3[5] = {
#endif
3.58560338055209726349e+01, /* 0x4041ED92, 0x84077DD3 */
3.61513983050303863820e+02, /* 0x40769839, 0x464A7C0E */
1.19360783792111533330e+03, /* 0x4092A66E, 0x6D1061D6 */
1.12799679856907414432e+03, /* 0x40919FFC, 0xB8C39B7E */
1.73580930813335754692e+02, /* 0x4065B296, 0xFC379081 */
};
#ifdef __STDC__
static const double pR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
#else
static double pR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
#endif
-8.87534333032526411254e-08, /* 0xBE77D316, 0xE927026D */
-7.03030995483624743247e-02, /* 0xBFB1FF62, 0x495E1E42 */
-1.45073846780952986357e+00, /* 0xBFF73639, 0x8A24A843 */
-7.63569613823527770791e+00, /* 0xC01E8AF3, 0xEDAFA7F3 */
-1.11931668860356747786e+01, /* 0xC02662E6, 0xC5246303 */
-3.23364579351335335033e+00, /* 0xC009DE81, 0xAF8FE70F */
};
#ifdef __STDC__
static const double pS2[5] = {
#else
static double pS2[5] = {
#endif
2.22202997532088808441e+01, /* 0x40363865, 0x908B5959 */
1.36206794218215208048e+02, /* 0x4061069E, 0x0EE8878F */
2.70470278658083486789e+02, /* 0x4070E786, 0x42EA079B */
1.53875394208320329881e+02, /* 0x40633C03, 0x3AB6FAFF */
1.46576176948256193810e+01, /* 0x402D50B3, 0x44391809 */
};
#ifdef __STDC__
static double pzero(double x)
#else
static double pzero(x)
double x;
#endif
{
#ifdef __STDC__
const double *p,*q;
#else
double *p,*q;
#endif
double z,r,s;
int ix;
ix = 0x7fffffff&__HI(x);
if(ix>=0x40200000) {p = pR8; q= pS8;}
else if(ix>=0x40122E8B){p = pR5; q= pS5;}
else if(ix>=0x4006DB6D){p = pR3; q= pS3;}
else if(ix>=0x40000000){p = pR2; q= pS2;}
z = one/(x*x);
r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
return one+ r/s;
}
/* For x >= 8, the asymptotic expansions of qzero is
* -1/8 s + 75/1024 s^3 - ..., where s = 1/x.
* We approximate pzero by
* qzero(x) = s*(-1.25 + (R/S))
* where R = qR0 + qR1*s^2 + qR2*s^4 + ... + qR5*s^10
* S = 1 + qS0*s^2 + ... + qS5*s^12
* and
* | qzero(x)/s +1.25-R/S | <= 2 ** ( -61.22)
*/
#ifdef __STDC__
static const double qR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
#else
static double qR8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
#endif
0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
7.32421874999935051953e-02, /* 0x3FB2BFFF, 0xFFFFFE2C */
1.17682064682252693899e+01, /* 0x40278952, 0x5BB334D6 */
5.57673380256401856059e+02, /* 0x40816D63, 0x15301825 */
8.85919720756468632317e+03, /* 0x40C14D99, 0x3E18F46D */
3.70146267776887834771e+04, /* 0x40E212D4, 0x0E901566 */
};
#ifdef __STDC__
static const double qS8[6] = {
#else
static double qS8[6] = {
#endif
1.63776026895689824414e+02, /* 0x406478D5, 0x365B39BC */
8.09834494656449805916e+03, /* 0x40BFA258, 0x4E6B0563 */
1.42538291419120476348e+05, /* 0x41016652, 0x54D38C3F */
8.03309257119514397345e+05, /* 0x412883DA, 0x83A52B43 */
8.40501579819060512818e+05, /* 0x4129A66B, 0x28DE0B3D */
-3.43899293537866615225e+05, /* 0xC114FD6D, 0x2C9530C5 */
};
#ifdef __STDC__
static const double qR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
#else
static double qR5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
#endif
1.84085963594515531381e-11, /* 0x3DB43D8F, 0x29CC8CD9 */
7.32421766612684765896e-02, /* 0x3FB2BFFF, 0xD172B04C */
5.83563508962056953777e+00, /* 0x401757B0, 0xB9953DD3 */
1.35111577286449829671e+02, /* 0x4060E392, 0x0A8788E9 */
1.02724376596164097464e+03, /* 0x40900CF9, 0x9DC8C481 */
1.98997785864605384631e+03, /* 0x409F17E9, 0x53C6E3A6 */
};
#ifdef __STDC__
static const double qS5[6] = {
#else
static double qS5[6] = {
#endif
8.27766102236537761883e+01, /* 0x4054B1B3, 0xFB5E1543 */
2.07781416421392987104e+03, /* 0x40A03BA0, 0xDA21C0CE */
1.88472887785718085070e+04, /* 0x40D267D2, 0x7B591E6D */
5.67511122894947329769e+04, /* 0x40EBB5E3, 0x97E02372 */
3.59767538425114471465e+04, /* 0x40E19118, 0x1F7A54A0 */
-5.35434275601944773371e+03, /* 0xC0B4EA57, 0xBEDBC609 */
};
#ifdef __STDC__
static const double qR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
#else
static double qR3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
#endif
4.37741014089738620906e-09, /* 0x3E32CD03, 0x6ADECB82 */
7.32411180042911447163e-02, /* 0x3FB2BFEE, 0x0E8D0842 */
3.34423137516170720929e+00, /* 0x400AC0FC, 0x61149CF5 */
4.26218440745412650017e+01, /* 0x40454F98, 0x962DAEDD */
1.70808091340565596283e+02, /* 0x406559DB, 0xE25EFD1F */
1.66733948696651168575e+02, /* 0x4064D77C, 0x81FA21E0 */
};
#ifdef __STDC__
static const double qS3[6] = {
#else
static double qS3[6] = {
#endif
4.87588729724587182091e+01, /* 0x40486122, 0xBFE343A6 */
7.09689221056606015736e+02, /* 0x40862D83, 0x86544EB3 */
3.70414822620111362994e+03, /* 0x40ACF04B, 0xE44DFC63 */
6.46042516752568917582e+03, /* 0x40B93C6C, 0xD7C76A28 */
2.51633368920368957333e+03, /* 0x40A3A8AA, 0xD94FB1C0 */
-1.49247451836156386662e+02, /* 0xC062A7EB, 0x201CF40F */
};
#ifdef __STDC__
static const double qR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
#else
static double qR2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
#endif
1.50444444886983272379e-07, /* 0x3E84313B, 0x54F76BDB */
7.32234265963079278272e-02, /* 0x3FB2BEC5, 0x3E883E34 */
1.99819174093815998816e+00, /* 0x3FFFF897, 0xE727779C */
1.44956029347885735348e+01, /* 0x402CFDBF, 0xAAF96FE5 */
3.16662317504781540833e+01, /* 0x403FAA8E, 0x29FBDC4A */
1.62527075710929267416e+01, /* 0x403040B1, 0x71814BB4 */
};
#ifdef __STDC__
static const double qS2[6] = {
#else
static double qS2[6] = {
#endif
3.03655848355219184498e+01, /* 0x403E5D96, 0xF7C07AED */
2.69348118608049844624e+02, /* 0x4070D591, 0xE4D14B40 */
8.44783757595320139444e+02, /* 0x408A6645, 0x22B3BF22 */
8.82935845112488550512e+02, /* 0x408B977C, 0x9C5CC214 */
2.12666388511798828631e+02, /* 0x406A9553, 0x0E001365 */
-5.31095493882666946917e+00, /* 0xC0153E6A, 0xF8B32931 */
};
#ifdef __STDC__
static double qzero(double x)
#else
static double qzero(x)
double x;
#endif
{
#ifdef __STDC__
const double *p,*q;
#else
double *p,*q;
#endif
double s,r,z;
int ix;
ix = 0x7fffffff&__HI(x);
if(ix>=0x40200000) {p = qR8; q= qS8;}
else if(ix>=0x40122E8B){p = qR5; q= qS5;}
else if(ix>=0x4006DB6D){p = qR3; q= qS3;}
else if(ix>=0x40000000){p = qR2; q= qS2;}
z = one/(x*x);
r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
return (-.125 + r/s)/x;
}

View File

@@ -1,510 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_j1.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_j1(x), __ieee754_y1(x)
* Bessel function of the first and second kinds of order zero.
* Method -- j1(x):
* 1. For tiny x, we use j1(x) = x/2 - x^3/16 + x^5/384 - ...
* 2. Reduce x to |x| since j1(x)=-j1(-x), and
* for x in (0,2)
* j1(x) = x/2 + x*z*R0/S0, where z = x*x;
* (precision: |j1/x - 1/2 - R0/S0 |<2**-61.51 )
* for x in (2,inf)
* j1(x) = sqrt(2/(pi*x))*(p1(x)*cos(x1)-q1(x)*sin(x1))
* y1(x) = sqrt(2/(pi*x))*(p1(x)*sin(x1)+q1(x)*cos(x1))
* where x1 = x-3*pi/4. It is better to compute sin(x1),cos(x1)
* as follow:
* cos(x1) = cos(x)cos(3pi/4)+sin(x)sin(3pi/4)
* = 1/sqrt(2) * (sin(x) - cos(x))
* sin(x1) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
* = -1/sqrt(2) * (sin(x) + cos(x))
* (To avoid cancellation, use
* sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
* to compute the worse one.)
*
* 3 Special cases
* j1(nan)= nan
* j1(0) = 0
* j1(inf) = 0
*
* Method -- y1(x):
* 1. screen out x<=0 cases: y1(0)=-inf, y1(x<0)=NaN
* 2. For x<2.
* Since
* y1(x) = 2/pi*(j1(x)*(ln(x/2)+Euler)-1/x-x/2+5/64*x^3-...)
* therefore y1(x)-2/pi*j1(x)*ln(x)-1/x is an odd function.
* We use the following function to approximate y1,
* y1(x) = x*U(z)/V(z) + (2/pi)*(j1(x)*ln(x)-1/x), z= x^2
* where for x in [0,2] (abs err less than 2**-65.89)
* U(z) = U0[0] + U0[1]*z + ... + U0[4]*z^4
* V(z) = 1 + v0[0]*z + ... + v0[4]*z^5
* Note: For tiny x, 1/x dominate y1 and hence
* y1(tiny) = -2/pi/tiny, (choose tiny<2**-54)
* 3. For x>=2.
* y1(x) = sqrt(2/(pi*x))*(p1(x)*sin(x1)+q1(x)*cos(x1))
* where x1 = x-3*pi/4. It is better to compute sin(x1),cos(x1)
* by method mentioned above.
*/
#include "fdlibm.h"
#ifdef __STDC__
static double pone(double), qone(double);
#else
static double pone(), qone();
#endif
#ifdef __STDC__
static const double
#else
static double
#endif
really_big = 1e300,
one = 1.0,
invsqrtpi= 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
tpi = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
/* R0/S0 on [0,2] */
r00 = -6.25000000000000000000e-02, /* 0xBFB00000, 0x00000000 */
r01 = 1.40705666955189706048e-03, /* 0x3F570D9F, 0x98472C61 */
r02 = -1.59955631084035597520e-05, /* 0xBEF0C5C6, 0xBA169668 */
r03 = 4.96727999609584448412e-08, /* 0x3E6AAAFA, 0x46CA0BD9 */
s01 = 1.91537599538363460805e-02, /* 0x3F939D0B, 0x12637E53 */
s02 = 1.85946785588630915560e-04, /* 0x3F285F56, 0xB9CDF664 */
s03 = 1.17718464042623683263e-06, /* 0x3EB3BFF8, 0x333F8498 */
s04 = 5.04636257076217042715e-09, /* 0x3E35AC88, 0xC97DFF2C */
s05 = 1.23542274426137913908e-11; /* 0x3DAB2ACF, 0xCFB97ED8 */
static double zero = 0.0;
#ifdef __STDC__
double __ieee754_j1(double x)
#else
double __ieee754_j1(x)
double x;
#endif
{
double z, s,c,ss,cc,r,u,v,y;
int hx,ix;
hx = __HI(x);
ix = hx&0x7fffffff;
if(ix>=0x7ff00000) return one/x;
y = fd_fabs(x);
if(ix >= 0x40000000) { /* |x| >= 2.0 */
s = fd_sin(y);
c = fd_cos(y);
ss = -s-c;
cc = s-c;
if(ix<0x7fe00000) { /* make sure y+y not overflow */
z = fd_cos(y+y);
if ((s*c)>zero) cc = z/ss;
else ss = z/cc;
}
/*
* j1(x) = 1/sqrt(pi) * (P(1,x)*cc - Q(1,x)*ss) / sqrt(x)
* y1(x) = 1/sqrt(pi) * (P(1,x)*ss + Q(1,x)*cc) / sqrt(x)
*/
if(ix>0x48000000) z = (invsqrtpi*cc)/fd_sqrt(y);
else {
u = pone(y); v = qone(y);
z = invsqrtpi*(u*cc-v*ss)/fd_sqrt(y);
}
if(hx<0) return -z;
else return z;
}
if(ix<0x3e400000) { /* |x|<2**-27 */
if(really_big+x>one) return 0.5*x;/* inexact if x!=0 necessary */
}
z = x*x;
r = z*(r00+z*(r01+z*(r02+z*r03)));
s = one+z*(s01+z*(s02+z*(s03+z*(s04+z*s05))));
r *= x;
return(x*0.5+r/s);
}
#ifdef __STDC__
static const double U0[5] = {
#else
static double U0[5] = {
#endif
-1.96057090646238940668e-01, /* 0xBFC91866, 0x143CBC8A */
5.04438716639811282616e-02, /* 0x3FA9D3C7, 0x76292CD1 */
-1.91256895875763547298e-03, /* 0xBF5F55E5, 0x4844F50F */
2.35252600561610495928e-05, /* 0x3EF8AB03, 0x8FA6B88E */
-9.19099158039878874504e-08, /* 0xBE78AC00, 0x569105B8 */
};
#ifdef __STDC__
static const double V0[5] = {
#else
static double V0[5] = {
#endif
1.99167318236649903973e-02, /* 0x3F94650D, 0x3F4DA9F0 */
2.02552581025135171496e-04, /* 0x3F2A8C89, 0x6C257764 */
1.35608801097516229404e-06, /* 0x3EB6C05A, 0x894E8CA6 */
6.22741452364621501295e-09, /* 0x3E3ABF1D, 0x5BA69A86 */
1.66559246207992079114e-11, /* 0x3DB25039, 0xDACA772A */
};
#ifdef __STDC__
double __ieee754_y1(double x)
#else
double __ieee754_y1(x)
double x;
#endif
{
double z, s,c,ss,cc,u,v;
int hx,ix,lx;
hx = __HI(x);
ix = 0x7fffffff&hx;
lx = __LO(x);
/* if Y1(NaN) is NaN, Y1(-inf) is NaN, Y1(inf) is 0 */
if(ix>=0x7ff00000) return one/(x+x*x);
if((ix|lx)==0) return -one/zero;
if(hx<0) return zero/zero;
if(ix >= 0x40000000) { /* |x| >= 2.0 */
s = fd_sin(x);
c = fd_cos(x);
ss = -s-c;
cc = s-c;
if(ix<0x7fe00000) { /* make sure x+x not overflow */
z = fd_cos(x+x);
if ((s*c)>zero) cc = z/ss;
else ss = z/cc;
}
/* y1(x) = sqrt(2/(pi*x))*(p1(x)*sin(x0)+q1(x)*cos(x0))
* where x0 = x-3pi/4
* Better formula:
* cos(x0) = cos(x)cos(3pi/4)+sin(x)sin(3pi/4)
* = 1/sqrt(2) * (sin(x) - cos(x))
* sin(x0) = sin(x)cos(3pi/4)-cos(x)sin(3pi/4)
* = -1/sqrt(2) * (cos(x) + sin(x))
* To avoid cancellation, use
* sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
* to compute the worse one.
*/
if(ix>0x48000000) z = (invsqrtpi*ss)/fd_sqrt(x);
else {
u = pone(x); v = qone(x);
z = invsqrtpi*(u*ss+v*cc)/fd_sqrt(x);
}
return z;
}
if(ix<=0x3c900000) { /* x < 2**-54 */
return(-tpi/x);
}
z = x*x;
u = U0[0]+z*(U0[1]+z*(U0[2]+z*(U0[3]+z*U0[4])));
v = one+z*(V0[0]+z*(V0[1]+z*(V0[2]+z*(V0[3]+z*V0[4]))));
return(x*(u/v) + tpi*(__ieee754_j1(x)*__ieee754_log(x)-one/x));
}
/* For x >= 8, the asymptotic expansions of pone is
* 1 + 15/128 s^2 - 4725/2^15 s^4 - ..., where s = 1/x.
* We approximate pone by
* pone(x) = 1 + (R/S)
* where R = pr0 + pr1*s^2 + pr2*s^4 + ... + pr5*s^10
* S = 1 + ps0*s^2 + ... + ps4*s^10
* and
* | pone(x)-1-R/S | <= 2 ** ( -60.06)
*/
#ifdef __STDC__
static const double pr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
#else
static double pr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
#endif
0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
1.17187499999988647970e-01, /* 0x3FBDFFFF, 0xFFFFFCCE */
1.32394806593073575129e+01, /* 0x402A7A9D, 0x357F7FCE */
4.12051854307378562225e+02, /* 0x4079C0D4, 0x652EA590 */
3.87474538913960532227e+03, /* 0x40AE457D, 0xA3A532CC */
7.91447954031891731574e+03, /* 0x40BEEA7A, 0xC32782DD */
};
#ifdef __STDC__
static const double ps8[5] = {
#else
static double ps8[5] = {
#endif
1.14207370375678408436e+02, /* 0x405C8D45, 0x8E656CAC */
3.65093083420853463394e+03, /* 0x40AC85DC, 0x964D274F */
3.69562060269033463555e+04, /* 0x40E20B86, 0x97C5BB7F */
9.76027935934950801311e+04, /* 0x40F7D42C, 0xB28F17BB */
3.08042720627888811578e+04, /* 0x40DE1511, 0x697A0B2D */
};
#ifdef __STDC__
static const double pr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
#else
static double pr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
#endif
1.31990519556243522749e-11, /* 0x3DAD0667, 0xDAE1CA7D */
1.17187493190614097638e-01, /* 0x3FBDFFFF, 0xE2C10043 */
6.80275127868432871736e+00, /* 0x401B3604, 0x6E6315E3 */
1.08308182990189109773e+02, /* 0x405B13B9, 0x452602ED */
5.17636139533199752805e+02, /* 0x40802D16, 0xD052D649 */
5.28715201363337541807e+02, /* 0x408085B8, 0xBB7E0CB7 */
};
#ifdef __STDC__
static const double ps5[5] = {
#else
static double ps5[5] = {
#endif
5.92805987221131331921e+01, /* 0x404DA3EA, 0xA8AF633D */
9.91401418733614377743e+02, /* 0x408EFB36, 0x1B066701 */
5.35326695291487976647e+03, /* 0x40B4E944, 0x5706B6FB */
7.84469031749551231769e+03, /* 0x40BEA4B0, 0xB8A5BB15 */
1.50404688810361062679e+03, /* 0x40978030, 0x036F5E51 */
};
#ifdef __STDC__
static const double pr3[6] = {
#else
static double pr3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
#endif
3.02503916137373618024e-09, /* 0x3E29FC21, 0xA7AD9EDD */
1.17186865567253592491e-01, /* 0x3FBDFFF5, 0x5B21D17B */
3.93297750033315640650e+00, /* 0x400F76BC, 0xE85EAD8A */
3.51194035591636932736e+01, /* 0x40418F48, 0x9DA6D129 */
9.10550110750781271918e+01, /* 0x4056C385, 0x4D2C1837 */
4.85590685197364919645e+01, /* 0x4048478F, 0x8EA83EE5 */
};
#ifdef __STDC__
static const double ps3[5] = {
#else
static double ps3[5] = {
#endif
3.47913095001251519989e+01, /* 0x40416549, 0xA134069C */
3.36762458747825746741e+02, /* 0x40750C33, 0x07F1A75F */
1.04687139975775130551e+03, /* 0x40905B7C, 0x5037D523 */
8.90811346398256432622e+02, /* 0x408BD67D, 0xA32E31E9 */
1.03787932439639277504e+02, /* 0x4059F26D, 0x7C2EED53 */
};
#ifdef __STDC__
static const double pr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
#else
static double pr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
#endif
1.07710830106873743082e-07, /* 0x3E7CE9D4, 0xF65544F4 */
1.17176219462683348094e-01, /* 0x3FBDFF42, 0xBE760D83 */
2.36851496667608785174e+00, /* 0x4002F2B7, 0xF98FAEC0 */
1.22426109148261232917e+01, /* 0x40287C37, 0x7F71A964 */
1.76939711271687727390e+01, /* 0x4031B1A8, 0x177F8EE2 */
5.07352312588818499250e+00, /* 0x40144B49, 0xA574C1FE */
};
#ifdef __STDC__
static const double ps2[5] = {
#else
static double ps2[5] = {
#endif
2.14364859363821409488e+01, /* 0x40356FBD, 0x8AD5ECDC */
1.25290227168402751090e+02, /* 0x405F5293, 0x14F92CD5 */
2.32276469057162813669e+02, /* 0x406D08D8, 0xD5A2DBD9 */
1.17679373287147100768e+02, /* 0x405D6B7A, 0xDA1884A9 */
8.36463893371618283368e+00, /* 0x4020BAB1, 0xF44E5192 */
};
#ifdef __STDC__
static double pone(double x)
#else
static double pone(x)
double x;
#endif
{
#ifdef __STDC__
const double *p,*q;
#else
double *p,*q;
#endif
double z,r,s;
int ix;
ix = 0x7fffffff&__HI(x);
if(ix>=0x40200000) {p = pr8; q= ps8;}
else if(ix>=0x40122E8B){p = pr5; q= ps5;}
else if(ix>=0x4006DB6D){p = pr3; q= ps3;}
else if(ix>=0x40000000){p = pr2; q= ps2;}
z = one/(x*x);
r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4]))));
return one+ r/s;
}
/* For x >= 8, the asymptotic expansions of qone is
* 3/8 s - 105/1024 s^3 - ..., where s = 1/x.
* We approximate pone by
* qone(x) = s*(0.375 + (R/S))
* where R = qr1*s^2 + qr2*s^4 + ... + qr5*s^10
* S = 1 + qs1*s^2 + ... + qs6*s^12
* and
* | qone(x)/s -0.375-R/S | <= 2 ** ( -61.13)
*/
#ifdef __STDC__
static const double qr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
#else
static double qr8[6] = { /* for x in [inf, 8]=1/[0,0.125] */
#endif
0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
-1.02539062499992714161e-01, /* 0xBFBA3FFF, 0xFFFFFDF3 */
-1.62717534544589987888e+01, /* 0xC0304591, 0xA26779F7 */
-7.59601722513950107896e+02, /* 0xC087BCD0, 0x53E4B576 */
-1.18498066702429587167e+04, /* 0xC0C724E7, 0x40F87415 */
-4.84385124285750353010e+04, /* 0xC0E7A6D0, 0x65D09C6A */
};
#ifdef __STDC__
static const double qs8[6] = {
#else
static double qs8[6] = {
#endif
1.61395369700722909556e+02, /* 0x40642CA6, 0xDE5BCDE5 */
7.82538599923348465381e+03, /* 0x40BE9162, 0xD0D88419 */
1.33875336287249578163e+05, /* 0x4100579A, 0xB0B75E98 */
7.19657723683240939863e+05, /* 0x4125F653, 0x72869C19 */
6.66601232617776375264e+05, /* 0x412457D2, 0x7719AD5C */
-2.94490264303834643215e+05, /* 0xC111F969, 0x0EA5AA18 */
};
#ifdef __STDC__
static const double qr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
#else
static double qr5[6] = { /* for x in [8,4.5454]=1/[0.125,0.22001] */
#endif
-2.08979931141764104297e-11, /* 0xBDB6FA43, 0x1AA1A098 */
-1.02539050241375426231e-01, /* 0xBFBA3FFF, 0xCB597FEF */
-8.05644828123936029840e+00, /* 0xC0201CE6, 0xCA03AD4B */
-1.83669607474888380239e+02, /* 0xC066F56D, 0x6CA7B9B0 */
-1.37319376065508163265e+03, /* 0xC09574C6, 0x6931734F */
-2.61244440453215656817e+03, /* 0xC0A468E3, 0x88FDA79D */
};
#ifdef __STDC__
static const double qs5[6] = {
#else
static double qs5[6] = {
#endif
8.12765501384335777857e+01, /* 0x405451B2, 0xFF5A11B2 */
1.99179873460485964642e+03, /* 0x409F1F31, 0xE77BF839 */
1.74684851924908907677e+04, /* 0x40D10F1F, 0x0D64CE29 */
4.98514270910352279316e+04, /* 0x40E8576D, 0xAABAD197 */
2.79480751638918118260e+04, /* 0x40DB4B04, 0xCF7C364B */
-4.71918354795128470869e+03, /* 0xC0B26F2E, 0xFCFFA004 */
};
#ifdef __STDC__
static const double qr3[6] = {
#else
static double qr3[6] = {/* for x in [4.547,2.8571]=1/[0.2199,0.35001] */
#endif
-5.07831226461766561369e-09, /* 0xBE35CFA9, 0xD38FC84F */
-1.02537829820837089745e-01, /* 0xBFBA3FEB, 0x51AEED54 */
-4.61011581139473403113e+00, /* 0xC01270C2, 0x3302D9FF */
-5.78472216562783643212e+01, /* 0xC04CEC71, 0xC25D16DA */
-2.28244540737631695038e+02, /* 0xC06C87D3, 0x4718D55F */
-2.19210128478909325622e+02, /* 0xC06B66B9, 0x5F5C1BF6 */
};
#ifdef __STDC__
static const double qs3[6] = {
#else
static double qs3[6] = {
#endif
4.76651550323729509273e+01, /* 0x4047D523, 0xCCD367E4 */
6.73865112676699709482e+02, /* 0x40850EEB, 0xC031EE3E */
3.38015286679526343505e+03, /* 0x40AA684E, 0x448E7C9A */
5.54772909720722782367e+03, /* 0x40B5ABBA, 0xA61D54A6 */
1.90311919338810798763e+03, /* 0x409DBC7A, 0x0DD4DF4B */
-1.35201191444307340817e+02, /* 0xC060E670, 0x290A311F */
};
#ifdef __STDC__
static const double qr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
#else
static double qr2[6] = {/* for x in [2.8570,2]=1/[0.3499,0.5] */
#endif
-1.78381727510958865572e-07, /* 0xBE87F126, 0x44C626D2 */
-1.02517042607985553460e-01, /* 0xBFBA3E8E, 0x9148B010 */
-2.75220568278187460720e+00, /* 0xC0060484, 0x69BB4EDA */
-1.96636162643703720221e+01, /* 0xC033A9E2, 0xC168907F */
-4.23253133372830490089e+01, /* 0xC04529A3, 0xDE104AAA */
-2.13719211703704061733e+01, /* 0xC0355F36, 0x39CF6E52 */
};
#ifdef __STDC__
static const double qs2[6] = {
#else
static double qs2[6] = {
#endif
2.95333629060523854548e+01, /* 0x403D888A, 0x78AE64FF */
2.52981549982190529136e+02, /* 0x406F9F68, 0xDB821CBA */
7.57502834868645436472e+02, /* 0x4087AC05, 0xCE49A0F7 */
7.39393205320467245656e+02, /* 0x40871B25, 0x48D4C029 */
1.55949003336666123687e+02, /* 0x40637E5E, 0x3C3ED8D4 */
-4.95949898822628210127e+00, /* 0xC013D686, 0xE71BE86B */
};
#ifdef __STDC__
static double qone(double x)
#else
static double qone(x)
double x;
#endif
{
#ifdef __STDC__
const double *p,*q;
#else
double *p,*q;
#endif
double s,r,z;
int ix;
ix = 0x7fffffff&__HI(x);
if(ix>=0x40200000) {p = qr8; q= qs8;}
else if(ix>=0x40122E8B){p = qr5; q= qs5;}
else if(ix>=0x4006DB6D){p = qr3; q= qs3;}
else if(ix>=0x40000000){p = qr2; q= qs2;}
z = one/(x*x);
r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5]))));
s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5])))));
return (.375 + r/s)/x;
}

View File

@@ -1,305 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_jn.c 1.4 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* __ieee754_jn(n, x), __ieee754_yn(n, x)
* floating point Bessel's function of the 1st and 2nd kind
* of order n
*
* Special cases:
* y0(0)=y1(0)=yn(n,0) = -inf with division by zero signal;
* y0(-ve)=y1(-ve)=yn(n,-ve) are NaN with invalid signal.
* Note 2. About jn(n,x), yn(n,x)
* For n=0, j0(x) is called,
* for n=1, j1(x) is called,
* for n<x, forward recursion us used starting
* from values of j0(x) and j1(x).
* for n>x, a continued fraction approximation to
* j(n,x)/j(n-1,x) is evaluated and then backward
* recursion is used starting from a supposed value
* for j(n,x). The resulting value of j(0,x) is
* compared with the actual value to correct the
* supposed value of j(n,x).
*
* yn(n,x) is similar in all respects, except
* that forward recursion is used for all
* values of n>1.
*
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
invsqrtpi= 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */
one = 1.00000000000000000000e+00; /* 0x3FF00000, 0x00000000 */
static double zero = 0.00000000000000000000e+00;
#ifdef __STDC__
double __ieee754_jn(int n, double x)
#else
double __ieee754_jn(n,x)
int n; double x;
#endif
{
int i,hx,ix,lx, sgn;
double a, b, temp, di;
double z, w;
/* J(-n,x) = (-1)^n * J(n, x), J(n, -x) = (-1)^n * J(n, x)
* Thus, J(-n,x) = J(n,-x)
*/
hx = __HI(x);
ix = 0x7fffffff&hx;
lx = __LO(x);
/* if J(n,NaN) is NaN */
if((ix|((unsigned)(lx|-lx))>>31)>0x7ff00000) return x+x;
if(n<0){
n = -n;
x = -x;
hx ^= 0x80000000;
}
if(n==0) return(__ieee754_j0(x));
if(n==1) return(__ieee754_j1(x));
sgn = (n&1)&(hx>>31); /* even n -- 0, odd n -- sign(x) */
x = fd_fabs(x);
if((ix|lx)==0||ix>=0x7ff00000) /* if x is 0 or inf */
b = zero;
else if((double)n<=x) {
/* Safe to use J(n+1,x)=2n/x *J(n,x)-J(n-1,x) */
if(ix>=0x52D00000) { /* x > 2**302 */
/* (x >> n**2)
* Jn(x) = cos(x-(2n+1)*pi/4)*sqrt(2/x*pi)
* Yn(x) = sin(x-(2n+1)*pi/4)*sqrt(2/x*pi)
* Let s=sin(x), c=cos(x),
* xn=x-(2n+1)*pi/4, sqt2 = sqrt(2),then
*
* n sin(xn)*sqt2 cos(xn)*sqt2
* ----------------------------------
* 0 s-c c+s
* 1 -s-c -c+s
* 2 -s+c -c-s
* 3 s+c c-s
*/
switch(n&3) {
case 0: temp = fd_cos(x)+fd_sin(x); break;
case 1: temp = -fd_cos(x)+fd_sin(x); break;
case 2: temp = -fd_cos(x)-fd_sin(x); break;
case 3: temp = fd_cos(x)-fd_sin(x); break;
}
b = invsqrtpi*temp/fd_sqrt(x);
} else {
a = __ieee754_j0(x);
b = __ieee754_j1(x);
for(i=1;i<n;i++){
temp = b;
b = b*((double)(i+i)/x) - a; /* avoid underflow */
a = temp;
}
}
} else {
if(ix<0x3e100000) { /* x < 2**-29 */
/* x is tiny, return the first Taylor expansion of J(n,x)
* J(n,x) = 1/n!*(x/2)^n - ...
*/
if(n>33) /* underflow */
b = zero;
else {
temp = x*0.5; b = temp;
for (a=one,i=2;i<=n;i++) {
a *= (double)i; /* a = n! */
b *= temp; /* b = (x/2)^n */
}
b = b/a;
}
} else {
/* use backward recurrence */
/* x x^2 x^2
* J(n,x)/J(n-1,x) = ---- ------ ------ .....
* 2n - 2(n+1) - 2(n+2)
*
* 1 1 1
* (for large x) = ---- ------ ------ .....
* 2n 2(n+1) 2(n+2)
* -- - ------ - ------ -
* x x x
*
* Let w = 2n/x and h=2/x, then the above quotient
* is equal to the continued fraction:
* 1
* = -----------------------
* 1
* w - -----------------
* 1
* w+h - ---------
* w+2h - ...
*
* To determine how many terms needed, let
* Q(0) = w, Q(1) = w(w+h) - 1,
* Q(k) = (w+k*h)*Q(k-1) - Q(k-2),
* When Q(k) > 1e4 good for single
* When Q(k) > 1e9 good for double
* When Q(k) > 1e17 good for quadruple
*/
/* determine k */
double t,v;
double q0,q1,h,tmp; int k,m;
w = (n+n)/(double)x; h = 2.0/(double)x;
q0 = w; z = w+h; q1 = w*z - 1.0; k=1;
while(q1<1.0e9) {
k += 1; z += h;
tmp = z*q1 - q0;
q0 = q1;
q1 = tmp;
}
m = n+n;
for(t=zero, i = 2*(n+k); i>=m; i -= 2) t = one/(i/x-t);
a = t;
b = one;
/* estimate log((2/x)^n*n!) = n*log(2/x)+n*ln(n)
* Hence, if n*(log(2n/x)) > ...
* single 8.8722839355e+01
* double 7.09782712893383973096e+02
* long double 1.1356523406294143949491931077970765006170e+04
* then recurrent value may overflow and the result is
* likely underflow to zero
*/
tmp = n;
v = two/x;
tmp = tmp*__ieee754_log(fd_fabs(v*tmp));
if(tmp<7.09782712893383973096e+02) {
for(i=n-1,di=(double)(i+i);i>0;i--){
temp = b;
b *= di;
b = b/x - a;
a = temp;
di -= two;
}
} else {
for(i=n-1,di=(double)(i+i);i>0;i--){
temp = b;
b *= di;
b = b/x - a;
a = temp;
di -= two;
/* scale b to avoid spurious overflow */
if(b>1e100) {
a /= b;
t /= b;
b = one;
}
}
}
b = (t*__ieee754_j0(x)/b);
}
}
if(sgn==1) return -b; else return b;
}
#ifdef __STDC__
double __ieee754_yn(int n, double x)
#else
double __ieee754_yn(n,x)
int n; double x;
#endif
{
int i,hx,ix,lx;
int sign;
double a, b, temp;
hx = __HI(x);
ix = 0x7fffffff&hx;
lx = __LO(x);
/* if Y(n,NaN) is NaN */
if((ix|((unsigned)(lx|-lx))>>31)>0x7ff00000) return x+x;
if((ix|lx)==0) return -one/zero;
if(hx<0) return zero/zero;
sign = 1;
if(n<0){
n = -n;
sign = 1 - ((n&1)<<1);
}
if(n==0) return(__ieee754_y0(x));
if(n==1) return(sign*__ieee754_y1(x));
if(ix==0x7ff00000) return zero;
if(ix>=0x52D00000) { /* x > 2**302 */
/* (x >> n**2)
* Jn(x) = cos(x-(2n+1)*pi/4)*sqrt(2/x*pi)
* Yn(x) = sin(x-(2n+1)*pi/4)*sqrt(2/x*pi)
* Let s=sin(x), c=cos(x),
* xn=x-(2n+1)*pi/4, sqt2 = sqrt(2),then
*
* n sin(xn)*sqt2 cos(xn)*sqt2
* ----------------------------------
* 0 s-c c+s
* 1 -s-c -c+s
* 2 -s+c -c-s
* 3 s+c c-s
*/
switch(n&3) {
case 0: temp = fd_sin(x)-fd_cos(x); break;
case 1: temp = -fd_sin(x)-fd_cos(x); break;
case 2: temp = -fd_sin(x)+fd_cos(x); break;
case 3: temp = fd_sin(x)+fd_cos(x); break;
}
b = invsqrtpi*temp/fd_sqrt(x);
} else {
a = __ieee754_y0(x);
b = __ieee754_y1(x);
/* quit if b is -inf */
for(i=1;i<n&&(__HI(b) != 0xfff00000);i++){
temp = b;
b = ((double)(i+i)/x)*b - a;
a = temp;
}
}
if(sign>0) return b; else return -b;
}

View File

@@ -1,66 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_lgamma.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/* __ieee754_lgamma(x)
* Return the logarithm of the Gamma function of x.
*
* Method: call __ieee754_lgamma_r
*/
#include "fdlibm.h"
extern int signgam;
#ifdef __STDC__
double __ieee754_lgamma(double x)
#else
double __ieee754_lgamma(x)
double x;
#endif
{
return __ieee754_lgamma_r(x,&signgam);
}

View File

@@ -1,337 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_lgamma_r.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/* __ieee754_lgamma_r(x, signgamp)
* Reentrant version of the logarithm of the Gamma function
* with user provide pointer for the sign of Gamma(x).
*
* Method:
* 1. Argument Reduction for 0 < x <= 8
* Since gamma(1+s)=s*gamma(s), for x in [0,8], we may
* reduce x to a number in [1.5,2.5] by
* lgamma(1+s) = log(s) + lgamma(s)
* for example,
* lgamma(7.3) = log(6.3) + lgamma(6.3)
* = log(6.3*5.3) + lgamma(5.3)
* = log(6.3*5.3*4.3*3.3*2.3) + lgamma(2.3)
* 2. Polynomial approximation of lgamma around its
* minimun ymin=1.461632144968362245 to maintain monotonicity.
* On [ymin-0.23, ymin+0.27] (i.e., [1.23164,1.73163]), use
* Let z = x-ymin;
* lgamma(x) = -1.214862905358496078218 + z^2*poly(z)
* where
* poly(z) is a 14 degree polynomial.
* 2. Rational approximation in the primary interval [2,3]
* We use the following approximation:
* s = x-2.0;
* lgamma(x) = 0.5*s + s*P(s)/Q(s)
* with accuracy
* |P/Q - (lgamma(x)-0.5s)| < 2**-61.71
* Our algorithms are based on the following observation
*
* zeta(2)-1 2 zeta(3)-1 3
* lgamma(2+s) = s*(1-Euler) + --------- * s - --------- * s + ...
* 2 3
*
* where Euler = 0.5771... is the Euler constant, which is very
* close to 0.5.
*
* 3. For x>=8, we have
* lgamma(x)~(x-0.5)log(x)-x+0.5*log(2pi)+1/(12x)-1/(360x**3)+....
* (better formula:
* lgamma(x)~(x-0.5)*(log(x)-1)-.5*(log(2pi)-1) + ...)
* Let z = 1/x, then we approximation
* f(z) = lgamma(x) - (x-0.5)(log(x)-1)
* by
* 3 5 11
* w = w0 + w1*z + w2*z + w3*z + ... + w6*z
* where
* |w - f(z)| < 2**-58.74
*
* 4. For negative x, since (G is gamma function)
* -x*G(-x)*G(x) = pi/sin(pi*x),
* we have
* G(x) = pi/(sin(pi*x)*(-x)*G(-x))
* since G(-x) is positive, sign(G(x)) = sign(sin(pi*x)) for x<0
* Hence, for x<0, signgam = sign(sin(pi*x)) and
* lgamma(x) = log(|Gamma(x)|)
* = log(pi/(|x*sin(pi*x)|)) - lgamma(-x);
* Note: one should avoid compute pi*(-x) directly in the
* computation of sin(pi*(-x)).
*
* 5. Special Cases
* lgamma(2+s) ~ s*(1-Euler) for tiny s
* lgamma(1)=lgamma(2)=0
* lgamma(x) ~ -log(x) for tiny x
* lgamma(0) = lgamma(inf) = inf
* lgamma(-integer) = +-inf
*
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
two52= 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */
a0 = 7.72156649015328655494e-02, /* 0x3FB3C467, 0xE37DB0C8 */
a1 = 3.22467033424113591611e-01, /* 0x3FD4A34C, 0xC4A60FAD */
a2 = 6.73523010531292681824e-02, /* 0x3FB13E00, 0x1A5562A7 */
a3 = 2.05808084325167332806e-02, /* 0x3F951322, 0xAC92547B */
a4 = 7.38555086081402883957e-03, /* 0x3F7E404F, 0xB68FEFE8 */
a5 = 2.89051383673415629091e-03, /* 0x3F67ADD8, 0xCCB7926B */
a6 = 1.19270763183362067845e-03, /* 0x3F538A94, 0x116F3F5D */
a7 = 5.10069792153511336608e-04, /* 0x3F40B6C6, 0x89B99C00 */
a8 = 2.20862790713908385557e-04, /* 0x3F2CF2EC, 0xED10E54D */
a9 = 1.08011567247583939954e-04, /* 0x3F1C5088, 0x987DFB07 */
a10 = 2.52144565451257326939e-05, /* 0x3EFA7074, 0x428CFA52 */
a11 = 4.48640949618915160150e-05, /* 0x3F07858E, 0x90A45837 */
tc = 1.46163214496836224576e+00, /* 0x3FF762D8, 0x6356BE3F */
tf = -1.21486290535849611461e-01, /* 0xBFBF19B9, 0xBCC38A42 */
/* tt = -(tail of tf) */
tt = -3.63867699703950536541e-18, /* 0xBC50C7CA, 0xA48A971F */
t0 = 4.83836122723810047042e-01, /* 0x3FDEF72B, 0xC8EE38A2 */
t1 = -1.47587722994593911752e-01, /* 0xBFC2E427, 0x8DC6C509 */
t2 = 6.46249402391333854778e-02, /* 0x3FB08B42, 0x94D5419B */
t3 = -3.27885410759859649565e-02, /* 0xBFA0C9A8, 0xDF35B713 */
t4 = 1.79706750811820387126e-02, /* 0x3F9266E7, 0x970AF9EC */
t5 = -1.03142241298341437450e-02, /* 0xBF851F9F, 0xBA91EC6A */
t6 = 6.10053870246291332635e-03, /* 0x3F78FCE0, 0xE370E344 */
t7 = -3.68452016781138256760e-03, /* 0xBF6E2EFF, 0xB3E914D7 */
t8 = 2.25964780900612472250e-03, /* 0x3F6282D3, 0x2E15C915 */
t9 = -1.40346469989232843813e-03, /* 0xBF56FE8E, 0xBF2D1AF1 */
t10 = 8.81081882437654011382e-04, /* 0x3F4CDF0C, 0xEF61A8E9 */
t11 = -5.38595305356740546715e-04, /* 0xBF41A610, 0x9C73E0EC */
t12 = 3.15632070903625950361e-04, /* 0x3F34AF6D, 0x6C0EBBF7 */
t13 = -3.12754168375120860518e-04, /* 0xBF347F24, 0xECC38C38 */
t14 = 3.35529192635519073543e-04, /* 0x3F35FD3E, 0xE8C2D3F4 */
u0 = -7.72156649015328655494e-02, /* 0xBFB3C467, 0xE37DB0C8 */
u1 = 6.32827064025093366517e-01, /* 0x3FE4401E, 0x8B005DFF */
u2 = 1.45492250137234768737e+00, /* 0x3FF7475C, 0xD119BD6F */
u3 = 9.77717527963372745603e-01, /* 0x3FEF4976, 0x44EA8450 */
u4 = 2.28963728064692451092e-01, /* 0x3FCD4EAE, 0xF6010924 */
u5 = 1.33810918536787660377e-02, /* 0x3F8B678B, 0xBF2BAB09 */
v1 = 2.45597793713041134822e+00, /* 0x4003A5D7, 0xC2BD619C */
v2 = 2.12848976379893395361e+00, /* 0x40010725, 0xA42B18F5 */
v3 = 7.69285150456672783825e-01, /* 0x3FE89DFB, 0xE45050AF */
v4 = 1.04222645593369134254e-01, /* 0x3FBAAE55, 0xD6537C88 */
v5 = 3.21709242282423911810e-03, /* 0x3F6A5ABB, 0x57D0CF61 */
s0 = -7.72156649015328655494e-02, /* 0xBFB3C467, 0xE37DB0C8 */
s1 = 2.14982415960608852501e-01, /* 0x3FCB848B, 0x36E20878 */
s2 = 3.25778796408930981787e-01, /* 0x3FD4D98F, 0x4F139F59 */
s3 = 1.46350472652464452805e-01, /* 0x3FC2BB9C, 0xBEE5F2F7 */
s4 = 2.66422703033638609560e-02, /* 0x3F9B481C, 0x7E939961 */
s5 = 1.84028451407337715652e-03, /* 0x3F5E26B6, 0x7368F239 */
s6 = 3.19475326584100867617e-05, /* 0x3F00BFEC, 0xDD17E945 */
r1 = 1.39200533467621045958e+00, /* 0x3FF645A7, 0x62C4AB74 */
r2 = 7.21935547567138069525e-01, /* 0x3FE71A18, 0x93D3DCDC */
r3 = 1.71933865632803078993e-01, /* 0x3FC601ED, 0xCCFBDF27 */
r4 = 1.86459191715652901344e-02, /* 0x3F9317EA, 0x742ED475 */
r5 = 7.77942496381893596434e-04, /* 0x3F497DDA, 0xCA41A95B */
r6 = 7.32668430744625636189e-06, /* 0x3EDEBAF7, 0xA5B38140 */
w0 = 4.18938533204672725052e-01, /* 0x3FDACFE3, 0x90C97D69 */
w1 = 8.33333333333329678849e-02, /* 0x3FB55555, 0x5555553B */
w2 = -2.77777777728775536470e-03, /* 0xBF66C16C, 0x16B02E5C */
w3 = 7.93650558643019558500e-04, /* 0x3F4A019F, 0x98CF38B6 */
w4 = -5.95187557450339963135e-04, /* 0xBF4380CB, 0x8C0FE741 */
w5 = 8.36339918996282139126e-04, /* 0x3F4B67BA, 0x4CDAD5D1 */
w6 = -1.63092934096575273989e-03; /* 0xBF5AB89D, 0x0B9E43E4 */
static double zero= 0.00000000000000000000e+00;
#ifdef __STDC__
static double sin_pi(double x)
#else
static double sin_pi(x)
double x;
#endif
{
double y,z;
int n,ix;
ix = 0x7fffffff&__HI(x);
if(ix<0x3fd00000) return __kernel_sin(pi*x,zero,0);
y = -x; /* x is assume negative */
/*
* argument reduction, make sure inexact flag not raised if input
* is an integer
*/
z = fd_floor(y);
if(z!=y) { /* inexact anyway */
y *= 0.5;
y = 2.0*(y - fd_floor(y)); /* y = |x| mod 2.0 */
n = (int) (y*4.0);
} else {
if(ix>=0x43400000) {
y = zero; n = 0; /* y must be even */
} else {
if(ix<0x43300000) z = y+two52; /* exact */
n = __LO(z)&1; /* lower word of z */
y = n;
n<<= 2;
}
}
switch (n) {
case 0: y = __kernel_sin(pi*y,zero,0); break;
case 1:
case 2: y = __kernel_cos(pi*(0.5-y),zero); break;
case 3:
case 4: y = __kernel_sin(pi*(one-y),zero,0); break;
case 5:
case 6: y = -__kernel_cos(pi*(y-1.5),zero); break;
default: y = __kernel_sin(pi*(y-2.0),zero,0); break;
}
return -y;
}
#ifdef __STDC__
double __ieee754_lgamma_r(double x, int *signgamp)
#else
double __ieee754_lgamma_r(x,signgamp)
double x; int *signgamp;
#endif
{
double t,y,z,nadj,p,p1,p2,p3,q,r,w;
int i,hx,lx,ix;
hx = __HI(x);
lx = __LO(x);
/* purge off +-inf, NaN, +-0, and negative arguments */
*signgamp = 1;
ix = hx&0x7fffffff;
if(ix>=0x7ff00000) return x*x;
if((ix|lx)==0) return one/zero;
if(ix<0x3b900000) { /* |x|<2**-70, return -log(|x|) */
if(hx<0) {
*signgamp = -1;
return -__ieee754_log(-x);
} else return -__ieee754_log(x);
}
if(hx<0) {
if(ix>=0x43300000) /* |x|>=2**52, must be -integer */
return one/zero;
t = sin_pi(x);
if(t==zero) return one/zero; /* -integer */
nadj = __ieee754_log(pi/fd_fabs(t*x));
if(t<zero) *signgamp = -1;
x = -x;
}
/* purge off 1 and 2 */
if((((ix-0x3ff00000)|lx)==0)||(((ix-0x40000000)|lx)==0)) r = 0;
/* for x < 2.0 */
else if(ix<0x40000000) {
if(ix<=0x3feccccc) { /* lgamma(x) = lgamma(x+1)-log(x) */
r = -__ieee754_log(x);
if(ix>=0x3FE76944) {y = one-x; i= 0;}
else if(ix>=0x3FCDA661) {y= x-(tc-one); i=1;}
else {y = x; i=2;}
} else {
r = zero;
if(ix>=0x3FFBB4C3) {y=2.0-x;i=0;} /* [1.7316,2] */
else if(ix>=0x3FF3B4C4) {y=x-tc;i=1;} /* [1.23,1.73] */
else {y=x-one;i=2;}
}
switch(i) {
case 0:
z = y*y;
p1 = a0+z*(a2+z*(a4+z*(a6+z*(a8+z*a10))));
p2 = z*(a1+z*(a3+z*(a5+z*(a7+z*(a9+z*a11)))));
p = y*p1+p2;
r += (p-0.5*y); break;
case 1:
z = y*y;
w = z*y;
p1 = t0+w*(t3+w*(t6+w*(t9 +w*t12))); /* parallel comp */
p2 = t1+w*(t4+w*(t7+w*(t10+w*t13)));
p3 = t2+w*(t5+w*(t8+w*(t11+w*t14)));
p = z*p1-(tt-w*(p2+y*p3));
r += (tf + p); break;
case 2:
p1 = y*(u0+y*(u1+y*(u2+y*(u3+y*(u4+y*u5)))));
p2 = one+y*(v1+y*(v2+y*(v3+y*(v4+y*v5))));
r += (-0.5*y + p1/p2);
}
}
else if(ix<0x40200000) { /* x < 8.0 */
i = (int)x;
t = zero;
y = x-(double)i;
p = y*(s0+y*(s1+y*(s2+y*(s3+y*(s4+y*(s5+y*s6))))));
q = one+y*(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6)))));
r = half*y+p/q;
z = one; /* lgamma(1+s) = log(s) + lgamma(s) */
switch(i) {
case 7: z *= (y+6.0); /* FALLTHRU */
case 6: z *= (y+5.0); /* FALLTHRU */
case 5: z *= (y+4.0); /* FALLTHRU */
case 4: z *= (y+3.0); /* FALLTHRU */
case 3: z *= (y+2.0); /* FALLTHRU */
r += __ieee754_log(z); break;
}
/* 8.0 <= x < 2**58 */
} else if (ix < 0x43900000) {
t = __ieee754_log(x);
z = one/x;
y = z*z;
w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6)))));
r = (x-half)*(t-one)+w;
} else
/* 2**58 <= x <= inf */
r = x*(__ieee754_log(x)-one);
if(hx<0) r = nadj - r;
return r;
}

View File

@@ -1,174 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_log.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_log(x)
* Return the logrithm of x
*
* Method :
* 1. Argument Reduction: find k and f such that
* x = 2^k * (1+f),
* where sqrt(2)/2 < 1+f < sqrt(2) .
*
* 2. Approximation of log(1+f).
* Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s)
* = 2s + 2/3 s**3 + 2/5 s**5 + .....,
* = 2s + s*R
* We use a special Reme algorithm on [0,0.1716] to generate
* a polynomial of degree 14 to approximate R The maximum error
* of this polynomial approximation is bounded by 2**-58.45. In
* other words,
* 2 4 6 8 10 12 14
* R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s
* (the values of Lg1 to Lg7 are listed in the program)
* and
* | 2 14 | -58.45
* | Lg1*s +...+Lg7*s - R(z) | <= 2
* | |
* Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2.
* In order to guarantee error in log below 1ulp, we compute log
* by
* log(1+f) = f - s*(f - R) (if f is not too large)
* log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy)
*
* 3. Finally, log(x) = k*ln2 + log(1+f).
* = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo)))
* Here ln2 is split into two floating point number:
* ln2_hi + ln2_lo,
* where n*ln2_hi is always exact for |n| < 2000.
*
* Special cases:
* log(x) is NaN with signal if x < 0 (including -INF) ;
* log(+INF) is +INF; log(0) is -INF with signal;
* log(NaN) is that NaN with no signal.
*
* Accuracy:
* according to an error analysis, the error is always less than
* 1 ulp (unit in the last place).
*
* Constants:
* The hexadecimal values are the intended ones for the following
* constants. The decimal values may be used, provided that the
* compiler will convert from decimal to binary accurately enough
* to produce the hexadecimal values shown.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */
ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */
two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */
Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */
Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */
Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */
Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */
Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */
Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */
Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */
static double zero = 0.0;
#ifdef __STDC__
double __ieee754_log(double x)
#else
double __ieee754_log(x)
double x;
#endif
{
double hfsq,f,s,z,R,w,t1,t2,dk;
int k,hx,i,j;
unsigned lx;
hx = __HI(x); /* high word of x */
lx = __LO(x); /* low word of x */
k=0;
if (hx < 0x00100000) { /* x < 2**-1022 */
if (((hx&0x7fffffff)|lx)==0)
return -two54/zero; /* log(+-0)=-inf */
if (hx<0) return (x-x)/zero; /* log(-#) = NaN */
k -= 54; x *= two54; /* subnormal number, scale up x */
hx = __HI(x); /* high word of x */
}
if (hx >= 0x7ff00000) return x+x;
k += (hx>>20)-1023;
hx &= 0x000fffff;
i = (hx+0x95f64)&0x100000;
__HI(x) = hx|(i^0x3ff00000); /* normalize x or x/2 */
k += (i>>20);
f = x-1.0;
if((0x000fffff&(2+hx))<3) { /* |f| < 2**-20 */
if(f==zero) {
if(k==0) return zero; else {dk=(double)k;
return dk*ln2_hi+dk*ln2_lo;}
}
R = f*f*(0.5-0.33333333333333333*f);
if(k==0) return f-R; else {dk=(double)k;
return dk*ln2_hi-((R-dk*ln2_lo)-f);}
}
s = f/(2.0+f);
dk = (double)k;
z = s*s;
i = hx-0x6147a;
w = z*z;
j = 0x6b851-hx;
t1= w*(Lg2+w*(Lg4+w*Lg6));
t2= z*(Lg1+w*(Lg3+w*(Lg5+w*Lg7)));
i |= j;
R = t2+t1;
if(i>0) {
hfsq=0.5*f*f;
if(k==0) return f-(hfsq-s*(hfsq+R)); else
return dk*ln2_hi-((hfsq-(s*(hfsq+R)+dk*ln2_lo))-f);
} else {
if(k==0) return f-s*(f-R); else
return dk*ln2_hi-((s*(f-R)-dk*ln2_lo)-f);
}
}

View File

@@ -1,124 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_log10.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_log10(x)
* Return the base 10 logarithm of x
*
* Method :
* Let log10_2hi = leading 40 bits of log10(2) and
* log10_2lo = log10(2) - log10_2hi,
* ivln10 = 1/log(10) rounded.
* Then
* n = ilogb(x),
* if(n<0) n = n+1;
* x = scalbn(x,-n);
* log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x))
*
* Note 1:
* To guarantee log10(10**n)=n, where 10**n is normal, the rounding
* mode must set to Round-to-Nearest.
* Note 2:
* [1/log(10)] rounded to 53 bits has error .198 ulps;
* log10 is monotonic at all binary break points.
*
* Special cases:
* log10(x) is NaN with signal if x < 0;
* log10(+INF) is +INF with no signal; log10(0) is -INF with signal;
* log10(NaN) is that NaN with no signal;
* log10(10**N) = N for N=0,1,...,22.
*
* Constants:
* The hexadecimal values are the intended ones for the following constants.
* The decimal values may be used, provided that the compiler will convert
* from decimal to binary accurately enough to produce the hexadecimal values
* shown.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
ivln10 = 4.34294481903251816668e-01, /* 0x3FDBCB7B, 0x1526E50E */
log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */
log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */
static double zero = 0.0;
#ifdef __STDC__
double __ieee754_log10(double x)
#else
double __ieee754_log10(x)
double x;
#endif
{
double y,z;
int i,k,hx;
unsigned lx;
hx = __HI(x); /* high word of x */
lx = __LO(x); /* low word of x */
k=0;
if (hx < 0x00100000) { /* x < 2**-1022 */
if (((hx&0x7fffffff)|lx)==0)
return -two54/zero; /* log(+-0)=-inf */
if (hx<0) return (x-x)/zero; /* log(-#) = NaN */
k -= 54; x *= two54; /* subnormal number, scale up x */
hx = __HI(x); /* high word of x */
}
if (hx >= 0x7ff00000) return x+x;
k += (hx>>20)-1023;
i = ((unsigned)k&0x80000000)>>31;
hx = (hx&0x000fffff)|((0x3ff-i)<<20);
y = (double)(k+i);
__HI(x) = hx;
z = y*log10_2lo + ivln10*__ieee754_log(x);
return z+y*log10_2hi;
}

View File

@@ -1,358 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_pow.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_pow(x,y) return x**y
*
* n
* Method: Let x = 2 * (1+f)
* 1. Compute and return log2(x) in two pieces:
* log2(x) = w1 + w2,
* where w1 has 53-24 = 29 bit trailing zeros.
* 2. Perform y*log2(x) = n+y' by simulating muti-precision
* arithmetic, where |y'|<=0.5.
* 3. Return x**y = 2**n*exp(y'*log2)
*
* Special cases:
* 1. (anything) ** 0 is 1
* 2. (anything) ** 1 is itself
* 3. (anything) ** NAN is NAN
* 4. NAN ** (anything except 0) is NAN
* 5. +-(|x| > 1) ** +INF is +INF
* 6. +-(|x| > 1) ** -INF is +0
* 7. +-(|x| < 1) ** +INF is +0
* 8. +-(|x| < 1) ** -INF is +INF
* 9. +-1 ** +-INF is NAN
* 10. +0 ** (+anything except 0, NAN) is +0
* 11. -0 ** (+anything except 0, NAN, odd integer) is +0
* 12. +0 ** (-anything except 0, NAN) is +INF
* 13. -0 ** (-anything except 0, NAN, odd integer) is +INF
* 14. -0 ** (odd integer) = -( +0 ** (odd integer) )
* 15. +INF ** (+anything except 0,NAN) is +INF
* 16. +INF ** (-anything except 0,NAN) is +0
* 17. -INF ** (anything) = -0 ** (-anything)
* 18. (-anything) ** (integer) is (-1)**(integer)*(+anything**integer)
* 19. (-anything except 0 and inf) ** (non-integer) is NAN
*
* Accuracy:
* pow(x,y) returns x**y nearly rounded. In particular
* pow(integer,integer)
* always returns the correct integer provided it is
* representable.
*
* Constants :
* The hexadecimal values are the intended ones for the following
* constants. The decimal values may be used, provided that the
* compiler will convert from decimal to binary accurately enough
* to produce the hexadecimal values shown.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
bp[] = {1.0, 1.5,},
dp_h[] = { 0.0, 5.84962487220764160156e-01,}, /* 0x3FE2B803, 0x40000000 */
dp_l[] = { 0.0, 1.35003920212974897128e-08,}, /* 0x3E4CFDEB, 0x43CFD006 */
zero = 0.0,
one = 1.0,
two = 2.0,
two53 = 9007199254740992.0, /* 0x43400000, 0x00000000 */
really_big = 1.0e300,
tiny = 1.0e-300,
/* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */
L1 = 5.99999999999994648725e-01, /* 0x3FE33333, 0x33333303 */
L2 = 4.28571428578550184252e-01, /* 0x3FDB6DB6, 0xDB6FABFF */
L3 = 3.33333329818377432918e-01, /* 0x3FD55555, 0x518F264D */
L4 = 2.72728123808534006489e-01, /* 0x3FD17460, 0xA91D4101 */
L5 = 2.30660745775561754067e-01, /* 0x3FCD864A, 0x93C9DB65 */
L6 = 2.06975017800338417784e-01, /* 0x3FCA7E28, 0x4A454EEF */
P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */
lg2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
lg2_h = 6.93147182464599609375e-01, /* 0x3FE62E43, 0x00000000 */
lg2_l = -1.90465429995776804525e-09, /* 0xBE205C61, 0x0CA86C39 */
ovt = 8.0085662595372944372e-0017, /* -(1024-log2(ovfl+.5ulp)) */
cp = 9.61796693925975554329e-01, /* 0x3FEEC709, 0xDC3A03FD =2/(3ln2) */
cp_h = 9.61796700954437255859e-01, /* 0x3FEEC709, 0xE0000000 =(float)cp */
cp_l = -7.02846165095275826516e-09, /* 0xBE3E2FE0, 0x145B01F5 =tail of cp_h*/
ivln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE =1/ln2 */
ivln2_h = 1.44269502162933349609e+00, /* 0x3FF71547, 0x60000000 =24b 1/ln2*/
ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
#ifdef __STDC__
double __ieee754_pow(double x, double y)
#else
double __ieee754_pow(x,y)
double x, y;
#endif
{
#ifdef GCC_OPT_BUG
volatile double y1,t1,p_h,t,z,ax;
#else
double y1,t1,p_h,t,z,ax;
#endif
double z_h,z_l,p_l;
double t2,r,s,u,v,w;
int i,j,k,yisint,n;
int hx,hy,ix,iy;
unsigned lx,ly;
hx = __HI(x); lx = __LO(x);
hy = __HI(y); ly = __LO(y);
ix = hx&0x7fffffff; iy = hy&0x7fffffff;
/* y==zero: x**0 = 1 */
if((iy|ly)==0) return one;
/* +-NaN return x+y */
if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) ||
iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0)))
return x+y;
/* determine if y is an odd int when x < 0
* yisint = 0 ... y is not an integer
* yisint = 1 ... y is an odd int
* yisint = 2 ... y is an even int
*/
yisint = 0;
if(hx<0) {
if(iy>=0x43400000) yisint = 2; /* even integer y */
else if(iy>=0x3ff00000) {
k = (iy>>20)-0x3ff; /* exponent */
if(k>20) {
j = ly>>(52-k);
if((j<<(52-k))==(int)ly) yisint = 2-(j&1);
} else if(ly==0) {
j = iy>>(20-k);
if((j<<(20-k))==iy) yisint = 2-(j&1);
}
}
}
/* special value of y */
if(ly==0) {
if (iy==0x7ff00000) { /* y is +-inf */
if(((ix-0x3ff00000)|lx)==0)
#ifdef _WIN32
/* VC++ optimizer reduces y - y to 0 */
return y / y;
#else
return y - y; /* inf**+-1 is NaN */
#endif
else if (ix >= 0x3ff00000)/* (|x|>1)**+-inf = inf,0 */
return (hy>=0)? y: zero;
else /* (|x|<1)**-,+inf = inf,0 */
return (hy<0)?-y: zero;
}
if(iy==0x3ff00000) { /* y is +-1 */
if(hy<0) return one/x; else return x;
}
if(hy==0x40000000) return x*x; /* y is 2 */
if(hy==0x3fe00000) { /* y is 0.5 */
if(hx>=0) /* x >= +0 */
return fd_sqrt(x);
}
}
ax = fd_fabs(x);
/* special value of x */
if(lx==0) {
if(ix==0x7ff00000||ix==0||ix==0x3ff00000){
z = ax; /*x is +-0,+-inf,+-1*/
if(hy<0) z = one/z; /* z = (1/|x|) */
if(hx<0) {
if(((ix-0x3ff00000)|yisint)==0) {
z = (z-z)/(z-z); /* (-1)**non-int is NaN */
} else if(yisint==1) {
#ifdef HPUX
__HI(z) ^= 1<<31; /* some HPUXes cannot negate 0.. */
#else
z = -z; /* (x<0)**odd = -(|x|**odd) */
#endif
}
}
return z;
}
}
/* (x<0)**(non-int) is NaN */
if((((hx>>31)+1)|yisint)==0) return (x-x)/(x-x);
/* |y| is really_big */
if(iy>0x41e00000) { /* if |y| > 2**31 */
if(iy>0x43f00000){ /* if |y| > 2**64, must o/uflow */
if(ix<=0x3fefffff) return (hy<0)? really_big*really_big:tiny*tiny;
if(ix>=0x3ff00000) return (hy>0)? really_big*really_big:tiny*tiny;
}
/* over/underflow if x is not close to one */
if(ix<0x3fefffff) return (hy<0)? really_big*really_big:tiny*tiny;
if(ix>0x3ff00000) return (hy>0)? really_big*really_big:tiny*tiny;
/* now |1-x| is tiny <= 2**-20, suffice to compute
log(x) by x-x^2/2+x^3/3-x^4/4 */
t = x-1; /* t has 20 trailing zeros */
w = (t*t)*(0.5-t*(0.3333333333333333333333-t*0.25));
u = ivln2_h*t; /* ivln2_h has 21 sig. bits */
v = t*ivln2_l-w*ivln2;
t1 = u+v;
__LO(t1) = 0;
t2 = v-(t1-u);
} else {
#ifdef GCC_OPT_BUG
volatile double s_h,t_h;
#else
double s_h,t_h;
#endif
double s2,s_l,t_l;
n = 0;
/* take care subnormal number */
if(ix<0x00100000)
{ax *= two53; n -= 53; ix = __HI(ax); }
n += ((ix)>>20)-0x3ff;
j = ix&0x000fffff;
/* determine interval */
ix = j|0x3ff00000; /* normalize ix */
if(j<=0x3988E) k=0; /* |x|<sqrt(3/2) */
else if(j<0xBB67A) k=1; /* |x|<sqrt(3) */
else {k=0;n+=1;ix -= 0x00100000;}
__HI(ax) = ix;
/* compute s = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */
u = ax-bp[k]; /* bp[0]=1.0, bp[1]=1.5 */
v = one/(ax+bp[k]);
s = u*v;
s_h = s;
__LO(s_h) = 0;
/* t_h=ax+bp[k] High */
t_h = zero;
__HI(t_h)=((ix>>1)|0x20000000)+0x00080000+(k<<18);
t_l = ax - (t_h-bp[k]);
s_l = v*((u-s_h*t_h)-s_h*t_l);
/* compute log(ax) */
s2 = s*s;
r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6)))));
r += s_l*(s_h+s);
s2 = s_h*s_h;
t_h = 3.0+s2+r;
__LO(t_h) = 0;
t_l = r-((t_h-3.0)-s2);
/* u+v = s*(1+...) */
u = s_h*t_h;
v = s_l*t_h+t_l*s;
/* 2/(3log2)*(s+...) */
p_h = u+v;
__LO(p_h) = 0;
p_l = v-(p_h-u);
z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */
z_l = cp_l*p_h+p_l*cp+dp_l[k];
/* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */
t = (double)n;
t1 = (((z_h+z_l)+dp_h[k])+t);
__LO(t1) = 0;
t2 = z_l-(((t1-t)-dp_h[k])-z_h);
}
s = one; /* s (sign of result -ve**odd) = -1 else = 1 */
if((((hx>>31)+1)|(yisint-1))==0) s = -one;/* (-ve)**(odd int) */
/* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */
y1 = y;
__LO(y1) = 0;
p_l = (y-y1)*t1+y*t2;
p_h = y1*t1;
z = p_l+p_h;
j = __HI(z);
i = __LO(z);
if (j>=0x40900000) { /* z >= 1024 */
if(((j-0x40900000)|i)!=0) /* if z > 1024 */
return s*really_big*really_big; /* overflow */
else {
if(p_l+ovt>z-p_h) return s*really_big*really_big; /* overflow */
}
} else if((j&0x7fffffff)>=0x4090cc00 ) { /* z <= -1075 */
if(((j-0xc090cc00)|i)!=0) /* z < -1075 */
return s*tiny*tiny; /* underflow */
else {
if(p_l<=z-p_h) return s*tiny*tiny; /* underflow */
}
}
/*
* compute 2**(p_h+p_l)
*/
i = j&0x7fffffff;
k = (i>>20)-0x3ff;
n = 0;
if(i>0x3fe00000) { /* if |z| > 0.5, set n = [z+0.5] */
n = j+(0x00100000>>(k+1));
k = ((n&0x7fffffff)>>20)-0x3ff; /* new k for n */
t = zero;
__HI(t) = (n&~(0x000fffff>>k));
n = ((n&0x000fffff)|0x00100000)>>(20-k);
if(j<0) n = -n;
p_h -= t;
}
t = p_l+p_h;
__LO(t) = 0;
u = t*lg2_h;
v = (p_l-(t-p_h))*lg2+t*lg2_l;
z = u+v;
w = v-(z-u);
t = z*z;
t1 = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
r = (z*t1)/(t1-two)-(w+z*w);
z = one-(r-z);
j = __HI(z);
j += (n<<20);
if((j>>20)<=0) z = fd_scalbn(z,n); /* subnormal output */
else __HI(z) += (n<<20);
return s*z;
}

View File

@@ -1,208 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_rem_pio2.c 1.4 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/* __ieee754_rem_pio2(x,y)
*
* return the remainder of x rem pi/2 in y[0]+y[1]
* use __kernel_rem_pio2()
*/
#include "fdlibm.h"
/*
* Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi
*/
#ifdef __STDC__
static const int two_over_pi[] = {
#else
static int two_over_pi[] = {
#endif
0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62,
0x95993C, 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, 0x246E3A,
0x424DD2, 0xE00649, 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129,
0xA73EE8, 0x8235F5, 0x2EBB44, 0x84E99C, 0x7026B4, 0x5F7E41,
0x3991D6, 0x398353, 0x39F49C, 0x845F8B, 0xBDF928, 0x3B1FF8,
0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D, 0x367ECF,
0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5,
0xF17B3D, 0x0739F7, 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08,
0x560330, 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3,
0x91615E, 0xE61B08, 0x659985, 0x5F14A0, 0x68408D, 0xFFD880,
0x4D7327, 0x310606, 0x1556CA, 0x73A8C9, 0x60E27B, 0xC08C6B,
};
#ifdef __STDC__
static const int npio2_hw[] = {
#else
static int npio2_hw[] = {
#endif
0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C,
0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, 0x4032D97C,
0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A,
0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, 0x4042106C, 0x4042D97C,
0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB,
0x404858EB, 0x404921FB,
};
/*
* invpio2: 53 bits of 2/pi
* pio2_1: first 33 bit of pi/2
* pio2_1t: pi/2 - pio2_1
* pio2_2: second 33 bit of pi/2
* pio2_2t: pi/2 - (pio2_1+pio2_2)
* pio2_3: third 33 bit of pi/2
* pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3)
*/
#ifdef __STDC__
static const double
#else
static double
#endif
zero = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */
invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */
pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */
pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */
pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */
pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */
pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
#ifdef __STDC__
int __ieee754_rem_pio2(double x, double *y)
#else
int __ieee754_rem_pio2(x,y)
double x,y[];
#endif
{
double z,w,t,r,fn;
double tx[3];
int e0,i,j,nx,n,ix,hx;
hx = __HI(x); /* high word of x */
ix = hx&0x7fffffff;
if(ix<=0x3fe921fb) /* |x| ~<= pi/4 , no need for reduction */
{y[0] = x; y[1] = 0; return 0;}
if(ix<0x4002d97c) { /* |x| < 3pi/4, special case with n=+-1 */
if(hx>0) {
z = x - pio2_1;
if(ix!=0x3ff921fb) { /* 33+53 bit pi is good enough */
y[0] = z - pio2_1t;
y[1] = (z-y[0])-pio2_1t;
} else { /* near pi/2, use 33+33+53 bit pi */
z -= pio2_2;
y[0] = z - pio2_2t;
y[1] = (z-y[0])-pio2_2t;
}
return 1;
} else { /* negative x */
z = x + pio2_1;
if(ix!=0x3ff921fb) { /* 33+53 bit pi is good enough */
y[0] = z + pio2_1t;
y[1] = (z-y[0])+pio2_1t;
} else { /* near pi/2, use 33+33+53 bit pi */
z += pio2_2;
y[0] = z + pio2_2t;
y[1] = (z-y[0])+pio2_2t;
}
return -1;
}
}
if(ix<=0x413921fb) { /* |x| ~<= 2^19*(pi/2), medium size */
t = fd_fabs(x);
n = (int) (t*invpio2+half);
fn = (double)n;
r = t-fn*pio2_1;
w = fn*pio2_1t; /* 1st round good to 85 bit */
if(n<32&&ix!=npio2_hw[n-1]) {
y[0] = r-w; /* quick check no cancellation */
} else {
j = ix>>20;
y[0] = r-w;
i = j-(((__HI(y[0]))>>20)&0x7ff);
if(i>16) { /* 2nd iteration needed, good to 118 */
t = r;
w = fn*pio2_2;
r = t-w;
w = fn*pio2_2t-((t-r)-w);
y[0] = r-w;
i = j-(((__HI(y[0]))>>20)&0x7ff);
if(i>49) { /* 3rd iteration need, 151 bits acc */
t = r; /* will cover all possible cases */
w = fn*pio2_3;
r = t-w;
w = fn*pio2_3t-((t-r)-w);
y[0] = r-w;
}
}
}
y[1] = (r-y[0])-w;
if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
else return n;
}
/*
* all other (large) arguments
*/
if(ix>=0x7ff00000) { /* x is inf or NaN */
y[0]=y[1]=x-x; return 0;
}
/* set z = scalbn(|x|,ilogb(x)-23) */
__LO(z) = __LO(x);
e0 = (ix>>20)-1046; /* e0 = ilogb(z)-23; */
__HI(z) = ix - (e0<<20);
for(i=0;i<2;i++) {
tx[i] = (double)((int)(z));
z = (z-tx[i])*two24;
}
tx[2] = z;
nx = 3;
while(tx[nx-1]==zero) nx--; /* skip zero term */
n = __kernel_rem_pio2(tx,y,e0,nx,2,two_over_pi);
if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
return n;
}

View File

@@ -1,110 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_remainder.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_remainder(x,p)
* Return :
* returns x REM p = x - [x/p]*p as if in infinite
* precise arithmetic, where [x/p] is the (infinite bit)
* integer nearest x/p (in half way case choose the even one).
* Method :
* Based on fmod() return x-[x/p]chopped*p exactlp.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double zero = 0.0;
#else
static double zero = 0.0;
#endif
#ifdef __STDC__
double __ieee754_remainder(double x, double p)
#else
double __ieee754_remainder(x,p)
double x,p;
#endif
{
int hx,hp;
unsigned sx,lx,lp;
double p_half;
hx = __HI(x); /* high word of x */
lx = __LO(x); /* low word of x */
hp = __HI(p); /* high word of p */
lp = __LO(p); /* low word of p */
sx = hx&0x80000000;
hp &= 0x7fffffff;
hx &= 0x7fffffff;
/* purge off exception values */
if((hp|lp)==0) return (x*p)/(x*p); /* p = 0 */
if((hx>=0x7ff00000)|| /* x not finite */
((hp>=0x7ff00000)&& /* p is NaN */
(((hp-0x7ff00000)|lp)!=0)))
return (x*p)/(x*p);
if (hp<=0x7fdfffff) x = __ieee754_fmod(x,p+p); /* now x < 2p */
if (((hx-hp)|(lx-lp))==0) return zero*x;
x = fd_fabs(x);
p = fd_fabs(p);
if (hp<0x00200000) {
if(x+x>p) {
x-=p;
if(x+x>=p) x -= p;
}
} else {
p_half = 0.5*p;
if(x>p_half) {
x-=p;
if(x>=p_half) x -= p;
}
}
__HI(x) ^= sx;
return x;
}

View File

@@ -1,84 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_scalb.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* __ieee754_scalb(x, fn) is provide for
* passing various standard test suite. One
* should use scalbn() instead.
*/
#include "fdlibm.h"
#ifdef _SCALB_INT
#ifdef __STDC__
double __ieee754_scalb(double x, int fn)
#else
double __ieee754_scalb(x,fn)
double x; int fn;
#endif
#else
#ifdef __STDC__
double __ieee754_scalb(double x, double fn)
#else
double __ieee754_scalb(x,fn)
double x, fn;
#endif
#endif
{
#ifdef _SCALB_INT
return fd_scalbn(x,fn);
#else
if (fd_isnan(x)||fd_isnan(fn)) return x*fn;
if (!fd_finite(fn)) {
if(fn>0.0) return x*fn;
else return x/(-fn);
}
if (fd_rint(fn)!=fn) return (fn-fn)/(fn-fn);
if ( fn > 65000.0) return fd_scalbn(x, 65000);
if (-fn > 65000.0) return fd_scalbn(x,-65000);
return fd_scalbn(x,(int)fn);
#endif
}

View File

@@ -1,115 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_sinh.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_sinh(x)
* Method :
* mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2
* 1. Replace x by |x| (sinh(-x) = -sinh(x)).
* 2.
* E + E/(E+1)
* 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x)
* 2
*
* 22 <= x <= lnovft : sinh(x) := exp(x)/2
* lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2)
* ln2ovft < x : sinh(x) := x*shuge (overflow)
*
* Special cases:
* sinh(x) is |x| if x is +INF, -INF, or NaN.
* only sinh(0)=0 is exact for finite x.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double one = 1.0, shuge = 1.0e307;
#else
static double one = 1.0, shuge = 1.0e307;
#endif
#ifdef __STDC__
double __ieee754_sinh(double x)
#else
double __ieee754_sinh(x)
double x;
#endif
{
double t,w,h;
int ix,jx;
unsigned lx;
/* High word of |x|. */
jx = __HI(x);
ix = jx&0x7fffffff;
/* x is INF or NaN */
if(ix>=0x7ff00000) return x+x;
h = 0.5;
if (jx<0) h = -h;
/* |x| in [0,22], return sign(x)*0.5*(E+E/(E+1))) */
if (ix < 0x40360000) { /* |x|<22 */
if (ix<0x3e300000) /* |x|<2**-28 */
if(shuge+x>one) return x;/* sinh(tiny) = tiny with inexact */
t = fd_expm1(fd_fabs(x));
if(ix<0x3ff00000) return h*(2.0*t-t*t/(t+one));
return h*(t+t/(t+one));
}
/* |x| in [22, log(maxdouble)] return 0.5*exp(|x|) */
if (ix < 0x40862E42) return h*__ieee754_exp(fd_fabs(x));
/* |x| in [log(maxdouble), overflowthresold] */
lx = *( (((*(unsigned*)&one)>>29)) + (unsigned*)&x);
if (ix<0x408633CE || (ix==0x408633ce)&&(lx<=(unsigned)0x8fb9f87d)) {
w = __ieee754_exp(0.5*fd_fabs(x));
t = h*w;
return t*w;
}
/* |x| > overflowthresold, sinh(x) overflow */
return x*shuge;
}

View File

@@ -1,483 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)e_sqrt.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __ieee754_sqrt(x)
* Return correctly rounded sqrt.
* ------------------------------------------
* | Use the hardware sqrt if you have one |
* ------------------------------------------
* Method:
* Bit by bit method using integer arithmetic. (Slow, but portable)
* 1. Normalization
* Scale x to y in [1,4) with even powers of 2:
* find an integer k such that 1 <= (y=x*2^(2k)) < 4, then
* sqrt(x) = 2^k * sqrt(y)
* 2. Bit by bit computation
* Let q = sqrt(y) truncated to i bit after binary point (q = 1),
* i 0
* i+1 2
* s = 2*q , and y = 2 * ( y - q ). (1)
* i i i i
*
* To compute q from q , one checks whether
* i+1 i
*
* -(i+1) 2
* (q + 2 ) <= y. (2)
* i
* -(i+1)
* If (2) is false, then q = q ; otherwise q = q + 2 .
* i+1 i i+1 i
*
* With some algebric manipulation, it is not difficult to see
* that (2) is equivalent to
* -(i+1)
* s + 2 <= y (3)
* i i
*
* The advantage of (3) is that s and y can be computed by
* i i
* the following recurrence formula:
* if (3) is false
*
* s = s , y = y ; (4)
* i+1 i i+1 i
*
* otherwise,
* -i -(i+1)
* s = s + 2 , y = y - s - 2 (5)
* i+1 i i+1 i i
*
* One may easily use induction to prove (4) and (5).
* Note. Since the left hand side of (3) contain only i+2 bits,
* it does not necessary to do a full (53-bit) comparison
* in (3).
* 3. Final rounding
* After generating the 53 bits result, we compute one more bit.
* Together with the remainder, we can decide whether the
* result is exact, bigger than 1/2ulp, or less than 1/2ulp
* (it will never equal to 1/2ulp).
* The rounding mode can be detected by checking whether
* huge + tiny is equal to huge, and whether huge - tiny is
* equal to huge for some floating point number "huge" and "tiny".
*
* Special cases:
* sqrt(+-0) = +-0 ... exact
* sqrt(inf) = inf
* sqrt(-ve) = NaN ... with invalid signal
* sqrt(NaN) = NaN ... with invalid signal for signaling NaN
*
* Other methods : see the appended file at the end of the program below.
*---------------
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double one = 1.0, tiny=1.0e-300;
#else
static double one = 1.0, tiny=1.0e-300;
#endif
#ifdef __STDC__
double __ieee754_sqrt(double x)
#else
double __ieee754_sqrt(x)
double x;
#endif
{
double z;
int sign = (int)0x80000000;
unsigned r,t1,s1,ix1,q1;
int ix0,s0,q,m,t,i;
ix0 = __HI(x); /* high word of x */
ix1 = __LO(x); /* low word of x */
/* take care of Inf and NaN */
if((ix0&0x7ff00000)==0x7ff00000) {
return x*x+x; /* sqrt(NaN)=NaN, sqrt(+inf)=+inf
sqrt(-inf)=sNaN */
}
/* take care of zero */
if(ix0<=0) {
if(((ix0&(~sign))|ix1)==0) return x;/* sqrt(+-0) = +-0 */
else if(ix0<0)
return (x-x)/(x-x); /* sqrt(-ve) = sNaN */
}
/* normalize x */
m = (ix0>>20);
if(m==0) { /* subnormal x */
while(ix0==0) {
m -= 21;
ix0 |= (ix1>>11); ix1 <<= 21;
}
for(i=0;(ix0&0x00100000)==0;i++) ix0<<=1;
m -= i-1;
ix0 |= (ix1>>(32-i));
ix1 <<= i;
}
m -= 1023; /* unbias exponent */
ix0 = (ix0&0x000fffff)|0x00100000;
if(m&1){ /* odd m, double x to make it even */
ix0 += ix0 + ((ix1&sign)>>31);
ix1 += ix1;
}
m >>= 1; /* m = [m/2] */
/* generate sqrt(x) bit by bit */
ix0 += ix0 + ((ix1&sign)>>31);
ix1 += ix1;
q = q1 = s0 = s1 = 0; /* [q,q1] = sqrt(x) */
r = 0x00200000; /* r = moving bit from right to left */
while(r!=0) {
t = s0+r;
if(t<=ix0) {
s0 = t+r;
ix0 -= t;
q += r;
}
ix0 += ix0 + ((ix1&sign)>>31);
ix1 += ix1;
r>>=1;
}
r = sign;
while(r!=0) {
t1 = s1+r;
t = s0;
if((t<ix0)||((t==ix0)&&(t1<=ix1))) {
s1 = t1+r;
if(((int)(t1&sign)==sign)&&(s1&sign)==0) s0 += 1;
ix0 -= t;
if (ix1 < t1) ix0 -= 1;
ix1 -= t1;
q1 += r;
}
ix0 += ix0 + ((ix1&sign)>>31);
ix1 += ix1;
r>>=1;
}
/* use floating add to find out rounding direction */
if((ix0|ix1)!=0) {
z = one-tiny; /* trigger inexact flag */
if (z>=one) {
z = one+tiny;
if (q1==(unsigned)0xffffffff) { q1=0; q += 1;}
else if (z>one) {
if (q1==(unsigned)0xfffffffe) q+=1;
q1+=2;
} else
q1 += (q1&1);
}
}
ix0 = (q>>1)+0x3fe00000;
ix1 = q1>>1;
if ((q&1)==1) ix1 |= sign;
ix0 += (m <<20);
__HI(z) = ix0;
__LO(z) = ix1;
return z;
}
/*
Other methods (use floating-point arithmetic)
-------------
(This is a copy of a drafted paper by Prof W. Kahan
and K.C. Ng, written in May, 1986)
Two algorithms are given here to implement sqrt(x)
(IEEE double precision arithmetic) in software.
Both supply sqrt(x) correctly rounded. The first algorithm (in
Section A) uses newton iterations and involves four divisions.
The second one uses reciproot iterations to avoid division, but
requires more multiplications. Both algorithms need the ability
to chop results of arithmetic operations instead of round them,
and the INEXACT flag to indicate when an arithmetic operation
is executed exactly with no roundoff error, all part of the
standard (IEEE 754-1985). The ability to perform shift, add,
subtract and logical AND operations upon 32-bit words is needed
too, though not part of the standard.
A. sqrt(x) by Newton Iteration
(1) Initial approximation
Let x0 and x1 be the leading and the trailing 32-bit words of
a floating point number x (in IEEE double format) respectively
1 11 52 ...widths
------------------------------------------------------
x: |s| e | f |
------------------------------------------------------
msb lsb msb lsb ...order
------------------------ ------------------------
x0: |s| e | f1 | x1: | f2 |
------------------------ ------------------------
By performing shifts and subtracts on x0 and x1 (both regarded
as integers), we obtain an 8-bit approximation of sqrt(x) as
follows.
k := (x0>>1) + 0x1ff80000;
y0 := k - T1[31&(k>>15)]. ... y ~ sqrt(x) to 8 bits
Here k is a 32-bit integer and T1[] is an integer array containing
correction terms. Now magically the floating value of y (y's
leading 32-bit word is y0, the value of its trailing word is 0)
approximates sqrt(x) to almost 8-bit.
Value of T1:
static int T1[32]= {
0, 1024, 3062, 5746, 9193, 13348, 18162, 23592,
29598, 36145, 43202, 50740, 58733, 67158, 75992, 85215,
83599, 71378, 60428, 50647, 41945, 34246, 27478, 21581,
16499, 12183, 8588, 5674, 3403, 1742, 661, 130,};
(2) Iterative refinement
Apply Heron's rule three times to y, we have y approximates
sqrt(x) to within 1 ulp (Unit in the Last Place):
y := (y+x/y)/2 ... almost 17 sig. bits
y := (y+x/y)/2 ... almost 35 sig. bits
y := y-(y-x/y)/2 ... within 1 ulp
Remark 1.
Another way to improve y to within 1 ulp is:
y := (y+x/y) ... almost 17 sig. bits to 2*sqrt(x)
y := y - 0x00100006 ... almost 18 sig. bits to sqrt(x)
2
(x-y )*y
y := y + 2* ---------- ...within 1 ulp
2
3y + x
This formula has one division fewer than the one above; however,
it requires more multiplications and additions. Also x must be
scaled in advance to avoid spurious overflow in evaluating the
expression 3y*y+x. Hence it is not recommended uless division
is slow. If division is very slow, then one should use the
reciproot algorithm given in section B.
(3) Final adjustment
By twiddling y's last bit it is possible to force y to be
correctly rounded according to the prevailing rounding mode
as follows. Let r and i be copies of the rounding mode and
inexact flag before entering the square root program. Also we
use the expression y+-ulp for the next representable floating
numbers (up and down) of y. Note that y+-ulp = either fixed
point y+-1, or multiply y by nextafter(1,+-inf) in chopped
mode.
I := FALSE; ... reset INEXACT flag I
R := RZ; ... set rounding mode to round-toward-zero
z := x/y; ... chopped quotient, possibly inexact
If(not I) then { ... if the quotient is exact
if(z=y) {
I := i; ... restore inexact flag
R := r; ... restore rounded mode
return sqrt(x):=y.
} else {
z := z - ulp; ... special rounding
}
}
i := TRUE; ... sqrt(x) is inexact
If (r=RN) then z=z+ulp ... rounded-to-nearest
If (r=RP) then { ... round-toward-+inf
y = y+ulp; z=z+ulp;
}
y := y+z; ... chopped sum
y0:=y0-0x00100000; ... y := y/2 is correctly rounded.
I := i; ... restore inexact flag
R := r; ... restore rounded mode
return sqrt(x):=y.
(4) Special cases
Square root of +inf, +-0, or NaN is itself;
Square root of a negative number is NaN with invalid signal.
B. sqrt(x) by Reciproot Iteration
(1) Initial approximation
Let x0 and x1 be the leading and the trailing 32-bit words of
a floating point number x (in IEEE double format) respectively
(see section A). By performing shifs and subtracts on x0 and y0,
we obtain a 7.8-bit approximation of 1/sqrt(x) as follows.
k := 0x5fe80000 - (x0>>1);
y0:= k - T2[63&(k>>14)]. ... y ~ 1/sqrt(x) to 7.8 bits
Here k is a 32-bit integer and T2[] is an integer array
containing correction terms. Now magically the floating
value of y (y's leading 32-bit word is y0, the value of
its trailing word y1 is set to zero) approximates 1/sqrt(x)
to almost 7.8-bit.
Value of T2:
static int T2[64]= {
0x1500, 0x2ef8, 0x4d67, 0x6b02, 0x87be, 0xa395, 0xbe7a, 0xd866,
0xf14a, 0x1091b,0x11fcd,0x13552,0x14999,0x15c98,0x16e34,0x17e5f,
0x18d03,0x19a01,0x1a545,0x1ae8a,0x1b5c4,0x1bb01,0x1bfde,0x1c28d,
0x1c2de,0x1c0db,0x1ba73,0x1b11c,0x1a4b5,0x1953d,0x18266,0x16be0,
0x1683e,0x179d8,0x18a4d,0x19992,0x1a789,0x1b445,0x1bf61,0x1c989,
0x1d16d,0x1d77b,0x1dddf,0x1e2ad,0x1e5bf,0x1e6e8,0x1e654,0x1e3cd,
0x1df2a,0x1d635,0x1cb16,0x1be2c,0x1ae4e,0x19bde,0x1868e,0x16e2e,
0x1527f,0x1334a,0x11051,0xe951, 0xbe01, 0x8e0d, 0x5924, 0x1edd,};
(2) Iterative refinement
Apply Reciproot iteration three times to y and multiply the
result by x to get an approximation z that matches sqrt(x)
to about 1 ulp. To be exact, we will have
-1ulp < sqrt(x)-z<1.0625ulp.
... set rounding mode to Round-to-nearest
y := y*(1.5-0.5*x*y*y) ... almost 15 sig. bits to 1/sqrt(x)
y := y*((1.5-2^-30)+0.5*x*y*y)... about 29 sig. bits to 1/sqrt(x)
... special arrangement for better accuracy
z := x*y ... 29 bits to sqrt(x), with z*y<1
z := z + 0.5*z*(1-z*y) ... about 1 ulp to sqrt(x)
Remark 2. The constant 1.5-2^-30 is chosen to bias the error so that
(a) the term z*y in the final iteration is always less than 1;
(b) the error in the final result is biased upward so that
-1 ulp < sqrt(x) - z < 1.0625 ulp
instead of |sqrt(x)-z|<1.03125ulp.
(3) Final adjustment
By twiddling y's last bit it is possible to force y to be
correctly rounded according to the prevailing rounding mode
as follows. Let r and i be copies of the rounding mode and
inexact flag before entering the square root program. Also we
use the expression y+-ulp for the next representable floating
numbers (up and down) of y. Note that y+-ulp = either fixed
point y+-1, or multiply y by nextafter(1,+-inf) in chopped
mode.
R := RZ; ... set rounding mode to round-toward-zero
switch(r) {
case RN: ... round-to-nearest
if(x<= z*(z-ulp)...chopped) z = z - ulp; else
if(x<= z*(z+ulp)...chopped) z = z; else z = z+ulp;
break;
case RZ:case RM: ... round-to-zero or round-to--inf
R:=RP; ... reset rounding mod to round-to-+inf
if(x<z*z ... rounded up) z = z - ulp; else
if(x>=(z+ulp)*(z+ulp) ...rounded up) z = z+ulp;
break;
case RP: ... round-to-+inf
if(x>(z+ulp)*(z+ulp)...chopped) z = z+2*ulp; else
if(x>z*z ...chopped) z = z+ulp;
break;
}
Remark 3. The above comparisons can be done in fixed point. For
example, to compare x and w=z*z chopped, it suffices to compare
x1 and w1 (the trailing parts of x and w), regarding them as
two's complement integers.
...Is z an exact square root?
To determine whether z is an exact square root of x, let z1 be the
trailing part of z, and also let x0 and x1 be the leading and
trailing parts of x.
If ((z1&0x03ffffff)!=0) ... not exact if trailing 26 bits of z!=0
I := 1; ... Raise Inexact flag: z is not exact
else {
j := 1 - [(x0>>20)&1] ... j = logb(x) mod 2
k := z1 >> 26; ... get z's 25-th and 26-th
fraction bits
I := i or (k&j) or ((k&(j+j+1))!=(x1&3));
}
R:= r ... restore rounded mode
return sqrt(x):=z.
If multiplication is cheaper then the foregoing red tape, the
Inexact flag can be evaluated by
I := i;
I := (z*z!=x) or I.
Note that z*z can overwrite I; this value must be sensed if it is
True.
Remark 4. If z*z = x exactly, then bit 25 to bit 0 of z1 must be
zero.
--------------------
z1: | f2 |
--------------------
bit 31 bit 0
Further more, bit 27 and 26 of z1, bit 0 and 1 of x1, and the odd
or even of logb(x) have the following relations:
-------------------------------------------------
bit 27,26 of z1 bit 1,0 of x1 logb(x)
-------------------------------------------------
00 00 odd and even
01 01 even
10 10 odd
10 00 even
11 01 even
-------------------------------------------------
(4) Special cases (see (4) of Section A).
*/

View File

@@ -1,262 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)fdlibm.h 1.5 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* Modified defines start here.. */
#ifdef _WIN32
#define huge myhuge
#define __LITTLE_ENDIAN
#endif
#ifdef X86_LINUX
#define __LITTLE_ENDIAN
#endif
/* End here. The rest is the standard file. */
#ifdef __NEWVALID /* special setup for Sun test regime */
#if defined(i386) || defined(i486) || \
defined(intel) || defined(x86) || defined(i86pc)
#define __LITTLE_ENDIAN
#endif
#endif
#ifdef __LITTLE_ENDIAN
#define __HI(x) *(1+(int*)&x)
#define __LO(x) *(int*)&x
#define __HIp(x) *(1+(int*)x)
#define __LOp(x) *(int*)x
#else
#define __HI(x) *(int*)&x
#define __LO(x) *(1+(int*)&x)
#define __HIp(x) *(int*)x
#define __LOp(x) *(1+(int*)x)
#endif
#ifdef __STDC__
#define __P(p) p
#else
#define __P(p) ()
#endif
/*
* ANSI/POSIX
*/
extern int signgam;
#define MAXFLOAT ((float)3.40282346638528860e+38)
enum fdversion {fdlibm_ieee = -1, fdlibm_svid, fdlibm_xopen, fdlibm_posix};
#define _LIB_VERSION_TYPE enum fdversion
#define _LIB_VERSION _fdlib_version
/* if global variable _LIB_VERSION is not desirable, one may
* change the following to be a constant by:
* #define _LIB_VERSION_TYPE const enum version
* In that case, after one initializes the value _LIB_VERSION (see
* s_lib_version.c) during compile time, it cannot be modified
* in the middle of a program
*/
extern _LIB_VERSION_TYPE _LIB_VERSION;
#define _IEEE_ fdlibm_ieee
#define _SVID_ fdlibm_svid
#define _XOPEN_ fdlibm_xopen
#define _POSIX_ fdlibm_posix
struct exception {
int type;
char *name;
double arg1;
double arg2;
double retval;
};
#define HUGE MAXFLOAT
/*
* set X_TLOSS = pi*2**52, which is possibly defined in <values.h>
* (one may replace the following line by "#include <values.h>")
*/
#define X_TLOSS 1.41484755040568800000e+16
#define DOMAIN 1
#define SING 2
#define OVERFLOW 3
#define UNDERFLOW 4
#define TLOSS 5
#define PLOSS 6
/*
* ANSI/POSIX
*/
extern double fd_acos __P((double));
extern double fd_asin __P((double));
extern double fd_atan __P((double));
extern double fd_atan2 __P((double, double));
extern double fd_cos __P((double));
extern double fd_sin __P((double));
extern double fd_tan __P((double));
extern double fd_cosh __P((double));
extern double fd_sinh __P((double));
extern double fd_tanh __P((double));
extern double fd_exp __P((double));
extern double fd_frexp __P((double, int *));
extern double fd_ldexp __P((double, int));
extern double fd_log __P((double));
extern double fd_log10 __P((double));
extern double fd_modf __P((double, double *));
extern double fd_pow __P((double, double));
extern double fd_sqrt __P((double));
extern double fd_ceil __P((double));
extern double fd_fabs __P((double));
extern double fd_floor __P((double));
extern double fd_fmod __P((double, double));
extern double fd_erf __P((double));
extern double fd_erfc __P((double));
extern double fd_gamma __P((double));
extern double fd_hypot __P((double, double));
extern int fd_isnan __P((double));
extern int fd_finite __P((double));
extern double fd_j0 __P((double));
extern double fd_j1 __P((double));
extern double fd_jn __P((int, double));
extern double fd_lgamma __P((double));
extern double fd_y0 __P((double));
extern double fd_y1 __P((double));
extern double fd_yn __P((int, double));
extern double fd_acosh __P((double));
extern double fd_asinh __P((double));
extern double fd_atanh __P((double));
extern double fd_cbrt __P((double));
extern double fd_logb __P((double));
extern double fd_nextafter __P((double, double));
extern double fd_remainder __P((double, double));
#ifdef _SCALB_INT
extern double fd_scalb __P((double, int));
#else
extern double fd_scalb __P((double, double));
#endif
extern int fd_matherr __P((struct exception *));
/*
* IEEE Test Vector
*/
extern double significand __P((double));
/*
* Functions callable from C, intended to support IEEE arithmetic.
*/
extern double fd_copysign __P((double, double));
extern int fd_ilogb __P((double));
extern double fd_rint __P((double));
extern double fd_scalbn __P((double, int));
/*
* BSD math library entry points
*/
extern double fd_expm1 __P((double));
extern double fd_log1p __P((double));
/*
* Reentrant version of gamma & lgamma; passes signgam back by reference
* as the second argument; user must allocate space for signgam.
*/
#ifdef _REENTRANT
extern double gamma_r __P((double, int *));
extern double lgamma_r __P((double, int *));
#endif /* _REENTRANT */
/* ieee style elementary functions */
extern double __ieee754_sqrt __P((double));
extern double __ieee754_acos __P((double));
extern double __ieee754_acosh __P((double));
extern double __ieee754_log __P((double));
extern double __ieee754_atanh __P((double));
extern double __ieee754_asin __P((double));
extern double __ieee754_atan2 __P((double,double));
extern double __ieee754_exp __P((double));
extern double __ieee754_cosh __P((double));
extern double __ieee754_fmod __P((double,double));
extern double __ieee754_pow __P((double,double));
extern double __ieee754_lgamma_r __P((double,int *));
extern double __ieee754_gamma_r __P((double,int *));
extern double __ieee754_lgamma __P((double));
extern double __ieee754_gamma __P((double));
extern double __ieee754_log10 __P((double));
extern double __ieee754_sinh __P((double));
extern double __ieee754_hypot __P((double,double));
extern double __ieee754_j0 __P((double));
extern double __ieee754_j1 __P((double));
extern double __ieee754_y0 __P((double));
extern double __ieee754_y1 __P((double));
extern double __ieee754_jn __P((int,double));
extern double __ieee754_yn __P((int,double));
extern double __ieee754_remainder __P((double,double));
extern int __ieee754_rem_pio2 __P((double,double*));
#ifdef _SCALB_INT
extern double __ieee754_scalb __P((double,int));
#else
extern double __ieee754_scalb __P((double,double));
#endif
/* fdlibm kernel function */
extern double __kernel_standard __P((double,double,int));
extern double __kernel_sin __P((double,double,int));
extern double __kernel_cos __P((double,double));
extern double __kernel_tan __P((double,double,int));
extern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const int*));

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,125 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)k_cos.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* __kernel_cos( x, y )
* kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164
* Input x is assumed to be bounded by ~pi/4 in magnitude.
* Input y is the tail of x.
*
* Algorithm
* 1. Since cos(-x) = cos(x), we need only to consider positive x.
* 2. if x < 2^-27 (hx<0x3e400000 0), return 1 with inexact if x!=0.
* 3. cos(x) is approximated by a polynomial of degree 14 on
* [0,pi/4]
* 4 14
* cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x
* where the remez error is
*
* | 2 4 6 8 10 12 14 | -58
* |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2
* | |
*
* 4 6 8 10 12 14
* 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then
* cos(x) = 1 - x*x/2 + r
* since cos(x+y) ~ cos(x) - sin(x)*y
* ~ cos(x) - x*y,
* a correction term is necessary in cos(x) and hence
* cos(x+y) = 1 - (x*x/2 - (r - x*y))
* For better accuracy when x > 0.3, let qx = |x|/4 with
* the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125.
* Then
* cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)).
* Note that 1-qx and (x*x/2-qx) is EXACT here, and the
* magnitude of the latter is at least a quarter of x*x/2,
* thus, reducing the rounding error in the subtraction.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */
C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */
C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */
C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */
C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */
C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */
#ifdef __STDC__
double __kernel_cos(double x, double y)
#else
double __kernel_cos(x, y)
double x,y;
#endif
{
double a,hz,z,r,qx;
int ix;
ix = __HI(x)&0x7fffffff; /* ix = |x|'s high word*/
if(ix<0x3e400000) { /* if x < 2**27 */
if(((int)x)==0) return one; /* generate inexact */
}
z = x*x;
r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6)))));
if(ix < 0x3FD33333) /* if |x| < 0.3 */
return one - (0.5*z - (z*r - x*y));
else {
if(ix > 0x3fe90000) { /* x > 0.78125 */
qx = 0.28125;
} else {
__HI(qx) = ix-0x00200000; /* x/4 */
__LO(qx) = 0;
}
hz = 0.5*z-qx;
a = one-qx;
return a - (hz - (z*r-x*y));
}
}

View File

@@ -1,349 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)k_rem_pio2.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2)
* double x[],y[]; int e0,nx,prec; int ipio2[];
*
* __kernel_rem_pio2 return the last three digits of N with
* y = x - N*pi/2
* so that |y| < pi/2.
*
* The method is to compute the integer (mod 8) and fraction parts of
* (2/pi)*x without doing the full multiplication. In general we
* skip the part of the product that are known to be a huge integer (
* more accurately, = 0 mod 8 ). Thus the number of operations are
* independent of the exponent of the input.
*
* (2/pi) is represented by an array of 24-bit integers in ipio2[].
*
* Input parameters:
* x[] The input value (must be positive) is broken into nx
* pieces of 24-bit integers in double precision format.
* x[i] will be the i-th 24 bit of x. The scaled exponent
* of x[0] is given in input parameter e0 (i.e., x[0]*2^e0
* match x's up to 24 bits.
*
* Example of breaking a double positive z into x[0]+x[1]+x[2]:
* e0 = ilogb(z)-23
* z = scalbn(z,-e0)
* for i = 0,1,2
* x[i] = floor(z)
* z = (z-x[i])*2**24
*
*
* y[] ouput result in an array of double precision numbers.
* The dimension of y[] is:
* 24-bit precision 1
* 53-bit precision 2
* 64-bit precision 2
* 113-bit precision 3
* The actual value is the sum of them. Thus for 113-bit
* precison, one may have to do something like:
*
* long double t,w,r_head, r_tail;
* t = (long double)y[2] + (long double)y[1];
* w = (long double)y[0];
* r_head = t+w;
* r_tail = w - (r_head - t);
*
* e0 The exponent of x[0]
*
* nx dimension of x[]
*
* prec an integer indicating the precision:
* 0 24 bits (single)
* 1 53 bits (double)
* 2 64 bits (extended)
* 3 113 bits (quad)
*
* ipio2[]
* integer array, contains the (24*i)-th to (24*i+23)-th
* bit of 2/pi after binary point. The corresponding
* floating value is
*
* ipio2[i] * 2^(-24(i+1)).
*
* External function:
* double scalbn(), floor();
*
*
* Here is the description of some local variables:
*
* jk jk+1 is the initial number of terms of ipio2[] needed
* in the computation. The recommended value is 2,3,4,
* 6 for single, double, extended,and quad.
*
* jz local integer variable indicating the number of
* terms of ipio2[] used.
*
* jx nx - 1
*
* jv index for pointing to the suitable ipio2[] for the
* computation. In general, we want
* ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8
* is an integer. Thus
* e0-3-24*jv >= 0 or (e0-3)/24 >= jv
* Hence jv = max(0,(e0-3)/24).
*
* jp jp+1 is the number of terms in PIo2[] needed, jp = jk.
*
* q[] double array with integral value, representing the
* 24-bits chunk of the product of x and 2/pi.
*
* q0 the corresponding exponent of q[0]. Note that the
* exponent for q[i] would be q0-24*i.
*
* PIo2[] double precision array, obtained by cutting pi/2
* into 24 bits chunks.
*
* f[] ipio2[] in floating point
*
* iq[] integer array by breaking up q[] in 24-bits chunk.
*
* fq[] final product of x*(2/pi) in fq[0],..,fq[jk]
*
* ih integer. If >0 it indicates q[] is >= 0.5, hence
* it also indicates the *sign* of the result.
*
*/
/*
* Constants:
* The hexadecimal values are the intended ones for the following
* constants. The decimal values may be used, provided that the
* compiler will convert from decimal to binary accurately enough
* to produce the hexadecimal values shown.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const int init_jk[] = {2,3,4,6}; /* initial value for jk */
#else
static int init_jk[] = {2,3,4,6};
#endif
#ifdef __STDC__
static const double PIo2[] = {
#else
static double PIo2[] = {
#endif
1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */
7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */
5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */
3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */
1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */
1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */
2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */
2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */
};
#ifdef __STDC__
static const double
#else
static double
#endif
zero = 0.0,
one = 1.0,
two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */
twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */
#ifdef __STDC__
int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const int *ipio2)
#else
int __kernel_rem_pio2(x,y,e0,nx,prec,ipio2)
double x[], y[]; int e0,nx,prec; int ipio2[];
#endif
{
int jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih;
double z,fw,f[20],fq[20],q[20];
/* initialize jk*/
jk = init_jk[prec];
jp = jk;
/* determine jx,jv,q0, note that 3>q0 */
jx = nx-1;
jv = (e0-3)/24; if(jv<0) jv=0;
q0 = e0-24*(jv+1);
/* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */
j = jv-jx; m = jx+jk;
for(i=0;i<=m;i++,j++) f[i] = (j<0)? zero : (double) ipio2[j];
/* compute q[0],q[1],...q[jk] */
for (i=0;i<=jk;i++) {
for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw;
}
jz = jk;
recompute:
/* distill q[] into iq[] reversingly */
for(i=0,j=jz,z=q[jz];j>0;i++,j--) {
fw = (double)((int)(twon24* z));
iq[i] = (int)(z-two24*fw);
z = q[j-1]+fw;
}
/* compute n */
z = fd_scalbn(z,q0); /* actual value of z */
z -= 8.0*fd_floor(z*0.125); /* trim off integer >= 8 */
n = (int) z;
z -= (double)n;
ih = 0;
if(q0>0) { /* need iq[jz-1] to determine n */
i = (iq[jz-1]>>(24-q0)); n += i;
iq[jz-1] -= i<<(24-q0);
ih = iq[jz-1]>>(23-q0);
}
else if(q0==0) ih = iq[jz-1]>>23;
else if(z>=0.5) ih=2;
if(ih>0) { /* q > 0.5 */
n += 1; carry = 0;
for(i=0;i<jz ;i++) { /* compute 1-q */
j = iq[i];
if(carry==0) {
if(j!=0) {
carry = 1; iq[i] = 0x1000000- j;
}
} else iq[i] = 0xffffff - j;
}
if(q0>0) { /* rare case: chance is 1 in 12 */
switch(q0) {
case 1:
iq[jz-1] &= 0x7fffff; break;
case 2:
iq[jz-1] &= 0x3fffff; break;
}
}
if(ih==2) {
z = one - z;
if(carry!=0) z -= fd_scalbn(one,q0);
}
}
/* check if recomputation is needed */
if(z==zero) {
j = 0;
for (i=jz-1;i>=jk;i--) j |= iq[i];
if(j==0) { /* need recomputation */
for(k=1;iq[jk-k]==0;k++); /* k = no. of terms needed */
for(i=jz+1;i<=jz+k;i++) { /* add q[jz+1] to q[jz+k] */
f[jx+i] = (double) ipio2[jv+i];
for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j];
q[i] = fw;
}
jz += k;
goto recompute;
}
}
/* chop off zero terms */
if(z==0.0) {
jz -= 1; q0 -= 24;
while(iq[jz]==0) { jz--; q0-=24;}
} else { /* break z into 24-bit if necessary */
z = fd_scalbn(z,-q0);
if(z>=two24) {
fw = (double)((int)(twon24*z));
iq[jz] = (int)(z-two24*fw);
jz += 1; q0 += 24;
iq[jz] = (int) fw;
} else iq[jz] = (int) z ;
}
/* convert integer "bit" chunk to floating-point value */
fw = fd_scalbn(one,q0);
for(i=jz;i>=0;i--) {
q[i] = fw*(double)iq[i]; fw*=twon24;
}
/* compute PIo2[0,...,jp]*q[jz,...,0] */
for(i=jz;i>=0;i--) {
for(fw=0.0,k=0;k<=jp&&k<=jz-i;k++) fw += PIo2[k]*q[i+k];
fq[jz-i] = fw;
}
/* compress fq[] into y[] */
switch(prec) {
case 0:
fw = 0.0;
for (i=jz;i>=0;i--) fw += fq[i];
y[0] = (ih==0)? fw: -fw;
break;
case 1:
case 2:
fw = 0.0;
for (i=jz;i>=0;i--) fw += fq[i];
y[0] = (ih==0)? fw: -fw;
fw = fq[0]-fw;
for (i=1;i<=jz;i++) fw += fq[i];
y[1] = (ih==0)? fw: -fw;
break;
case 3: /* painful */
for (i=jz;i>0;i--) {
fw = fq[i-1]+fq[i];
fq[i] += fq[i-1]-fw;
fq[i-1] = fw;
}
for (i=jz;i>1;i--) {
fw = fq[i-1]+fq[i];
fq[i] += fq[i-1]-fw;
fq[i-1] = fw;
}
for (fw=0.0,i=jz;i>=2;i--) fw += fq[i];
if(ih==0) {
y[0] = fq[0]; y[1] = fq[1]; y[2] = fw;
} else {
y[0] = -fq[0]; y[1] = -fq[1]; y[2] = -fw;
}
}
return n&7;
}

View File

@@ -1,107 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)k_sin.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __kernel_sin( x, y, iy)
* kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854
* Input x is assumed to be bounded by ~pi/4 in magnitude.
* Input y is the tail of x.
* Input iy indicates whether y is 0. (if iy=0, y assume to be 0).
*
* Algorithm
* 1. Since sin(-x) = -sin(x), we need only to consider positive x.
* 2. if x < 2^-27 (hx<0x3e400000 0), return x with inexact if x!=0.
* 3. sin(x) is approximated by a polynomial of degree 13 on
* [0,pi/4]
* 3 13
* sin(x) ~ x + S1*x + ... + S6*x
* where
*
* |sin(x) 2 4 6 8 10 12 | -58
* |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2
* | x |
*
* 4. sin(x+y) = sin(x) + sin'(x')*y
* ~ sin(x) + (1-x*x/2)*y
* For better accuracy, let
* 3 2 2 2 2
* r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6))))
* then 3 2
* sin(x) = x + (S1*x + (x *(r-y/2)+y))
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */
S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */
S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */
S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */
S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */
S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */
#ifdef __STDC__
double __kernel_sin(double x, double y, int iy)
#else
double __kernel_sin(x, y, iy)
double x,y; int iy; /* iy=0 if y is zero */
#endif
{
double z,r,v;
int ix;
ix = __HI(x)&0x7fffffff; /* high word of x */
if(ix<0x3e400000) /* |x| < 2**-27 */
{if((int)x==0) return x;} /* generate inexact */
z = x*x;
v = z*x;
r = S2+z*(S3+z*(S4+z*(S5+z*S6)));
if(iy==0) return x+v*(S1+z*r);
else return x-((z*(half*y-v*r)-y)-v*S1);
}

View File

@@ -1,775 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)k_standard.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
#include "fdlibm.h"
/* XXX ugly hack to get msvc to link without error. */
#if _LIB_VERSION == _IEEE_ && !defined(RHAPSODY)
int errno;
# define EDOM 0
# define ERANGE 0
#else
# include <errno.h>
#endif
#ifndef _USE_WRITE
#include <stdio.h> /* fputs(), stderr */
#define WRITE2(u,v) fputs(u, stderr)
#else /* !defined(_USE_WRITE) */
#include <unistd.h> /* write */
#define WRITE2(u,v) write(2, u, v)
#undef fflush
#endif /* !defined(_USE_WRITE) */
static double zero = 0.0; /* used as const */
/*
* Standard conformance (non-IEEE) on exception cases.
* Mapping:
* 1 -- acos(|x|>1)
* 2 -- asin(|x|>1)
* 3 -- atan2(+-0,+-0)
* 4 -- hypot overflow
* 5 -- cosh overflow
* 6 -- exp overflow
* 7 -- exp underflow
* 8 -- y0(0)
* 9 -- y0(-ve)
* 10-- y1(0)
* 11-- y1(-ve)
* 12-- yn(0)
* 13-- yn(-ve)
* 14-- lgamma(finite) overflow
* 15-- lgamma(-integer)
* 16-- log(0)
* 17-- log(x<0)
* 18-- log10(0)
* 19-- log10(x<0)
* 20-- pow(0.0,0.0)
* 21-- pow(x,y) overflow
* 22-- pow(x,y) underflow
* 23-- pow(0,negative)
* 24-- pow(neg,non-integral)
* 25-- sinh(finite) overflow
* 26-- sqrt(negative)
* 27-- fmod(x,0)
* 28-- remainder(x,0)
* 29-- acosh(x<1)
* 30-- atanh(|x|>1)
* 31-- atanh(|x|=1)
* 32-- scalb overflow
* 33-- scalb underflow
* 34-- j0(|x|>X_TLOSS)
* 35-- y0(x>X_TLOSS)
* 36-- j1(|x|>X_TLOSS)
* 37-- y1(x>X_TLOSS)
* 38-- jn(|x|>X_TLOSS, n)
* 39-- yn(x>X_TLOSS, n)
* 40-- gamma(finite) overflow
* 41-- gamma(-integer)
* 42-- pow(NaN,0.0)
*/
#ifdef __STDC__
double __kernel_standard(double x, double y, int type)
#else
double __kernel_standard(x,y,type)
double x,y; int type;
#endif
{
struct exception exc;
#ifndef HUGE_VAL /* this is the only routine that uses HUGE_VAL */
#define HUGE_VAL inf
double inf = 0.0;
__HI(inf) = 0x7ff00000; /* set inf to infinite */
#endif
#ifdef _USE_WRITE
(void) fflush(stdout);
#endif
exc.arg1 = x;
exc.arg2 = y;
switch(type) {
case 1:
/* acos(|x|>1) */
exc.type = DOMAIN;
exc.name = "acos";
exc.retval = zero;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if(_LIB_VERSION == _SVID_) {
(void) WRITE2("acos: DOMAIN error\n", 19);
}
errno = EDOM;
}
break;
case 2:
/* asin(|x|>1) */
exc.type = DOMAIN;
exc.name = "asin";
exc.retval = zero;
if(_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if(_LIB_VERSION == _SVID_) {
(void) WRITE2("asin: DOMAIN error\n", 19);
}
errno = EDOM;
}
break;
case 3:
/* atan2(+-0,+-0) */
exc.arg1 = y;
exc.arg2 = x;
exc.type = DOMAIN;
exc.name = "atan2";
exc.retval = zero;
if(_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if(_LIB_VERSION == _SVID_) {
(void) WRITE2("atan2: DOMAIN error\n", 20);
}
errno = EDOM;
}
break;
case 4:
/* hypot(finite,finite) overflow */
exc.type = OVERFLOW;
exc.name = "hypot";
if (_LIB_VERSION == _SVID_)
exc.retval = HUGE;
else
exc.retval = HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
errno = ERANGE;
}
break;
case 5:
/* cosh(finite) overflow */
exc.type = OVERFLOW;
exc.name = "cosh";
if (_LIB_VERSION == _SVID_)
exc.retval = HUGE;
else
exc.retval = HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
errno = ERANGE;
}
break;
case 6:
/* exp(finite) overflow */
exc.type = OVERFLOW;
exc.name = "exp";
if (_LIB_VERSION == _SVID_)
exc.retval = HUGE;
else
exc.retval = HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
errno = ERANGE;
}
break;
case 7:
/* exp(finite) underflow */
exc.type = UNDERFLOW;
exc.name = "exp";
exc.retval = zero;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
errno = ERANGE;
}
break;
case 8:
/* y0(0) = -inf */
exc.type = DOMAIN; /* should be SING for IEEE */
exc.name = "y0";
if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE;
else
exc.retval = -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("y0: DOMAIN error\n", 17);
}
errno = EDOM;
}
break;
case 9:
/* y0(x<0) = NaN */
exc.type = DOMAIN;
exc.name = "y0";
if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE;
else
exc.retval = -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("y0: DOMAIN error\n", 17);
}
errno = EDOM;
}
break;
case 10:
/* y1(0) = -inf */
exc.type = DOMAIN; /* should be SING for IEEE */
exc.name = "y1";
if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE;
else
exc.retval = -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("y1: DOMAIN error\n", 17);
}
errno = EDOM;
}
break;
case 11:
/* y1(x<0) = NaN */
exc.type = DOMAIN;
exc.name = "y1";
if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE;
else
exc.retval = -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("y1: DOMAIN error\n", 17);
}
errno = EDOM;
}
break;
case 12:
/* yn(n,0) = -inf */
exc.type = DOMAIN; /* should be SING for IEEE */
exc.name = "yn";
if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE;
else
exc.retval = -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("yn: DOMAIN error\n", 17);
}
errno = EDOM;
}
break;
case 13:
/* yn(x<0) = NaN */
exc.type = DOMAIN;
exc.name = "yn";
if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE;
else
exc.retval = -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("yn: DOMAIN error\n", 17);
}
errno = EDOM;
}
break;
case 14:
/* lgamma(finite) overflow */
exc.type = OVERFLOW;
exc.name = "lgamma";
if (_LIB_VERSION == _SVID_)
exc.retval = HUGE;
else
exc.retval = HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
errno = ERANGE;
}
break;
case 15:
/* lgamma(-integer) or lgamma(0) */
exc.type = SING;
exc.name = "lgamma";
if (_LIB_VERSION == _SVID_)
exc.retval = HUGE;
else
exc.retval = HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("lgamma: SING error\n", 19);
}
errno = EDOM;
}
break;
case 16:
/* log(0) */
exc.type = SING;
exc.name = "log";
if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE;
else
exc.retval = -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("log: SING error\n", 16);
}
errno = EDOM;
}
break;
case 17:
/* log(x<0) */
exc.type = DOMAIN;
exc.name = "log";
if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE;
else
exc.retval = -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("log: DOMAIN error\n", 18);
}
errno = EDOM;
}
break;
case 18:
/* log10(0) */
exc.type = SING;
exc.name = "log10";
if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE;
else
exc.retval = -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("log10: SING error\n", 18);
}
errno = EDOM;
}
break;
case 19:
/* log10(x<0) */
exc.type = DOMAIN;
exc.name = "log10";
if (_LIB_VERSION == _SVID_)
exc.retval = -HUGE;
else
exc.retval = -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("log10: DOMAIN error\n", 20);
}
errno = EDOM;
}
break;
case 20:
/* pow(0.0,0.0) */
/* error only if _LIB_VERSION == _SVID_ */
exc.type = DOMAIN;
exc.name = "pow";
exc.retval = zero;
if (_LIB_VERSION != _SVID_) exc.retval = 1.0;
else if (!fd_matherr(&exc)) {
(void) WRITE2("pow(0,0): DOMAIN error\n", 23);
errno = EDOM;
}
break;
case 21:
/* pow(x,y) overflow */
exc.type = OVERFLOW;
exc.name = "pow";
if (_LIB_VERSION == _SVID_) {
exc.retval = HUGE;
y *= 0.5;
if(x<zero&&fd_rint(y)!=y) exc.retval = -HUGE;
} else {
exc.retval = HUGE_VAL;
y *= 0.5;
if(x<zero&&fd_rint(y)!=y) exc.retval = -HUGE_VAL;
}
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
errno = ERANGE;
}
break;
case 22:
/* pow(x,y) underflow */
exc.type = UNDERFLOW;
exc.name = "pow";
exc.retval = zero;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
errno = ERANGE;
}
break;
case 23:
/* 0**neg */
exc.type = DOMAIN;
exc.name = "pow";
if (_LIB_VERSION == _SVID_)
exc.retval = zero;
else
exc.retval = -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("pow(0,neg): DOMAIN error\n", 25);
}
errno = EDOM;
}
break;
case 24:
/* neg**non-integral */
exc.type = DOMAIN;
exc.name = "pow";
if (_LIB_VERSION == _SVID_)
exc.retval = zero;
else
exc.retval = zero/zero; /* X/Open allow NaN */
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("neg**non-integral: DOMAIN error\n", 32);
}
errno = EDOM;
}
break;
case 25:
/* sinh(finite) overflow */
exc.type = OVERFLOW;
exc.name = "sinh";
if (_LIB_VERSION == _SVID_)
exc.retval = ( (x>zero) ? HUGE : -HUGE);
else
exc.retval = ( (x>zero) ? HUGE_VAL : -HUGE_VAL);
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
errno = ERANGE;
}
break;
case 26:
/* sqrt(x<0) */
exc.type = DOMAIN;
exc.name = "sqrt";
if (_LIB_VERSION == _SVID_)
exc.retval = zero;
else
exc.retval = zero/zero;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("sqrt: DOMAIN error\n", 19);
}
errno = EDOM;
}
break;
case 27:
/* fmod(x,0) */
exc.type = DOMAIN;
exc.name = "fmod";
if (_LIB_VERSION == _SVID_)
exc.retval = x;
else
exc.retval = zero/zero;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("fmod: DOMAIN error\n", 20);
}
errno = EDOM;
}
break;
case 28:
/* remainder(x,0) */
exc.type = DOMAIN;
exc.name = "remainder";
exc.retval = zero/zero;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("remainder: DOMAIN error\n", 24);
}
errno = EDOM;
}
break;
case 29:
/* acosh(x<1) */
exc.type = DOMAIN;
exc.name = "acosh";
exc.retval = zero/zero;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("acosh: DOMAIN error\n", 20);
}
errno = EDOM;
}
break;
case 30:
/* atanh(|x|>1) */
exc.type = DOMAIN;
exc.name = "atanh";
exc.retval = zero/zero;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("atanh: DOMAIN error\n", 20);
}
errno = EDOM;
}
break;
case 31:
/* atanh(|x|=1) */
exc.type = SING;
exc.name = "atanh";
exc.retval = x/zero; /* sign(x)*inf */
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("atanh: SING error\n", 18);
}
errno = EDOM;
}
break;
case 32:
/* scalb overflow; SVID also returns +-HUGE_VAL */
exc.type = OVERFLOW;
exc.name = "scalb";
exc.retval = x > zero ? HUGE_VAL : -HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
errno = ERANGE;
}
break;
case 33:
/* scalb underflow */
exc.type = UNDERFLOW;
exc.name = "scalb";
exc.retval = fd_copysign(zero,x);
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
errno = ERANGE;
}
break;
case 34:
/* j0(|x|>X_TLOSS) */
exc.type = TLOSS;
exc.name = "j0";
exc.retval = zero;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2(exc.name, 2);
(void) WRITE2(": TLOSS error\n", 14);
}
errno = ERANGE;
}
break;
case 35:
/* y0(x>X_TLOSS) */
exc.type = TLOSS;
exc.name = "y0";
exc.retval = zero;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2(exc.name, 2);
(void) WRITE2(": TLOSS error\n", 14);
}
errno = ERANGE;
}
break;
case 36:
/* j1(|x|>X_TLOSS) */
exc.type = TLOSS;
exc.name = "j1";
exc.retval = zero;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2(exc.name, 2);
(void) WRITE2(": TLOSS error\n", 14);
}
errno = ERANGE;
}
break;
case 37:
/* y1(x>X_TLOSS) */
exc.type = TLOSS;
exc.name = "y1";
exc.retval = zero;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2(exc.name, 2);
(void) WRITE2(": TLOSS error\n", 14);
}
errno = ERANGE;
}
break;
case 38:
/* jn(|x|>X_TLOSS) */
exc.type = TLOSS;
exc.name = "jn";
exc.retval = zero;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2(exc.name, 2);
(void) WRITE2(": TLOSS error\n", 14);
}
errno = ERANGE;
}
break;
case 39:
/* yn(x>X_TLOSS) */
exc.type = TLOSS;
exc.name = "yn";
exc.retval = zero;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2(exc.name, 2);
(void) WRITE2(": TLOSS error\n", 14);
}
errno = ERANGE;
}
break;
case 40:
/* gamma(finite) overflow */
exc.type = OVERFLOW;
exc.name = "gamma";
if (_LIB_VERSION == _SVID_)
exc.retval = HUGE;
else
exc.retval = HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = ERANGE;
else if (!fd_matherr(&exc)) {
errno = ERANGE;
}
break;
case 41:
/* gamma(-integer) or gamma(0) */
exc.type = SING;
exc.name = "gamma";
if (_LIB_VERSION == _SVID_)
exc.retval = HUGE;
else
exc.retval = HUGE_VAL;
if (_LIB_VERSION == _POSIX_)
errno = EDOM;
else if (!fd_matherr(&exc)) {
if (_LIB_VERSION == _SVID_) {
(void) WRITE2("gamma: SING error\n", 18);
}
errno = EDOM;
}
break;
case 42:
/* pow(NaN,0.0) */
/* error only if _LIB_VERSION == _SVID_ & _XOPEN_ */
exc.type = DOMAIN;
exc.name = "pow";
exc.retval = x;
if (_LIB_VERSION == _IEEE_ ||
_LIB_VERSION == _POSIX_) exc.retval = 1.0;
else if (!fd_matherr(&exc)) {
errno = EDOM;
}
break;
}
return exc.retval;
}

View File

@@ -1,158 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)k_tan.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* __kernel_tan( x, y, k )
* kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854
* Input x is assumed to be bounded by ~pi/4 in magnitude.
* Input y is the tail of x.
* Input k indicates whether tan (if k=1) or
* -1/tan (if k= -1) is returned.
*
* Algorithm
* 1. Since tan(-x) = -tan(x), we need only to consider positive x.
* 2. if x < 2^-28 (hx<0x3e300000 0), return x with inexact if x!=0.
* 3. tan(x) is approximated by a odd polynomial of degree 27 on
* [0,0.67434]
* 3 27
* tan(x) ~ x + T1*x + ... + T13*x
* where
*
* |tan(x) 2 4 26 | -59.2
* |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2
* | x |
*
* Note: tan(x+y) = tan(x) + tan'(x)*y
* ~ tan(x) + (1+x*x)*y
* Therefore, for better accuracy in computing tan(x+y), let
* 3 2 2 2 2
* r = x *(T2+x *(T3+x *(...+x *(T12+x *T13))))
* then
* 3 2
* tan(x+y) = x + (T1*x + (x *(r+y)+y))
*
* 4. For x in [0.67434,pi/4], let y = pi/4 - x, then
* tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y))
* = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y)))
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
pio4 = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */
pio4lo= 3.06161699786838301793e-17, /* 0x3C81A626, 0x33145C07 */
T[] = {
3.33333333333334091986e-01, /* 0x3FD55555, 0x55555563 */
1.33333333333201242699e-01, /* 0x3FC11111, 0x1110FE7A */
5.39682539762260521377e-02, /* 0x3FABA1BA, 0x1BB341FE */
2.18694882948595424599e-02, /* 0x3F9664F4, 0x8406D637 */
8.86323982359930005737e-03, /* 0x3F8226E3, 0xE96E8493 */
3.59207910759131235356e-03, /* 0x3F6D6D22, 0xC9560328 */
1.45620945432529025516e-03, /* 0x3F57DBC8, 0xFEE08315 */
5.88041240820264096874e-04, /* 0x3F4344D8, 0xF2F26501 */
2.46463134818469906812e-04, /* 0x3F3026F7, 0x1A8D1068 */
7.81794442939557092300e-05, /* 0x3F147E88, 0xA03792A6 */
7.14072491382608190305e-05, /* 0x3F12B80F, 0x32F0A7E9 */
-1.85586374855275456654e-05, /* 0xBEF375CB, 0xDB605373 */
2.59073051863633712884e-05, /* 0x3EFB2A70, 0x74BF7AD4 */
};
#ifdef __STDC__
double __kernel_tan(double x, double y, int iy)
#else
double __kernel_tan(x, y, iy)
double x,y; int iy;
#endif
{
double z,r,v,w,s;
int ix,hx;
hx = __HI(x); /* high word of x */
ix = hx&0x7fffffff; /* high word of |x| */
if(ix<0x3e300000) /* x < 2**-28 */
{if((int)x==0) { /* generate inexact */
if(((ix|__LO(x))|(iy+1))==0) return one/fd_fabs(x);
else return (iy==1)? x: -one/x;
}
}
if(ix>=0x3FE59428) { /* |x|>=0.6744 */
if(hx<0) {x = -x; y = -y;}
z = pio4-x;
w = pio4lo-y;
x = z+w; y = 0.0;
}
z = x*x;
w = z*z;
/* Break x^5*(T[1]+x^2*T[2]+...) into
* x^5(T[1]+x^4*T[3]+...+x^20*T[11]) +
* x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12]))
*/
r = T[1]+w*(T[3]+w*(T[5]+w*(T[7]+w*(T[9]+w*T[11]))));
v = z*(T[2]+w*(T[4]+w*(T[6]+w*(T[8]+w*(T[10]+w*T[12])))));
s = z*x;
r = y + z*(s*(r+v)+y);
r += T[0]*s;
w = x+r;
if(ix>=0x3FE59428) {
v = (double)iy;
return (double)(1-((hx>>30)&2))*(v-2.0*(x-(w*w/(w+v)-r)));
}
if(iy==1) return w;
else { /* if allow error up to 2 ulp,
simply return -1.0/(x+r) here */
/* compute -1.0/(x+r) accurately */
double a,t;
z = w;
__LO(z) = 0;
v = r-(z - x); /* z+v = r+x */
t = a = -1.0/w; /* a = -1.0/w */
__LO(t) = 0;
s = 1.0+t*z;
return t+a*(s+t*v);
}
}

View File

@@ -1,96 +0,0 @@
#// The contents of this file are subject to the Netscape Public
#// License Version 1.1 (the "License"); you may not use this file
#// except in compliance with the License. You may obtain a copy of
#// the License at http://www.mozilla.org/NPL/
#//
#// Software distributed under the License is distributed on an "AS
#// IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
#// implied. See the License for the specific language governing
#// rights and limitations under the License.
#//
#// The Original Code is Mozilla Communicator client code, released
#// March 31, 1998.
#//
#// The Initial Developer of the Original Code is Netscape
#// Communications Corporation. Portions created by Netscape are
#// Copyright (C) 1998 Netscape Communications Corporation. All
#// Rights Reserved.
#//
#// Contributor(s):
#//
#// Alternatively, the contents of this file may be used under the
#// terms of the GNU Public License (the "GPL"), in which case the
#// provisions of the GPL are applicable instead of those above.
#// If you wish to allow use of your version of this file only
#// under the terms of the GPL and not to allow others to use your
#// version of this file under the NPL, indicate your decision by
#// deleting the provisions above and replace them with the notice
#// and other provisions required by the GPL. If you do not delete
#// the provisions above, a recipient may use your version of this
#// file under either the NPL or the GPL.
#//------------------------------------------------------------------------
#//
#// Specify the depth of the current directory relative to the
#// root of NS
#//
#//------------------------------------------------------------------------
DEPTH=..\..\..
include <$(DEPTH)\config\config.mak>
#//------------------------------------------------------------------------
#//
#// Define any Public Make Variables here: (ie. PDFFILE, MAPFILE, ...)
#//
#//------------------------------------------------------------------------
LIBRARY_NAME = fdlibm
#//------------------------------------------------------------------------
#//
#// Define the files necessary to build the target (ie. OBJS)
#//
#//------------------------------------------------------------------------
OBJS = \
.\$(OBJDIR)\e_atan2.obj \
.\$(OBJDIR)\e_pow.obj \
.\$(OBJDIR)\e_sqrt.obj \
.\$(OBJDIR)\k_standard.obj \
.\$(OBJDIR)\s_atan.obj \
.\$(OBJDIR)\s_copysign.obj \
.\$(OBJDIR)\s_fabs.obj \
.\$(OBJDIR)\s_finite.obj \
.\$(OBJDIR)\s_isnan.obj \
.\$(OBJDIR)\s_matherr.obj \
.\$(OBJDIR)\s_rint.obj \
.\$(OBJDIR)\s_scalbn.obj \
.\$(OBJDIR)\w_atan2.obj \
.\$(OBJDIR)\w_pow.obj \
.\$(OBJDIR)\w_sqrt.obj \
.\$(OBJDIR)\s_lib_version.obj \
$(NULL)
#//------------------------------------------------------------------------
#//
#// Include the common makefile rules
#//
#//------------------------------------------------------------------------
include <$(DEPTH)\config\rules.mak>
export:: $(LIBRARY)
#//------------------------------------------------------------------------
#//
#// Standalone js.exe interpreter
#//
#//------------------------------------------------------------------------
#//PROGRAM = $(OBJDIR)\js.exe
#//js: $(PROGRAM)
#//
#//$(PROGRAM): $(OBJDIR)\js.obj $(LIBRARY)
#// @$(MAKE_OBJDIR)
#// $(link) /debug /out:$(PROGRAM) $(OBJDIR)\js.obj $(DIST)\lib\pr3240.lib $(LIBRARY) $(LDFLAGS)
#//
#//$(OBJDIR)\js.obj: js.c
#// $(CC) /Fo$(OBJDIR)\js.obj js.c $(CFLAGS) -DJSFILE

View File

@@ -1,94 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_asinh.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* asinh(x)
* Method :
* Based on
* asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ]
* we have
* asinh(x) := x if 1+x*x=1,
* := sign(x)*(log(x)+ln2)) for large |x|, else
* := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else
* := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2)))
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
really_big= 1.00000000000000000000e+300;
#ifdef __STDC__
double fd_asinh(double x)
#else
double fd_asinh(x)
double x;
#endif
{
double t,w;
int hx,ix;
hx = __HI(x);
ix = hx&0x7fffffff;
if(ix>=0x7ff00000) return x+x; /* x is inf or NaN */
if(ix< 0x3e300000) { /* |x|<2**-28 */
if(really_big+x>one) return x; /* return x inexact except 0 */
}
if(ix>0x41b00000) { /* |x| > 2**28 */
w = __ieee754_log(fd_fabs(x))+ln2;
} else if (ix>0x40000000) { /* 2**28 > |x| > 2.0 */
t = fd_fabs(x);
w = __ieee754_log(2.0*t+one/(fd_sqrt(x*x+one)+t));
} else { /* 2.0 > |x| > 2**-28 */
t = x*x;
w =fd_log1p(fd_fabs(x)+t/(one+fd_sqrt(one+t)));
}
if(hx>0) return w; else return -w;
}

View File

@@ -1,167 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_atan.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/* atan(x)
* Method
* 1. Reduce x to positive by atan(x) = -atan(-x).
* 2. According to the integer k=4t+0.25 chopped, t=x, the argument
* is further reduced to one of the following intervals and the
* arctangent of t is evaluated by the corresponding formula:
*
* [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...)
* [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) )
* [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) )
* [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) )
* [39/16,INF] atan(x) = atan(INF) + atan( -1/t )
*
* Constants:
* The hexadecimal values are the intended ones for the following
* constants. The decimal values may be used, provided that the
* compiler will convert from decimal to binary accurately enough
* to produce the hexadecimal values shown.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double atanhi[] = {
#else
static double atanhi[] = {
#endif
4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */
7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */
9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */
1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */
};
#ifdef __STDC__
static const double atanlo[] = {
#else
static double atanlo[] = {
#endif
2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */
3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */
1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */
6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */
};
#ifdef __STDC__
static const double aT[] = {
#else
static double aT[] = {
#endif
3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */
-1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */
1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */
-1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */
9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */
-7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */
6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */
-5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */
4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */
-3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */
1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */
};
#ifdef __STDC__
static const double
#else
static double
#endif
one = 1.0,
really_big = 1.0e300;
#ifdef __STDC__
double fd_atan(double x)
#else
double fd_atan(x)
double x;
#endif
{
double w,s1,s2,z;
int ix,hx,id;
hx = __HI(x);
ix = hx&0x7fffffff;
if(ix>=0x44100000) { /* if |x| >= 2^66 */
if(ix>0x7ff00000||
(ix==0x7ff00000&&(__LO(x)!=0)))
return x+x; /* NaN */
if(hx>0) return atanhi[3]+atanlo[3];
else return -atanhi[3]-atanlo[3];
} if (ix < 0x3fdc0000) { /* |x| < 0.4375 */
if (ix < 0x3e200000) { /* |x| < 2^-29 */
if(really_big+x>one) return x; /* raise inexact */
}
id = -1;
} else {
x = fd_fabs(x);
if (ix < 0x3ff30000) { /* |x| < 1.1875 */
if (ix < 0x3fe60000) { /* 7/16 <=|x|<11/16 */
id = 0; x = (2.0*x-one)/(2.0+x);
} else { /* 11/16<=|x|< 19/16 */
id = 1; x = (x-one)/(x+one);
}
} else {
if (ix < 0x40038000) { /* |x| < 2.4375 */
id = 2; x = (x-1.5)/(one+1.5*x);
} else { /* 2.4375 <= |x| < 2^66 */
id = 3; x = -1.0/x;
}
}}
/* end of argument reduction */
z = x*x;
w = z*z;
/* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */
s1 = z*(aT[0]+w*(aT[2]+w*(aT[4]+w*(aT[6]+w*(aT[8]+w*aT[10])))));
s2 = w*(aT[1]+w*(aT[3]+w*(aT[5]+w*(aT[7]+w*aT[9]))));
if (id<0) return x - x*(s1+s2);
else {
z = atanhi[id] - ((x*(s1+s2) - atanlo[id]) - x);
return (hx<0)? -z:z;
}
}

View File

@@ -1,120 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_cbrt.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
#include "fdlibm.h"
/* cbrt(x)
* Return cube root of x
*/
#ifdef __STDC__
static const unsigned
#else
static unsigned
#endif
B1 = 715094163, /* B1 = (682-0.03306235651)*2**20 */
B2 = 696219795; /* B2 = (664-0.03306235651)*2**20 */
#ifdef __STDC__
static const double
#else
static double
#endif
C = 5.42857142857142815906e-01, /* 19/35 = 0x3FE15F15, 0xF15F15F1 */
D = -7.05306122448979611050e-01, /* -864/1225 = 0xBFE691DE, 0x2532C834 */
E = 1.41428571428571436819e+00, /* 99/70 = 0x3FF6A0EA, 0x0EA0EA0F */
F = 1.60714285714285720630e+00, /* 45/28 = 0x3FF9B6DB, 0x6DB6DB6E */
G = 3.57142857142857150787e-01; /* 5/14 = 0x3FD6DB6D, 0xB6DB6DB7 */
#ifdef __STDC__
double fd_cbrt(double x)
#else
double fd_cbrt(x)
double x;
#endif
{
int hx;
double r,s,t=0.0,w;
unsigned sign;
hx = __HI(x); /* high word of x */
sign=hx&0x80000000; /* sign= sign(x) */
hx ^=sign;
if(hx>=0x7ff00000) return(x+x); /* cbrt(NaN,INF) is itself */
if((hx|__LO(x))==0)
return(x); /* cbrt(0) is itself */
__HI(x) = hx; /* x <- |x| */
/* rough cbrt to 5 bits */
if(hx<0x00100000) /* subnormal number */
{__HI(t)=0x43500000; /* set t= 2**54 */
t*=x; __HI(t)=__HI(t)/3+B2;
}
else
__HI(t)=hx/3+B1;
/* new cbrt to 23 bits, may be implemented in single precision */
r=t*t/x;
s=C+r*t;
t*=G+F/(s+E+D/s);
/* chopped to 20 bits and make it larger than cbrt(x) */
__LO(t)=0; __HI(t)+=0x00000001;
/* one step newton iteration to 53 bits with error less than 0.667 ulps */
s=t*t; /* t*t is exact */
r=x/s;
w=t+t;
r=(r-t)/(w+r); /* r-s is exact */
t=t+t*r;
/* retore the sign bit */
__HI(t) |= sign;
return(t);
}

View File

@@ -1,111 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_ceil.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* ceil(x)
* Return x rounded toward -inf to integral value
* Method:
* Bit twiddling.
* Exception:
* Inexact flag raised if x not equal to ceil(x).
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double really_big = 1.0e300;
#else
static double really_big = 1.0e300;
#endif
#ifdef __STDC__
double fd_ceil(double x)
#else
double fd_ceil(x)
double x;
#endif
{
int i0,i1,j0;
unsigned i,j;
i0 = __HI(x);
i1 = __LO(x);
j0 = ((i0>>20)&0x7ff)-0x3ff;
if(j0<20) {
if(j0<0) { /* raise inexact if x != 0 */
if(really_big+x>0.0) {/* return 0*sign(x) if |x|<1 */
if(i0<0) {i0=0x80000000;i1=0;}
else if((i0|i1)!=0) { i0=0x3ff00000;i1=0;}
}
} else {
i = (0x000fffff)>>j0;
if(((i0&i)|i1)==0) return x; /* x is integral */
if(really_big+x>0.0) { /* raise inexact flag */
if(i0>0) i0 += (0x00100000)>>j0;
i0 &= (~i); i1=0;
}
}
} else if (j0>51) {
if(j0==0x400) return x+x; /* inf or NaN */
else return x; /* x is integral */
} else {
i = ((unsigned)(0xffffffff))>>(j0-20);
if((i1&i)==0) return x; /* x is integral */
if(really_big+x>0.0) { /* raise inexact flag */
if(i0>0) {
if(j0==20) i0+=1;
else {
j = i1 + (1<<(52-j0));
if((int)j<i1) i0+=1; /* got a carry */
i1 = j;
}
}
i1 &= (~i);
}
}
__HI(x) = i0;
__LO(x) = i1;
return x;
}

View File

@@ -1,64 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_copysign.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* copysign(double x, double y)
* copysign(x,y) returns a value with the magnitude of x and
* with the sign bit of y.
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_copysign(double x, double y)
#else
double fd_copysign(x,y)
double x,y;
#endif
{
__HI(x) = (__HI(x)&0x7fffffff)|(__HI(y)&0x80000000);
return x;
}

View File

@@ -1,111 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_cos.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* cos(x)
* Return cosine function of x.
*
* kernel function:
* __kernel_sin ... sine function on [-pi/4,pi/4]
* __kernel_cos ... cosine function on [-pi/4,pi/4]
* __ieee754_rem_pio2 ... argument reduction routine
*
* Method.
* Let S,C and T denote the sin, cos and tan respectively on
* [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
* in [-pi/4 , +pi/4], and let n = k mod 4.
* We have
*
* n sin(x) cos(x) tan(x)
* ----------------------------------------------------------
* 0 S C T
* 1 C -S -1/T
* 2 -S -C T
* 3 -C S -1/T
* ----------------------------------------------------------
*
* Special cases:
* Let trig be any of sin, cos, or tan.
* trig(+-INF) is NaN, with signals;
* trig(NaN) is that NaN;
*
* Accuracy:
* TRIG(x) returns trig(x) nearly rounded
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_cos(double x)
#else
double fd_cos(x)
double x;
#endif
{
double y[2],z=0.0;
int n, ix;
/* High word of x. */
ix = __HI(x);
/* |x| ~< pi/4 */
ix &= 0x7fffffff;
if(ix <= 0x3fe921fb) return __kernel_cos(x,z);
/* cos(Inf or NaN) is NaN */
else if (ix>=0x7ff00000) return x-x;
/* argument reduction needed */
else {
n = __ieee754_rem_pio2(x,y);
switch(n&3) {
case 0: return __kernel_cos(y[0],y[1]);
case 1: return -__kernel_sin(y[0],y[1],1);
case 2: return -__kernel_cos(y[0],y[1]);
default:
return __kernel_sin(y[0],y[1],1);
}
}
}

View File

@@ -1,343 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_erf.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* double erf(double x)
* double erfc(double x)
* x
* 2 |\
* erf(x) = --------- | exp(-t*t)dt
* sqrt(pi) \|
* 0
*
* erfc(x) = 1-erf(x)
* Note that
* erf(-x) = -erf(x)
* erfc(-x) = 2 - erfc(x)
*
* Method:
* 1. For |x| in [0, 0.84375]
* erf(x) = x + x*R(x^2)
* erfc(x) = 1 - erf(x) if x in [-.84375,0.25]
* = 0.5 + ((0.5-x)-x*R) if x in [0.25,0.84375]
* where R = P/Q where P is an odd poly of degree 8 and
* Q is an odd poly of degree 10.
* -57.90
* | R - (erf(x)-x)/x | <= 2
*
*
* Remark. The formula is derived by noting
* erf(x) = (2/sqrt(pi))*(x - x^3/3 + x^5/10 - x^7/42 + ....)
* and that
* 2/sqrt(pi) = 1.128379167095512573896158903121545171688
* is close to one. The interval is chosen because the fix
* point of erf(x) is near 0.6174 (i.e., erf(x)=x when x is
* near 0.6174), and by some experiment, 0.84375 is chosen to
* guarantee the error is less than one ulp for erf.
*
* 2. For |x| in [0.84375,1.25], let s = |x| - 1, and
* c = 0.84506291151 rounded to single (24 bits)
* erf(x) = sign(x) * (c + P1(s)/Q1(s))
* erfc(x) = (1-c) - P1(s)/Q1(s) if x > 0
* 1+(c+P1(s)/Q1(s)) if x < 0
* |P1/Q1 - (erf(|x|)-c)| <= 2**-59.06
* Remark: here we use the taylor series expansion at x=1.
* erf(1+s) = erf(1) + s*Poly(s)
* = 0.845.. + P1(s)/Q1(s)
* That is, we use rational approximation to approximate
* erf(1+s) - (c = (single)0.84506291151)
* Note that |P1/Q1|< 0.078 for x in [0.84375,1.25]
* where
* P1(s) = degree 6 poly in s
* Q1(s) = degree 6 poly in s
*
* 3. For x in [1.25,1/0.35(~2.857143)],
* erfc(x) = (1/x)*exp(-x*x-0.5625+R1/S1)
* erf(x) = 1 - erfc(x)
* where
* R1(z) = degree 7 poly in z, (z=1/x^2)
* S1(z) = degree 8 poly in z
*
* 4. For x in [1/0.35,28]
* erfc(x) = (1/x)*exp(-x*x-0.5625+R2/S2) if x > 0
* = 2.0 - (1/x)*exp(-x*x-0.5625+R2/S2) if -6<x<0
* = 2.0 - tiny (if x <= -6)
* erf(x) = sign(x)*(1.0 - erfc(x)) if x < 6, else
* erf(x) = sign(x)*(1.0 - tiny)
* where
* R2(z) = degree 6 poly in z, (z=1/x^2)
* S2(z) = degree 7 poly in z
*
* Note1:
* To compute exp(-x*x-0.5625+R/S), let s be a single
* precision number and s := x; then
* -x*x = -s*s + (s-x)*(s+x)
* exp(-x*x-0.5626+R/S) =
* exp(-s*s-0.5625)*exp((s-x)*(s+x)+R/S);
* Note2:
* Here 4 and 5 make use of the asymptotic series
* exp(-x*x)
* erfc(x) ~ ---------- * ( 1 + Poly(1/x^2) )
* x*sqrt(pi)
* We use rational approximation to approximate
* g(s)=f(1/x^2) = log(erfc(x)*x) - x*x + 0.5625
* Here is the error bound for R1/S1 and R2/S2
* |R1/S1 - f(x)| < 2**(-62.57)
* |R2/S2 - f(x)| < 2**(-61.52)
*
* 5. For inf > x >= 28
* erf(x) = sign(x) *(1 - tiny) (raise inexact)
* erfc(x) = tiny*tiny (raise underflow) if x > 0
* = 2 - tiny if x<0
*
* 7. Special case:
* erf(0) = 0, erf(inf) = 1, erf(-inf) = -1,
* erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2,
* erfc/erf(NaN) is NaN
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
tiny = 1e-300,
half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */
/* c = (float)0.84506291151 */
erx = 8.45062911510467529297e-01, /* 0x3FEB0AC1, 0x60000000 */
/*
* Coefficients for approximation to erf on [0,0.84375]
*/
efx = 1.28379167095512586316e-01, /* 0x3FC06EBA, 0x8214DB69 */
efx8= 1.02703333676410069053e+00, /* 0x3FF06EBA, 0x8214DB69 */
pp0 = 1.28379167095512558561e-01, /* 0x3FC06EBA, 0x8214DB68 */
pp1 = -3.25042107247001499370e-01, /* 0xBFD4CD7D, 0x691CB913 */
pp2 = -2.84817495755985104766e-02, /* 0xBF9D2A51, 0xDBD7194F */
pp3 = -5.77027029648944159157e-03, /* 0xBF77A291, 0x236668E4 */
pp4 = -2.37630166566501626084e-05, /* 0xBEF8EAD6, 0x120016AC */
qq1 = 3.97917223959155352819e-01, /* 0x3FD97779, 0xCDDADC09 */
qq2 = 6.50222499887672944485e-02, /* 0x3FB0A54C, 0x5536CEBA */
qq3 = 5.08130628187576562776e-03, /* 0x3F74D022, 0xC4D36B0F */
qq4 = 1.32494738004321644526e-04, /* 0x3F215DC9, 0x221C1A10 */
qq5 = -3.96022827877536812320e-06, /* 0xBED09C43, 0x42A26120 */
/*
* Coefficients for approximation to erf in [0.84375,1.25]
*/
pa0 = -2.36211856075265944077e-03, /* 0xBF6359B8, 0xBEF77538 */
pa1 = 4.14856118683748331666e-01, /* 0x3FDA8D00, 0xAD92B34D */
pa2 = -3.72207876035701323847e-01, /* 0xBFD7D240, 0xFBB8C3F1 */
pa3 = 3.18346619901161753674e-01, /* 0x3FD45FCA, 0x805120E4 */
pa4 = -1.10894694282396677476e-01, /* 0xBFBC6398, 0x3D3E28EC */
pa5 = 3.54783043256182359371e-02, /* 0x3FA22A36, 0x599795EB */
pa6 = -2.16637559486879084300e-03, /* 0xBF61BF38, 0x0A96073F */
qa1 = 1.06420880400844228286e-01, /* 0x3FBB3E66, 0x18EEE323 */
qa2 = 5.40397917702171048937e-01, /* 0x3FE14AF0, 0x92EB6F33 */
qa3 = 7.18286544141962662868e-02, /* 0x3FB2635C, 0xD99FE9A7 */
qa4 = 1.26171219808761642112e-01, /* 0x3FC02660, 0xE763351F */
qa5 = 1.36370839120290507362e-02, /* 0x3F8BEDC2, 0x6B51DD1C */
qa6 = 1.19844998467991074170e-02, /* 0x3F888B54, 0x5735151D */
/*
* Coefficients for approximation to erfc in [1.25,1/0.35]
*/
ra0 = -9.86494403484714822705e-03, /* 0xBF843412, 0x600D6435 */
ra1 = -6.93858572707181764372e-01, /* 0xBFE63416, 0xE4BA7360 */
ra2 = -1.05586262253232909814e+01, /* 0xC0251E04, 0x41B0E726 */
ra3 = -6.23753324503260060396e+01, /* 0xC04F300A, 0xE4CBA38D */
ra4 = -1.62396669462573470355e+02, /* 0xC0644CB1, 0x84282266 */
ra5 = -1.84605092906711035994e+02, /* 0xC067135C, 0xEBCCABB2 */
ra6 = -8.12874355063065934246e+01, /* 0xC0545265, 0x57E4D2F2 */
ra7 = -9.81432934416914548592e+00, /* 0xC023A0EF, 0xC69AC25C */
sa1 = 1.96512716674392571292e+01, /* 0x4033A6B9, 0xBD707687 */
sa2 = 1.37657754143519042600e+02, /* 0x4061350C, 0x526AE721 */
sa3 = 4.34565877475229228821e+02, /* 0x407B290D, 0xD58A1A71 */
sa4 = 6.45387271733267880336e+02, /* 0x40842B19, 0x21EC2868 */
sa5 = 4.29008140027567833386e+02, /* 0x407AD021, 0x57700314 */
sa6 = 1.08635005541779435134e+02, /* 0x405B28A3, 0xEE48AE2C */
sa7 = 6.57024977031928170135e+00, /* 0x401A47EF, 0x8E484A93 */
sa8 = -6.04244152148580987438e-02, /* 0xBFAEEFF2, 0xEE749A62 */
/*
* Coefficients for approximation to erfc in [1/.35,28]
*/
rb0 = -9.86494292470009928597e-03, /* 0xBF843412, 0x39E86F4A */
rb1 = -7.99283237680523006574e-01, /* 0xBFE993BA, 0x70C285DE */
rb2 = -1.77579549177547519889e+01, /* 0xC031C209, 0x555F995A */
rb3 = -1.60636384855821916062e+02, /* 0xC064145D, 0x43C5ED98 */
rb4 = -6.37566443368389627722e+02, /* 0xC083EC88, 0x1375F228 */
rb5 = -1.02509513161107724954e+03, /* 0xC0900461, 0x6A2E5992 */
rb6 = -4.83519191608651397019e+02, /* 0xC07E384E, 0x9BDC383F */
sb1 = 3.03380607434824582924e+01, /* 0x403E568B, 0x261D5190 */
sb2 = 3.25792512996573918826e+02, /* 0x40745CAE, 0x221B9F0A */
sb3 = 1.53672958608443695994e+03, /* 0x409802EB, 0x189D5118 */
sb4 = 3.19985821950859553908e+03, /* 0x40A8FFB7, 0x688C246A */
sb5 = 2.55305040643316442583e+03, /* 0x40A3F219, 0xCEDF3BE6 */
sb6 = 4.74528541206955367215e+02, /* 0x407DA874, 0xE79FE763 */
sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */
#ifdef __STDC__
double fd_erf(double x)
#else
double fd_erf(x)
double x;
#endif
{
int hx,ix,i;
double R,S,P,Q,s,y,z,r;
hx = __HI(x);
ix = hx&0x7fffffff;
if(ix>=0x7ff00000) { /* erf(nan)=nan */
i = ((unsigned)hx>>31)<<1;
return (double)(1-i)+one/x; /* erf(+-inf)=+-1 */
}
if(ix < 0x3feb0000) { /* |x|<0.84375 */
if(ix < 0x3e300000) { /* |x|<2**-28 */
if (ix < 0x00800000)
return 0.125*(8.0*x+efx8*x); /*avoid underflow */
return x + efx*x;
}
z = x*x;
r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
y = r/s;
return x + x*y;
}
if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */
s = fd_fabs(x)-one;
P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
if(hx>=0) return erx + P/Q; else return -erx - P/Q;
}
if (ix >= 0x40180000) { /* inf>|x|>=6 */
if(hx>=0) return one-tiny; else return tiny-one;
}
x = fd_fabs(x);
s = one/(x*x);
if(ix< 0x4006DB6E) { /* |x| < 1/0.35 */
R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
ra5+s*(ra6+s*ra7))))));
S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
sa5+s*(sa6+s*(sa7+s*sa8)))))));
} else { /* |x| >= 1/0.35 */
R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
rb5+s*rb6)))));
S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
sb5+s*(sb6+s*sb7))))));
}
z = x;
__LO(z) = 0;
r = __ieee754_exp(-z*z-0.5625)*__ieee754_exp((z-x)*(z+x)+R/S);
if(hx>=0) return one-r/x; else return r/x-one;
}
#ifdef __STDC__
double erfc(double x)
#else
double erfc(x)
double x;
#endif
{
int hx,ix;
double R,S,P,Q,s,y,z,r;
hx = __HI(x);
ix = hx&0x7fffffff;
if(ix>=0x7ff00000) { /* erfc(nan)=nan */
/* erfc(+-inf)=0,2 */
return (double)(((unsigned)hx>>31)<<1)+one/x;
}
if(ix < 0x3feb0000) { /* |x|<0.84375 */
if(ix < 0x3c700000) /* |x|<2**-56 */
return one-x;
z = x*x;
r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
y = r/s;
if(hx < 0x3fd00000) { /* x<1/4 */
return one-(x+x*y);
} else {
r = x*y;
r += (x-half);
return half - r ;
}
}
if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */
s = fd_fabs(x)-one;
P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
if(hx>=0) {
z = one-erx; return z - P/Q;
} else {
z = erx+P/Q; return one+z;
}
}
if (ix < 0x403c0000) { /* |x|<28 */
x = fd_fabs(x);
s = one/(x*x);
if(ix< 0x4006DB6D) { /* |x| < 1/.35 ~ 2.857143*/
R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
ra5+s*(ra6+s*ra7))))));
S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
sa5+s*(sa6+s*(sa7+s*sa8)))))));
} else { /* |x| >= 1/.35 ~ 2.857143 */
if(hx<0&&ix>=0x40180000) return two-tiny;/* x < -6 */
R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
rb5+s*rb6)))));
S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
sb5+s*(sb6+s*sb7))))));
}
z = x;
__LO(z) = 0;
r = __ieee754_exp(-z*z-0.5625)*
__ieee754_exp((z-x)*(z+x)+R/S);
if(hx>0) return r/x; else return two-r/x;
} else {
if(hx>0) return tiny*tiny; else return two-tiny;
}
}

View File

@@ -1,249 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_expm1.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* expm1(x)
* Returns exp(x)-1, the exponential of x minus 1.
*
* Method
* 1. Argument reduction:
* Given x, find r and integer k such that
*
* x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658
*
* Here a correction term c will be computed to compensate
* the error in r when rounded to a floating-point number.
*
* 2. Approximating expm1(r) by a special rational function on
* the interval [0,0.34658]:
* Since
* r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ...
* we define R1(r*r) by
* r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r)
* That is,
* R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r)
* = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r))
* = 1 - r^2/60 + r^4/2520 - r^6/100800 + ...
* We use a special Reme algorithm on [0,0.347] to generate
* a polynomial of degree 5 in r*r to approximate R1. The
* maximum error of this polynomial approximation is bounded
* by 2**-61. In other words,
* R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5
* where Q1 = -1.6666666666666567384E-2,
* Q2 = 3.9682539681370365873E-4,
* Q3 = -9.9206344733435987357E-6,
* Q4 = 2.5051361420808517002E-7,
* Q5 = -6.2843505682382617102E-9;
* (where z=r*r, and the values of Q1 to Q5 are listed below)
* with error bounded by
* | 5 | -61
* | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2
* | |
*
* expm1(r) = exp(r)-1 is then computed by the following
* specific way which minimize the accumulation rounding error:
* 2 3
* r r [ 3 - (R1 + R1*r/2) ]
* expm1(r) = r + --- + --- * [--------------------]
* 2 2 [ 6 - r*(3 - R1*r/2) ]
*
* To compensate the error in the argument reduction, we use
* expm1(r+c) = expm1(r) + c + expm1(r)*c
* ~ expm1(r) + c + r*c
* Thus c+r*c will be added in as the correction terms for
* expm1(r+c). Now rearrange the term to avoid optimization
* screw up:
* ( 2 2 )
* ({ ( r [ R1 - (3 - R1*r/2) ] ) } r )
* expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- )
* ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 )
* ( )
*
* = r - E
* 3. Scale back to obtain expm1(x):
* From step 1, we have
* expm1(x) = either 2^k*[expm1(r)+1] - 1
* = or 2^k*[expm1(r) + (1-2^-k)]
* 4. Implementation notes:
* (A). To save one multiplication, we scale the coefficient Qi
* to Qi*2^i, and replace z by (x^2)/2.
* (B). To achieve maximum accuracy, we compute expm1(x) by
* (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf)
* (ii) if k=0, return r-E
* (iii) if k=-1, return 0.5*(r-E)-0.5
* (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E)
* else return 1.0+2.0*(r-E);
* (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1)
* (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else
* (vii) return 2^k(1-((E+2^-k)-r))
*
* Special cases:
* expm1(INF) is INF, expm1(NaN) is NaN;
* expm1(-INF) is -1, and
* for finite argument, only expm1(0)=0 is exact.
*
* Accuracy:
* according to an error analysis, the error is always less than
* 1 ulp (unit in the last place).
*
* Misc. info.
* For IEEE double
* if x > 7.09782712893383973096e+02 then expm1(x) overflow
*
* Constants:
* The hexadecimal values are the intended ones for the following
* constants. The decimal values may be used, provided that the
* compiler will convert from decimal to binary accurately enough
* to produce the hexadecimal values shown.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
one = 1.0,
really_big = 1.0e+300,
tiny = 1.0e-300,
o_threshold = 7.09782712893383973096e+02,/* 0x40862E42, 0xFEFA39EF */
ln2_hi = 6.93147180369123816490e-01,/* 0x3fe62e42, 0xfee00000 */
ln2_lo = 1.90821492927058770002e-10,/* 0x3dea39ef, 0x35793c76 */
invln2 = 1.44269504088896338700e+00,/* 0x3ff71547, 0x652b82fe */
/* scaled coefficients related to expm1 */
Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */
Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */
Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */
Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */
Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
#ifdef __STDC__
double fd_expm1(double x)
#else
double fd_expm1(x)
double x;
#endif
{
double y,hi,lo,c,t,e,hxs,hfx,r1;
int k,xsb;
unsigned hx;
hx = __HI(x); /* high word of x */
xsb = hx&0x80000000; /* sign bit of x */
if(xsb==0) y=x; else y= -x; /* y = |x| */
hx &= 0x7fffffff; /* high word of |x| */
/* filter out huge and non-finite argument */
if(hx >= 0x4043687A) { /* if |x|>=56*ln2 */
if(hx >= 0x40862E42) { /* if |x|>=709.78... */
if(hx>=0x7ff00000) {
if(((hx&0xfffff)|__LO(x))!=0)
return x+x; /* NaN */
else return (xsb==0)? x:-1.0;/* exp(+-inf)={inf,-1} */
}
if(x > o_threshold) return really_big*really_big; /* overflow */
}
if(xsb!=0) { /* x < -56*ln2, return -1.0 with inexact */
if(x+tiny<0.0) /* raise inexact */
return tiny-one; /* return -1 */
}
}
/* argument reduction */
if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */
if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */
if(xsb==0)
{hi = x - ln2_hi; lo = ln2_lo; k = 1;}
else
{hi = x + ln2_hi; lo = -ln2_lo; k = -1;}
} else {
k = (int)(invln2*x+((xsb==0)?0.5:-0.5));
t = k;
hi = x - t*ln2_hi; /* t*ln2_hi is exact here */
lo = t*ln2_lo;
}
x = hi - lo;
c = (hi-x)-lo;
}
else if(hx < 0x3c900000) { /* when |x|<2**-54, return x */
t = really_big+x; /* return x with inexact flags when x!=0 */
return x - (t-(really_big+x));
}
else k = 0;
/* x is now in primary range */
hfx = 0.5*x;
hxs = x*hfx;
r1 = one+hxs*(Q1+hxs*(Q2+hxs*(Q3+hxs*(Q4+hxs*Q5))));
t = 3.0-r1*hfx;
e = hxs*((r1-t)/(6.0 - x*t));
if(k==0) return x - (x*e-hxs); /* c is 0 */
else {
e = (x*(e-c)-c);
e -= hxs;
if(k== -1) return 0.5*(x-e)-0.5;
if(k==1)
if(x < -0.25) return -2.0*(e-(x+0.5));
else return one+2.0*(x-e);
if (k <= -2 || k>56) { /* suffice to return exp(x)-1 */
y = one-(e-x);
__HI(y) += (k<<20); /* add k to y's exponent */
return y-one;
}
t = one;
if(k<20) {
__HI(t) = 0x3ff00000 - (0x200000>>k); /* t=1-2^-k */
y = t-(e-x);
__HI(y) += (k<<20); /* add k to y's exponent */
} else {
__HI(t) = ((0x3ff-k)<<20); /* 2^-k */
y = x-(e+t);
y += one;
__HI(y) += (k<<20); /* add k to y's exponent */
}
}
return y;
}

View File

@@ -1,62 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_fabs.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* fabs(x) returns the absolute value of x.
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_fabs(double x)
#else
double fd_fabs(x)
double x;
#endif
{
__HI(x) &= 0x7fffffff;
return x;
}

View File

@@ -1,64 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_finite.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* finite(x) returns 1 is x is finite, else 0;
* no branching!
*/
#include "fdlibm.h"
#ifdef __STDC__
int fd_finite(double x)
#else
int fd_finite(x)
double x;
#endif
{
int hx;
hx = __HI(x);
return (unsigned)((hx&0x7fffffff)-0x7ff00000)>>31;
}

View File

@@ -1,112 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_floor.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* floor(x)
* Return x rounded toward -inf to integral value
* Method:
* Bit twiddling.
* Exception:
* Inexact flag raised if x not equal to floor(x).
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double really_big = 1.0e300;
#else
static double really_big = 1.0e300;
#endif
#ifdef __STDC__
double fd_floor(double x)
#else
double fd_floor(x)
double x;
#endif
{
int i0,i1,j0;
unsigned i,j;
i0 = __HI(x);
i1 = __LO(x);
j0 = ((i0>>20)&0x7ff)-0x3ff;
if(j0<20) {
if(j0<0) { /* raise inexact if x != 0 */
if(really_big+x>0.0) {/* return 0*sign(x) if |x|<1 */
if(i0>=0) {i0=i1=0;}
else if(((i0&0x7fffffff)|i1)!=0)
{ i0=0xbff00000;i1=0;}
}
} else {
i = (0x000fffff)>>j0;
if(((i0&i)|i1)==0) return x; /* x is integral */
if(really_big+x>0.0) { /* raise inexact flag */
if(i0<0) i0 += (0x00100000)>>j0;
i0 &= (~i); i1=0;
}
}
} else if (j0>51) {
if(j0==0x400) return x+x; /* inf or NaN */
else return x; /* x is integral */
} else {
i = ((unsigned)(0xffffffff))>>(j0-20);
if((i1&i)==0) return x; /* x is integral */
if(really_big+x>0.0) { /* raise inexact flag */
if(i0<0) {
if(j0==20) i0+=1;
else {
j = i1+(1<<(52-j0));
if((int)j<i1) i0 +=1 ; /* got a carry */
i1=j;
}
}
i1 &= (~i);
}
}
__HI(x) = i0;
__LO(x) = i1;
return x;
}

View File

@@ -1,89 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_frexp.c 1.4 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* for non-zero x
* x = frexp(arg,&exp);
* return a double fp quantity x such that 0.5 <= |x| <1.0
* and the corresponding binary exponent "exp". That is
* arg = x*2^exp.
* If arg is inf, 0.0, or NaN, then frexp(arg,&exp) returns arg
* with *exp=0.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
two54 = 1.80143985094819840000e+16; /* 0x43500000, 0x00000000 */
#ifdef __STDC__
double fd_frexp(double x, int *eptr)
#else
double fd_frexp(x, eptr)
double x; int *eptr;
#endif
{
int hx, ix, lx;
hx = __HI(x);
ix = 0x7fffffff&hx;
lx = __LO(x);
*eptr = 0;
if(ix>=0x7ff00000||((ix|lx)==0)) return x; /* 0,inf,nan */
if (ix<0x00100000) { /* subnormal */
x *= two54;
hx = __HI(x);
ix = hx&0x7fffffff;
*eptr = -54;
}
*eptr += (ix>>20)-1022;
hx = (hx&0x800fffff)|0x3fe00000;
__HI(x) = hx;
return x;
}

View File

@@ -1,79 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_ilogb.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* ilogb(double x)
* return the binary exponent of non-zero x
* ilogb(0) = 0x80000001
* ilogb(inf/NaN) = 0x7fffffff (no signal is raised)
*/
#include "fdlibm.h"
#ifdef __STDC__
int fd_ilogb(double x)
#else
int fd_ilogb(x)
double x;
#endif
{
int hx,lx,ix;
hx = (__HI(x))&0x7fffffff; /* high word of x */
if(hx<0x00100000) {
lx = __LO(x);
if((hx|lx)==0)
return 0x80000001; /* ilogb(0) = 0x80000001 */
else /* subnormal x */
if(hx==0) {
for (ix = -1043; lx>0; lx<<=1) ix -=1;
} else {
for (ix = -1022,hx<<=11; hx>0; hx<<=1) ix -=1;
}
return ix;
}
else if (hx<0x7ff00000) return (hx>>20)-1023;
else return 0x7fffffff;
}

View File

@@ -1,67 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_isnan.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* isnan(x) returns 1 is x is nan, else 0;
* no branching!
*/
#include "fdlibm.h"
#ifdef __STDC__
int fd_isnan(double x)
#else
int fd_isnan(x)
double x;
#endif
{
int hx,lx;
hx = (__HI(x)&0x7fffffff);
lx = __LO(x);
hx |= (unsigned)(lx|(-lx))>>31;
hx = 0x7ff00000 - hx;
return ((unsigned)(hx))>>31;
}

View File

@@ -1,61 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_ldexp.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
#include "fdlibm.h"
#include <errno.h>
#ifdef __STDC__
double fd_ldexp(double value, int exp)
#else
double fd_ldexp(value, exp)
double value; int exp;
#endif
{
if(!fd_finite(value)||value==0.0) return value;
value = fd_scalbn(value,exp);
if(!fd_finite(value)||value==0.0) errno = ERANGE;
return value;
}

View File

@@ -1,68 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_lib_version.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* MACRO for standards
*/
#include "fdlibm.h"
/*
* define and initialize _LIB_VERSION
*/
#ifdef _POSIX_MODE
_LIB_VERSION_TYPE _LIB_VERSION = _POSIX_;
#else
#ifdef _XOPEN_MODE
_LIB_VERSION_TYPE _LIB_VERSION = _XOPEN_;
#else
#ifdef _SVID3_MODE
_LIB_VERSION_TYPE _LIB_VERSION = _SVID_;
#else /* default _IEEE_MODE */
_LIB_VERSION_TYPE _LIB_VERSION = _IEEE_;
#endif
#endif
#endif

View File

@@ -1,198 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_log1p.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* double log1p(double x)
*
* Method :
* 1. Argument Reduction: find k and f such that
* 1+x = 2^k * (1+f),
* where sqrt(2)/2 < 1+f < sqrt(2) .
*
* Note. If k=0, then f=x is exact. However, if k!=0, then f
* may not be representable exactly. In that case, a correction
* term is need. Let u=1+x rounded. Let c = (1+x)-u, then
* log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u),
* and add back the correction term c/u.
* (Note: when x > 2**53, one can simply return log(x))
*
* 2. Approximation of log1p(f).
* Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s)
* = 2s + 2/3 s**3 + 2/5 s**5 + .....,
* = 2s + s*R
* We use a special Reme algorithm on [0,0.1716] to generate
* a polynomial of degree 14 to approximate R The maximum error
* of this polynomial approximation is bounded by 2**-58.45. In
* other words,
* 2 4 6 8 10 12 14
* R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s
* (the values of Lp1 to Lp7 are listed in the program)
* and
* | 2 14 | -58.45
* | Lp1*s +...+Lp7*s - R(z) | <= 2
* | |
* Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2.
* In order to guarantee error in log below 1ulp, we compute log
* by
* log1p(f) = f - (hfsq - s*(hfsq+R)).
*
* 3. Finally, log1p(x) = k*ln2 + log1p(f).
* = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo)))
* Here ln2 is split into two floating point number:
* ln2_hi + ln2_lo,
* where n*ln2_hi is always exact for |n| < 2000.
*
* Special cases:
* log1p(x) is NaN with signal if x < -1 (including -INF) ;
* log1p(+INF) is +INF; log1p(-1) is -INF with signal;
* log1p(NaN) is that NaN with no signal.
*
* Accuracy:
* according to an error analysis, the error is always less than
* 1 ulp (unit in the last place).
*
* Constants:
* The hexadecimal values are the intended ones for the following
* constants. The decimal values may be used, provided that the
* compiler will convert from decimal to binary accurately enough
* to produce the hexadecimal values shown.
*
* Note: Assuming log() return accurate answer, the following
* algorithm can be used to compute log1p(x) to within a few ULP:
*
* u = 1+x;
* if(u==1.0) return x ; else
* return log(u)*(x/(u-1.0));
*
* See HP-15C Advanced Functions Handbook, p.193.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */
ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */
two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */
Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */
Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */
Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */
Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */
Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */
Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */
Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */
static double zero = 0.0;
#ifdef __STDC__
double fd_log1p(double x)
#else
double fd_log1p(x)
double x;
#endif
{
double hfsq,f,c,s,z,R,u;
int k,hx,hu,ax;
hx = __HI(x); /* high word of x */
ax = hx&0x7fffffff;
k = 1;
if (hx < 0x3FDA827A) { /* x < 0.41422 */
if(ax>=0x3ff00000) { /* x <= -1.0 */
if(x==-1.0) return -two54/zero; /* log1p(-1)=+inf */
else return (x-x)/(x-x); /* log1p(x<-1)=NaN */
}
if(ax<0x3e200000) { /* |x| < 2**-29 */
if(two54+x>zero /* raise inexact */
&&ax<0x3c900000) /* |x| < 2**-54 */
return x;
else
return x - x*x*0.5;
}
if(hx>0||hx<=((int)0xbfd2bec3)) {
k=0;f=x;hu=1;} /* -0.2929<x<0.41422 */
}
if (hx >= 0x7ff00000) return x+x;
if(k!=0) {
if(hx<0x43400000) {
u = 1.0+x;
hu = __HI(u); /* high word of u */
k = (hu>>20)-1023;
c = (k>0)? 1.0-(u-x):x-(u-1.0);/* correction term */
c /= u;
} else {
u = x;
hu = __HI(u); /* high word of u */
k = (hu>>20)-1023;
c = 0;
}
hu &= 0x000fffff;
if(hu<0x6a09e) {
__HI(u) = hu|0x3ff00000; /* normalize u */
} else {
k += 1;
__HI(u) = hu|0x3fe00000; /* normalize u/2 */
hu = (0x00100000-hu)>>2;
}
f = u-1.0;
}
hfsq=0.5*f*f;
if(hu==0) { /* |f| < 2**-20 */
if(f==zero) if(k==0) return zero;
else {c += k*ln2_lo; return k*ln2_hi+c;}
R = hfsq*(1.0-0.66666666666666666*f);
if(k==0) return f-R; else
return k*ln2_hi-((R-(k*ln2_lo+c))-f);
}
s = f/(2.0+f);
z = s*s;
R = z*(Lp1+z*(Lp2+z*(Lp3+z*(Lp4+z*(Lp5+z*(Lp6+z*Lp7))))));
if(k==0) return f-(hfsq-s*(hfsq+R)); else
return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f);
}

View File

@@ -1,71 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_logb.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* double logb(x)
* IEEE 754 logb. Included to pass IEEE test suite. Not recommend.
* Use ilogb instead.
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_logb(double x)
#else
double fd_logb(x)
double x;
#endif
{
int lx,ix;
ix = (__HI(x))&0x7fffffff; /* high |x| */
lx = __LO(x); /* low x */
if((ix|lx)==0) return -1.0/fd_fabs(x);
if(ix>=0x7ff00000) return x*x;
if((ix>>=20)==0) /* IEEE 754 logb */
return -1022.0;
else
return (double) (ix-1023);
}

View File

@@ -1,59 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_matherr.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
#include "fdlibm.h"
#ifdef __STDC__
int fd_matherr(struct exception *x)
#else
int fd_matherr(x)
struct exception *x;
#endif
{
int n=0;
if(x->arg1!=x->arg1) return 0;
return n;
}

View File

@@ -1,113 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_modf.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* modf(double x, double *iptr)
* return fraction part of x, and return x's integral part in *iptr.
* Method:
* Bit twiddling.
*
* Exception:
* No exception.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double one = 1.0;
#else
static double one = 1.0;
#endif
#ifdef __STDC__
double fd_modf(double x, double *iptr)
#else
double fd_modf(x, iptr)
double x,*iptr;
#endif
{
int i0,i1,j0;
unsigned i;
i0 = __HI(x); /* high x */
i1 = __LO(x); /* low x */
j0 = ((i0>>20)&0x7ff)-0x3ff; /* exponent of x */
if(j0<20) { /* integer part in high x */
if(j0<0) { /* |x|<1 */
__HIp(iptr) = i0&0x80000000;
__LOp(iptr) = 0; /* *iptr = +-0 */
return x;
} else {
i = (0x000fffff)>>j0;
if(((i0&i)|i1)==0) { /* x is integral */
*iptr = x;
__HI(x) &= 0x80000000;
__LO(x) = 0; /* return +-0 */
return x;
} else {
__HIp(iptr) = i0&(~i);
__LOp(iptr) = 0;
return x - *iptr;
}
}
} else if (j0>51) { /* no fraction part */
*iptr = x*one;
__HI(x) &= 0x80000000;
__LO(x) = 0; /* return +-0 */
return x;
} else { /* fraction part in low x */
i = ((unsigned)(0xffffffff))>>(j0-20);
if((i1&i)==0) { /* x is integral */
*iptr = x;
__HI(x) &= 0x80000000;
__LO(x) = 0; /* return +-0 */
return x;
} else {
__HIp(iptr) = i0;
__LOp(iptr) = i1&(~i);
return x - *iptr;
}
}
}

View File

@@ -1,111 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_nextafter.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* IEEE functions
* nextafter(x,y)
* return the next machine floating-point number of x in the
* direction toward y.
* Special cases:
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_nextafter(double x, double y)
#else
double fd_nextafter(x,y)
double x,y;
#endif
{
int hx,hy,ix,iy;
unsigned lx,ly;
hx = __HI(x); /* high word of x */
lx = __LO(x); /* low word of x */
hy = __HI(y); /* high word of y */
ly = __LO(y); /* low word of y */
ix = hx&0x7fffffff; /* |x| */
iy = hy&0x7fffffff; /* |y| */
if(((ix>=0x7ff00000)&&((ix-0x7ff00000)|lx)!=0) || /* x is nan */
((iy>=0x7ff00000)&&((iy-0x7ff00000)|ly)!=0)) /* y is nan */
return x+y;
if(x==y) return x; /* x=y, return x */
if((ix|lx)==0) { /* x == 0 */
__HI(x) = hy&0x80000000; /* return +-minsubnormal */
__LO(x) = 1;
y = x*x;
if(y==x) return y; else return x; /* raise underflow flag */
}
if(hx>=0) { /* x > 0 */
if(hx>hy||((hx==hy)&&(lx>ly))) { /* x > y, x -= ulp */
if(lx==0) hx -= 1;
lx -= 1;
} else { /* x < y, x += ulp */
lx += 1;
if(lx==0) hx += 1;
}
} else { /* x < 0 */
if(hy>=0||hx>hy||((hx==hy)&&(lx>ly))){/* x < y, x -= ulp */
if(lx==0) hx -= 1;
lx -= 1;
} else { /* x > y, x += ulp */
lx += 1;
if(lx==0) hx += 1;
}
}
hy = hx&0x7ff00000;
if(hy>=0x7ff00000) return x+x; /* overflow */
if(hy<0x00100000) { /* underflow */
y = x*x;
if(y!=x) { /* raise underflow flag */
__HI(y) = hx; __LO(y) = lx;
return y;
}
}
__HI(x) = hx; __LO(x) = lx;
return x;
}

View File

@@ -1,117 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_rint.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* rint(x)
* Return x rounded to integral value according to the prevailing
* rounding mode.
* Method:
* Using floating addition.
* Exception:
* Inexact flag raised if x not equal to rint(x).
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
TWO52[2]={
4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
-4.50359962737049600000e+15, /* 0xC3300000, 0x00000000 */
};
#ifdef __STDC__
double fd_rint(double x)
#else
double fd_rint(x)
double x;
#endif
{
int i0,j0,sx;
unsigned i,i1;
double w,t;
i0 = __HI(x);
sx = (i0>>31)&1;
i1 = __LO(x);
j0 = ((i0>>20)&0x7ff)-0x3ff;
if(j0<20) {
if(j0<0) {
if(((i0&0x7fffffff)|i1)==0) return x;
i1 |= (i0&0x0fffff);
i0 &= 0xfffe0000;
i0 |= ((i1|-(int)i1)>>12)&0x80000;
__HI(x)=i0;
w = TWO52[sx]+x;
t = w-TWO52[sx];
i0 = __HI(t);
__HI(t) = (i0&0x7fffffff)|(sx<<31);
return t;
} else {
i = (0x000fffff)>>j0;
if(((i0&i)|i1)==0) return x; /* x is integral */
i>>=1;
if(((i0&i)|i1)!=0) {
if(j0==19) i1 = 0x40000000; else
i0 = (i0&(~i))|((0x20000)>>j0);
}
}
} else if (j0>51) {
if(j0==0x400) return x+x; /* inf or NaN */
else return x; /* x is integral */
} else {
i = ((unsigned)(0xffffffff))>>(j0-20);
if((i1&i)==0) return x; /* x is integral */
i>>=1;
if((i1&i)!=0) i1 = (i1&(~i))|((0x40000000)>>(j0-20));
}
__HI(x) = i0;
__LO(x) = i1;
w = TWO52[sx]+x;
return w-TWO52[sx];
}

View File

@@ -1,97 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_scalbn.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* scalbn (double x, int n)
* scalbn(x,n) returns x* 2**n computed by exponent
* manipulation rather than by actually performing an
* exponentiation or a multiplication.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */
really_big = 1.0e+300,
tiny = 1.0e-300;
#ifdef __STDC__
double fd_scalbn (double x, int n)
#else
double fd_scalbn (x,n)
double x; int n;
#endif
{
int k,hx,lx;
hx = __HI(x);
lx = __LO(x);
k = (hx&0x7ff00000)>>20; /* extract exponent */
if (k==0) { /* 0 or subnormal x */
if ((lx|(hx&0x7fffffff))==0) return x; /* +-0 */
x *= two54;
hx = __HI(x);
k = ((hx&0x7ff00000)>>20) - 54;
if (n< -50000) return tiny*x; /*underflow*/
}
if (k==0x7ff) return x+x; /* NaN or Inf */
k = k+n;
if (k > 0x7fe) return really_big*fd_copysign(really_big,x); /* overflow */
if (k > 0) /* normal result */
{__HI(x) = (hx&0x800fffff)|(k<<20); return x;}
if (k <= -54) {
if (n > 50000) /* in case integer overflow in n+k */
return really_big*fd_copysign(really_big,x); /*overflow*/
else return tiny*fd_copysign(tiny,x); /*underflow*/
}
k += 54; /* subnormal result */
__HI(x) = (hx&0x800fffff)|(k<<20);
return x*twom54;
}

View File

@@ -1,35 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
#include "fdlibm.h"
int signgam = 0;

View File

@@ -1,63 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_significand.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* significand(x) computes just
* scalb(x, (double) -ilogb(x)),
* for exercising the fraction-part(F) IEEE 754-1985 test vector.
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_significand(double x)
#else
double fd_significand(x)
double x;
#endif
{
return __ieee754_scalb(x,(double) -fd_ilogb(x));
}

View File

@@ -1,111 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_sin.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* sin(x)
* Return sine function of x.
*
* kernel function:
* __kernel_sin ... sine function on [-pi/4,pi/4]
* __kernel_cos ... cose function on [-pi/4,pi/4]
* __ieee754_rem_pio2 ... argument reduction routine
*
* Method.
* Let S,C and T denote the sin, cos and tan respectively on
* [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
* in [-pi/4 , +pi/4], and let n = k mod 4.
* We have
*
* n sin(x) cos(x) tan(x)
* ----------------------------------------------------------
* 0 S C T
* 1 C -S -1/T
* 2 -S -C T
* 3 -C S -1/T
* ----------------------------------------------------------
*
* Special cases:
* Let trig be any of sin, cos, or tan.
* trig(+-INF) is NaN, with signals;
* trig(NaN) is that NaN;
*
* Accuracy:
* TRIG(x) returns trig(x) nearly rounded
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_sin(double x)
#else
double fd_sin(x)
double x;
#endif
{
double y[2],z=0.0;
int n, ix;
/* High word of x. */
ix = __HI(x);
/* |x| ~< pi/4 */
ix &= 0x7fffffff;
if(ix <= 0x3fe921fb) return __kernel_sin(x,z,0);
/* sin(Inf or NaN) is NaN */
else if (ix>=0x7ff00000) return x-x;
/* argument reduction needed */
else {
n = __ieee754_rem_pio2(x,y);
switch(n&3) {
case 0: return __kernel_sin(y[0],y[1],1);
case 1: return __kernel_cos(y[0],y[1]);
case 2: return -__kernel_sin(y[0],y[1],1);
default:
return -__kernel_cos(y[0],y[1]);
}
}
}

View File

@@ -1,105 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_tan.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* tan(x)
* Return tangent function of x.
*
* kernel function:
* __kernel_tan ... tangent function on [-pi/4,pi/4]
* __ieee754_rem_pio2 ... argument reduction routine
*
* Method.
* Let S,C and T denote the sin, cos and tan respectively on
* [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
* in [-pi/4 , +pi/4], and let n = k mod 4.
* We have
*
* n sin(x) cos(x) tan(x)
* ----------------------------------------------------------
* 0 S C T
* 1 C -S -1/T
* 2 -S -C T
* 3 -C S -1/T
* ----------------------------------------------------------
*
* Special cases:
* Let trig be any of sin, cos, or tan.
* trig(+-INF) is NaN, with signals;
* trig(NaN) is that NaN;
*
* Accuracy:
* TRIG(x) returns trig(x) nearly rounded
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_tan(double x)
#else
double fd_tan(x)
double x;
#endif
{
double y[2],z=0.0;
int n, ix;
/* High word of x. */
ix = __HI(x);
/* |x| ~< pi/4 */
ix &= 0x7fffffff;
if(ix <= 0x3fe921fb) return __kernel_tan(x,z,1);
/* tan(Inf or NaN) is NaN */
else if (ix>=0x7ff00000) return x-x; /* NaN */
/* argument reduction needed */
else {
n = __ieee754_rem_pio2(x,y);
return __kernel_tan(y[0],y[1],1-((n&1)<<1)); /* 1 -- n even
-1 -- n odd */
}
}

View File

@@ -1,115 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)s_tanh.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/* Tanh(x)
* Return the Hyperbolic Tangent of x
*
* Method :
* x -x
* e - e
* 0. tanh(x) is defined to be -----------
* x -x
* e + e
* 1. reduce x to non-negative by tanh(-x) = -tanh(x).
* 2. 0 <= x <= 2**-55 : tanh(x) := x*(one+x)
* -t
* 2**-55 < x <= 1 : tanh(x) := -----; t = expm1(-2x)
* t + 2
* 2
* 1 <= x <= 22.0 : tanh(x) := 1- ----- ; t=expm1(2x)
* t + 2
* 22.0 < x <= INF : tanh(x) := 1.
*
* Special cases:
* tanh(NaN) is NaN;
* only tanh(0)=0 is exact for finite argument.
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double one=1.0, two=2.0, tiny = 1.0e-300;
#else
static double one=1.0, two=2.0, tiny = 1.0e-300;
#endif
#ifdef __STDC__
double fd_tanh(double x)
#else
double fd_tanh(x)
double x;
#endif
{
double t,z;
int jx,ix;
/* High word of |x|. */
jx = __HI(x);
ix = jx&0x7fffffff;
/* x is INF or NaN */
if(ix>=0x7ff00000) {
if (jx>=0) return one/x+one; /* tanh(+-inf)=+-1 */
else return one/x-one; /* tanh(NaN) = NaN */
}
/* |x| < 22 */
if (ix < 0x40360000) { /* |x|<22 */
if (ix<0x3c800000) /* |x|<2**-55 */
return x*(one+x); /* tanh(small) = small */
if (ix>=0x3ff00000) { /* |x|>=1 */
t = fd_expm1(two*fd_fabs(x));
z = one - two/(t+two);
} else {
t = fd_expm1(-two*fd_fabs(x));
z= -t/(t+two);
}
/* |x| > 22, return +-1 */
} else {
z = one - tiny; /* raised inexact flag */
}
return (jx>=0)? z: -z;
}

View File

@@ -1,72 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)w_acos.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* wrap_acos(x)
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_acos(double x) /* wrapper acos */
#else
double fd_acos(x) /* wrapper acos */
double x;
#endif
{
#ifdef _IEEE_LIBM
return __ieee754_acos(x);
#else
double z;
z = __ieee754_acos(x);
if(_LIB_VERSION == _IEEE_ || fd_isnan(x)) return z;
if(fd_fabs(x)>1.0) {
return __kernel_standard(x,x,1); /* acos(|x|>1) */
} else
return z;
#endif
}

View File

@@ -1,72 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)w_acosh.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/*
* wrapper acosh(x)
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_acosh(double x) /* wrapper acosh */
#else
double fd_acosh(x) /* wrapper acosh */
double x;
#endif
{
#ifdef _IEEE_LIBM
return __ieee754_acosh(x);
#else
double z;
z = __ieee754_acosh(x);
if(_LIB_VERSION == _IEEE_ || fd_isnan(x)) return z;
if(x<1.0) {
return __kernel_standard(x,x,29); /* acosh(x<1) */
} else
return z;
#endif
}

View File

@@ -1,74 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)w_asin.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/*
* wrapper asin(x)
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_asin(double x) /* wrapper asin */
#else
double fd_asin(x) /* wrapper asin */
double x;
#endif
{
#ifdef _IEEE_LIBM
return __ieee754_asin(x);
#else
double z;
z = __ieee754_asin(x);
if(_LIB_VERSION == _IEEE_ || fd_isnan(x)) return z;
if(fd_fabs(x)>1.0) {
return __kernel_standard(x,x,2); /* asin(|x|>1) */
} else
return z;
#endif
}

View File

@@ -1,73 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)w_atan2.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*
*/
/*
* wrapper atan2(y,x)
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_atan2(double y, double x) /* wrapper atan2 */
#else
double fd_atan2(y,x) /* wrapper atan2 */
double y,x;
#endif
{
#ifdef _IEEE_LIBM
return __ieee754_atan2(y,x);
#else
double z;
z = __ieee754_atan2(y,x);
if(_LIB_VERSION == _IEEE_||fd_isnan(x)||fd_isnan(y)) return z;
if(x==0.0&&y==0.0) {
return __kernel_standard(y,x,3); /* atan2(+-0,+-0) */
} else
return z;
#endif
}

View File

@@ -1,75 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)w_atanh.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* wrapper atanh(x)
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_atanh(double x) /* wrapper atanh */
#else
double fd_atanh(x) /* wrapper atanh */
double x;
#endif
{
#ifdef _IEEE_LIBM
return __ieee754_atanh(x);
#else
double z,y;
z = __ieee754_atanh(x);
if(_LIB_VERSION == _IEEE_ || fd_isnan(x)) return z;
y = fd_fabs(x);
if(y>=1.0) {
if(y>1.0)
return __kernel_standard(x,x,30); /* atanh(|x|>1) */
else
return __kernel_standard(x,x,31); /* atanh(|x|==1) */
} else
return z;
#endif
}

View File

@@ -1,71 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)w_cosh.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* wrapper cosh(x)
*/
#include "fdlibm.h"
#ifdef __STDC__
double fd_cosh(double x) /* wrapper cosh */
#else
double fd_cosh(x) /* wrapper cosh */
double x;
#endif
{
#ifdef _IEEE_LIBM
return __ieee754_cosh(x);
#else
double z;
z = __ieee754_cosh(x);
if(_LIB_VERSION == _IEEE_ || fd_isnan(x)) return z;
if(fd_fabs(x)>7.10475860073943863426e+02) {
return __kernel_standard(x,x,5); /* cosh overflow */
} else
return z;
#endif
}

View File

@@ -1,82 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Sun Microsystems,
* Inc. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* @(#)w_exp.c 1.3 95/01/18 */
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
*
* Developed at SunSoft, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
/*
* wrapper exp(x)
*/
#include "fdlibm.h"
#ifdef __STDC__
static const double
#else
static double
#endif
o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */
u_threshold= -7.45133219101941108420e+02; /* 0xc0874910, 0xD52D3051 */
#ifdef __STDC__
double fd_exp(double x) /* wrapper exp */
#else
double fd_exp(x) /* wrapper exp */
double x;
#endif
{
#ifdef _IEEE_LIBM
return __ieee754_exp(x);
#else
double z;
z = __ieee754_exp(x);
if(_LIB_VERSION == _IEEE_) return z;
if(fd_finite(x)) {
if(x>o_threshold)
return __kernel_standard(x,x,6); /* exp overflow */
else if(x<u_threshold)
return __kernel_standard(x,x,7); /* exp underflow */
}
return z;
#endif
}

Some files were not shown because too many files have changed in this diff Show More