Compare commits
6 Commits
JS_150_RC2
...
jsmath_hen
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e50c7a6de8 | ||
|
|
0e59d9a6a0 | ||
|
|
ed2ac58da0 | ||
|
|
a9328119cb | ||
|
|
16be25fcbf | ||
|
|
b4d0709d23 |
452
mozilla/js/ref/ChangeLog
Normal file
452
mozilla/js/ref/ChangeLog
Normal file
@@ -0,0 +1,452 @@
|
||||
Tag JSREF_RELEASE_19980414 (4/14/98):
|
||||
|
||||
- RegExp unicode fix.
|
||||
|
||||
- Added new iterator-style JSObjectOps enumeration API for host objects.
|
||||
See jspubtd.h for details.
|
||||
|
||||
Tag JSREF_RELEASE_19980413 (4/13/98):
|
||||
|
||||
- Date fixes:
|
||||
- ECMAv1 fix: fixed function length for Date setters.
|
||||
- Bug workaround: avoid MSVC optimizer bug in Date.
|
||||
- Y2K fix: Use the verbose '%#c' date formatter for toLocaleString
|
||||
on windows, to get a 4 digit date.
|
||||
|
||||
- New thread safety fixes from bjorn:
|
||||
|
||||
- Added more asserts to catch cases where the thread
|
||||
identifier stored in the context is out of synch with the current
|
||||
thread. JS_ATOMIC_ADDREF now calls a function instead of a
|
||||
macro, so that when compare-and-swap is implemented using busy-wait
|
||||
(e.g. SPARC v8), we avoid being confused by the busy value. For the same
|
||||
reason, we now call AtomicRead at certain places in jslock.c. Finally, the
|
||||
environment variable JS_NO_THIN_LOCKS, when set, effectively turns off
|
||||
the thin locks so that all locking is done using NSPR only.
|
||||
|
||||
- ECMAv1 numeric fixes: print preceding 0 when formatting 0.4, ignore supplied
|
||||
radix to Number.prototype.toString when printing non-finite numbers.
|
||||
|
||||
Tag JSREF_RELEASE_19980403 (4/3/98):
|
||||
|
||||
- API renaming: JS_NewRuntime for JS_Init, JS_DestroyRuntime for JS_Finish
|
||||
(the old names are maintained for backward binary compatibility; the new
|
||||
names are macros).
|
||||
|
||||
- Improved JS_THREADSAFE locking, with compare-and-swap based optimization of
|
||||
the uncontested lock and unlock cases to avoid DLL-crossing and worse native
|
||||
OS locking overhead.
|
||||
|
||||
The Request/GC interlock enforced by JS_BeginRequest, JS_EndRequest, JS_GC,
|
||||
and JS_MaybeGC allows requests on the same cx to nest (JS_BeginRequest may
|
||||
be called more than once before JS_EndRequest, so long as the number of End
|
||||
calls matches the number of Begin calls).
|
||||
|
||||
Thread-safety for prarena.c and prdtoa.c, based on jslock.h/JS_THREADSAFE.
|
||||
|
||||
- Experimental JS exception implementation, subject to change. Any value may
|
||||
be thrown. The catch expression must be of the form (v) or (var v). Catch
|
||||
code must re-throw as there is no way yet for the compiler to decide that no
|
||||
catch clause matched (and more than one catch clause makes no sense, yet --
|
||||
no finally yet, either).
|
||||
|
||||
- JS_ConvertArguments API addition, for converting an argc/argv pair according
|
||||
to a simplified scanf-like format string.
|
||||
|
||||
- JS_GetPropertyAttributes and JS_SetPropertyAttributes API additions, which
|
||||
take C-string property names (Unicode string and indexed elements TBD).
|
||||
|
||||
- JS_CloneFunctionObject, for server-like environments where code (functions)
|
||||
should be shared in a prototype object, but data (global variables) must be
|
||||
per request in a set of objects, one per concurrent request. You load the
|
||||
functions in the prototype, then "fault them in" on demand via the request
|
||||
object's resolve hook, using JS_CloneFunctionObject to make a lightweight
|
||||
copy that has the right scope (__parent__) link.
|
||||
|
||||
- Whacked js.c (more whacking needed) so it uses fewer secret js_* calls and
|
||||
more JS PUBLIC/FRIEND API entry points.
|
||||
|
||||
- Simplified Windows MSDEV build regime to use js.mak/mdp only, which builds
|
||||
the DLL as a sub-project, then compiles js.c and links the JS shell.
|
||||
|
||||
- Fix a lying comment about JS_AddRoot in README (which is being turned into a
|
||||
real "JS API tutorial" document, due soon).
|
||||
|
||||
- Better error reporting for an operand that does not convert to function, and
|
||||
spiffed up the decompiler (jsopcode.c) to remove hardwired opcode lengths.
|
||||
|
||||
- Atom indexing does not abuse the atom's next link and a flags bit, which had
|
||||
been done in haste long ago (and not fixed till now), but which required that
|
||||
compilation be single-threaded throughout a runtime.
|
||||
|
||||
- ECMAv2 change: undefined is a top-level property with undefined value (it may
|
||||
be overwritten or deleted by a script).
|
||||
|
||||
- ECMAv1 fix: arguments is implemented as a separate object from Call, but with
|
||||
Netscape extensions (callee, caller).
|
||||
|
||||
- ECMAv1 fix: array length and indexes are uint32.
|
||||
|
||||
- ECMAv1 fixes enabled by major overhaul of the compiler to generate a tree of
|
||||
parse-node structures and generate code from it. The bugs had to do with the
|
||||
order of evaluation and conversion in for/in loop and assignment expressions.
|
||||
This change also moved the "quickening" for name-to-arg/var-slot bytecodes
|
||||
from the interpreter to the compiler.
|
||||
|
||||
- Proposed ECMAv2 toSource method, which produces compilable object and array
|
||||
initializers and new expressions to reconstruct a given graph.
|
||||
|
||||
- Proposed ECMAv2 instanceof operator, based on hasInstance JSObjectOp and
|
||||
(for maximum code-sharing among native object classes, with one exception)
|
||||
JSClass methods. There is also js_IsDelegate, for checking whether a given
|
||||
object is a prototype of another.
|
||||
|
||||
- To-be-proposed ECMAv2 in operator, inspired by for/in loop syntax: ('p' in o)
|
||||
for o = {p:1} is true; (1 in o) for o[1] defined (even with value undefined)
|
||||
is true. Note distinction between typeof o.p == "undefined" and ('p' in o).
|
||||
|
||||
- XDR (eXternal Data Representation) code to support Script.prototype.freeze
|
||||
and Script.thaw/Script.prototype.thaw. You can store a persistent, portable
|
||||
encoding of a script (including its top-level functions and all their kids)
|
||||
and load it later.
|
||||
|
||||
Exception "try-notes" are not currently XDR'd; this will be fixed next time.
|
||||
|
||||
- Recent GC bugs mentioned in snews://secnews.netscape.com/netscape.dev.jsref
|
||||
have been fixed. The patches were posted already; this tarball rolls them
|
||||
up along with other fixes and improvements. We've had help from Netscape's
|
||||
Application Products Division in stress-testing this release; we are pretty
|
||||
confident that JS_THREADSAFE GC and request execution work well.
|
||||
|
||||
One new fix: finalizers are run without the GC lock held, to allow them to
|
||||
call JS_RemoveRoot and otherwise to avoid AB-BA deadlocks.
|
||||
|
||||
- Call and construct are now optional methods in JSObjectOps and JSClass. The
|
||||
hack of converting a regexp to a function is no longer necessary, and script
|
||||
callability (shorthand for script.exec) uses the JSClass call hook likewise.
|
||||
|
||||
- Fixed standard class bootstrapping bug that left an extra Object instance
|
||||
in the middle of the prototype chain for Date, RegExp, etc. (all but Object
|
||||
and Function) instances.
|
||||
|
||||
- String.prototype.split ECMAv1 conformance restoration (split-by-empty-string
|
||||
was stupidly broken last time).
|
||||
|
||||
Tag JSREF_RELEASE_19980219 (2/16/98):
|
||||
|
||||
- Fixed very recent i++ (for undefined i) crash-bug (also prior, longstanding
|
||||
bug where i++ for undefined i resulted in NaN).
|
||||
|
||||
- ECMA conformance for [[DefaultValue]] (8.6.2.6), ToBoolean (9.2), and null
|
||||
(default) this-parameter handling (10.2.3).
|
||||
|
||||
- New bytecodes paving the way for ECMA-conformant for/in loops and unqualified
|
||||
name assignment.
|
||||
|
||||
- JS1.2 String.prototype.replace did not emulate Perl4's expansion of $` to be
|
||||
the global left context (not from last local match). Essentially the same
|
||||
bug bit replace for the empty-string global match case, which "bumps along"
|
||||
by one character, but failed to include that character in local left context
|
||||
(so "abc".replace(/ */g, 'X') produced "XXXX" instead of "XaXbXcX").
|
||||
|
||||
- Fix recent regression that clamped String.prototype.split's limit argument at
|
||||
the subject string's length.
|
||||
|
||||
- Fixed type mismatch problems in #if !JS_HAS_REGEXPS code.
|
||||
|
||||
Tag JSREF_RELEASE_19980216 (2/16/98):
|
||||
|
||||
- Fixed stuck GC lock by adding JS_UNLOCK_GC at the bottom of js_GC.
|
||||
|
||||
Tag JSREF_RELEASE_19980213 (2/13/98):
|
||||
|
||||
- Add JS_ShutDown API, which must be called after all JSRuntimes have been
|
||||
destroyed by JS_Finish calls, and from a single thread, when shutting down
|
||||
or restarting the program in which JSRef is embedded. This is needed to
|
||||
avoid leaking the deflated_string_cache and (JS_THREADSAFE only) lock.
|
||||
|
||||
Tag JSREF_RELEASE_19980212 (2/12/98):
|
||||
|
||||
- Finer-grained locking. Instead of one big, reentrant lock around the entire
|
||||
runtime, there are distinct locks:
|
||||
- The non-reentrant runtime lock, a binary semaphore to protect the runtime's
|
||||
contextList and other members.
|
||||
- An atom state lock used only in jsatom.c for a thread-safe internal atom
|
||||
table API. This lock is never held while calling out from jsatom.c to
|
||||
other modules that may acquire locks, and no caller into jsatom.c's lock-
|
||||
acquiring entry points does so while holding a lock of its own (the GC
|
||||
calls non-locking entry points only).
|
||||
- A lock and pair of condition variables for interlocking GC execution with
|
||||
script execution. The GC may run only when no script requests are running,
|
||||
or when at most one is running and it has invoked the GC from its branch
|
||||
callback. The new JS_SetGCCallback API may be used to supply a function to
|
||||
be called at the beginning and end of GC -- if called at the beginning, a
|
||||
false return value will cancel the GC run.
|
||||
- A reentrant lock per native object map (scope) to protect the JSScope and
|
||||
its parts (JSProperty, JSSymbol, and PRHashTable structures) as well as the
|
||||
slots vectors of all instances sharing the scope (the prototype object and
|
||||
any unmutated clones of it).
|
||||
|
||||
The model jslock.c and jslock.h provided include four new header files that
|
||||
are not yet supplied with JSRef:
|
||||
- pratomic.h for PR_COMPARE_AND_SWAP_WORDS and PR_COMPARE_AND_SWAP_INT32
|
||||
macros that take an address, an old value, and a new value, and return true
|
||||
if the old value is at the address, in which case the new value is atomicly
|
||||
stored there; and return false without changing memory otherwise.
|
||||
- prcvar.h for the PRCondVar condition variable type and its operations (New,
|
||||
Destroy, Wait, Notify, and NotifyAll).
|
||||
- prlock.h for the PRLock binary semaphore type and its operations (New,
|
||||
Destroy, Lock, and Unlock).
|
||||
|
||||
More lock overhead and lock-free synchronization optimizations are coming in
|
||||
a future JSRef release. In anticipation of these changes, the JS_THREADSAFE
|
||||
version of JS_GetClass now requires an initial JSContext *cx argument along
|
||||
with JSObject *obj.
|
||||
|
||||
- New String.prototype.replace feature: a function expression may be passed
|
||||
as the second argument, in which case it will be invoked with the match and
|
||||
parenthesized submatch strings as arguments, followed by input and index
|
||||
(these are come from the extended array returned by RegExp.prototype.exec and
|
||||
String.prototype.match).
|
||||
|
||||
This "lambda replacement" approximates Perl's s///e flag; the idea came from
|
||||
Mike Shaver (shaver@netscape.com). Here's a example function that replaces
|
||||
any number with an F after it (for Fahrenheit) with its Celsius conversion:
|
||||
|
||||
// f2c("32F, 212F, or 0F") => "0C, 100C, or -17.77777777777778C"
|
||||
function f2c(x) {
|
||||
var s = String(x)
|
||||
return s.replace(/(\d+(\.\d*)?)F\b/g,
|
||||
function ($0,$1,$2) { return (($1-32) * 5/9) + "C" })
|
||||
}
|
||||
|
||||
- First-character discrimination optimization for regular expressions, plus a
|
||||
fix to anchor-search for \b and \B.
|
||||
|
||||
- A first-class Script object to decompose eval into its compile and exec parts
|
||||
(so you can compile outside a long loop, then exec in the loop body to avoid
|
||||
recompiling invariant source). See jsscript.c.
|
||||
|
||||
- More ECMA fixes:
|
||||
- bitwise logical and shift operators use the correct ECMA type conversions,
|
||||
intermediate types, and boundary behavior.
|
||||
- Array.prototype.push emulates Perl5 for JS versions other than 1.2; there
|
||||
it emulated Perl4, except when no arguments were passed (it would return
|
||||
the array object bound to this in that case; fixed to return undefined).
|
||||
- All generic Array methods now update a length property, in case no such
|
||||
property existed in the object that delegates to Array.prototype, or that
|
||||
refers to the particular method.
|
||||
- Except for JS1.2, Array.prototype.splice always returns an array, even when
|
||||
given no arguments or a zero-length slice. JS1.2 compatibility continues.
|
||||
- NaN Date fixes.
|
||||
- JSFunctionSpec's nargs member now species the "best arity" of the function,
|
||||
which ECMA specifies as the value of the function's length property. So to
|
||||
allocate local GC roots, use the new extra member of JSFunctionSpec and let
|
||||
nargs count only the minimum or optimum number of desired arguments.
|
||||
- Relational and equality operator fixes too gnarly and subtle to describe
|
||||
here, affecting mainly the hint argument (or lack of it) to valueOf.
|
||||
- A new JS_IsConstructing API and underlying support, so ECMA [[Call]] and
|
||||
[[Construct]] can be distinguished.
|
||||
- A JS_InitClass extension to tolerate NULL for the constructor native C
|
||||
function argument -- this causes a class like Math to be created, where
|
||||
the class object is not callable or constructable.
|
||||
- Fixes to handle non-finite indexes in several string and array methods.
|
||||
|
||||
- A high-level object operation dispatch table has been added. See JSObjectOps
|
||||
in jsapi.h, and the new flags and function pointers in JSClass. To provide a
|
||||
table of object operations, your class should set the JSCLASS_HAS_OBJECTOPS
|
||||
flag and implement the getObjectOps class method, returning the address of a
|
||||
static or otherwise appropriate-lifetime JSObjectOps structure. The methods
|
||||
in this struct will be specified in a forthcoming version of the JS API doc.
|
||||
|
||||
The JSCLASS_NEW_ENUMERATE flag can be used without adding getObjectOps to
|
||||
your class, to say that its enumerate method returns a JSIdArray containing
|
||||
all lazy and eager property ids for an object, instead of having to define
|
||||
all lazily-bound properties in the object, to minimize locking and reduce
|
||||
the space cost of old-style enumerate.
|
||||
|
||||
- Atoms are now garbage-collected. To clarify the fact that symbol table ids
|
||||
are either tagged jsval-like integers, or else JSAtom pointers, a new typedef
|
||||
called jsid (equivalent to jsval in C) has been introduced.
|
||||
|
||||
- Major changes to remove JSProperty's object member, in order to optimize for
|
||||
space. These mostly entail an extra &obj2 or &pobj result parameter being
|
||||
passed to js_FindProperty, js_LookupProperty, etc., to capture the prototype
|
||||
or original object in which the property was found.
|
||||
|
||||
- Updated Windows MSDEV makefiles to support MSDEV5.0 as well as 4.2:
|
||||
- js32.mak, an NMAKE makefile, builds js32.dll
|
||||
- jsshell.mak, an NMAKE makefile, now recursively invokes js32.mak to build
|
||||
js32.dll
|
||||
- jsshelld.mak and jsshelld.mdp, collectively a 4.2 IDE project, build
|
||||
jsshell.exe and have a subproject that builds js32.dll. These two project
|
||||
files are not derived from the other .mak files, nor are the other .mak
|
||||
files derived from them.
|
||||
|
||||
- JS_PUBLIC_API etc. macros in jspubtd.h, used by jsapi.h and a few other .h
|
||||
files, to optimize linkage within the Windows DLL.
|
||||
|
||||
Tag JSREF_RELEASE_19971128 (11/28/97):
|
||||
|
||||
- Major Unicode changes. JSString has a jschar *chars member now, not
|
||||
char *bytes; it points to a counted array of uint16 (jschar) elements.
|
||||
The scanner handles \uXXXX escapes; so does the regular expression parser.
|
||||
|
||||
JS_GetStringBytes(str) now returns the ISO-Latin-1 counterpart of str's
|
||||
Unicode sequence by decimating into separate memory whose lifetime matches
|
||||
that of str->chars. The API entry points taking char *name or char *base
|
||||
arguments now have UC counterparts (except for the JS_*Property entries)
|
||||
that take jschar *name, size_t length or similar argument-pairs. There is
|
||||
a new JS_ValueToUint16 API entry for converting from a jsval to a Unicode
|
||||
code point.
|
||||
|
||||
- The beginnings of JavaScript 1.3 version support, including === and !== for
|
||||
equality by type and value identity, and sharp variables (see below).
|
||||
|
||||
- Linux support from Mike Shaver (shaver@ingenia.ca, shaver@netscape.com) in
|
||||
config/Linux_All.mk. OS/2 ifdefs from IBM (initials DSR?), via Dan Libby
|
||||
(danda@netscape.com).
|
||||
|
||||
- A new gc command in the js shell for testing, useful in conjunction with
|
||||
the GC_MARK_DEBUG ifdef'd code in jsgc.c and js.c to plug leaks and find
|
||||
stuck references. Use the new API entry point JS_AddNamedRoot in preference
|
||||
to JS_AddRoot, which still exists but provides no debugging name for the GC
|
||||
thing graph root that it establishes. See also JS_DumpNamedRoots.
|
||||
|
||||
- JSCLASS_NEW_RESOLVE flag and JSNewResolveOp function pointer typedef, for
|
||||
more efficient unbound name resolution.
|
||||
|
||||
- Sharp variables (based on Common Lisp's dispatching macros of the same form)
|
||||
for expressing cycles and join-points in object graphs created by object and
|
||||
array initializers. For example,
|
||||
|
||||
#1={p:#2={q:42}, r:{cycle:#1#, joinPoint:#2#}}
|
||||
|
||||
creates an object, call it o, where o.p and o.r.joinPoint both reach the same
|
||||
object, which has a property named q with value 42; and o.r.cycle is o.
|
||||
|
||||
In a future release, the final JS1.3 version will return object and array
|
||||
initializer strings from {Object,Array}.prototype.toSource methods, rather
|
||||
than toString, for ECMA and backward compatibility.
|
||||
|
||||
- More ECMA conformance fixes, apart from Unicode:
|
||||
- New ECMA-conformant jsdate.c by Mike McCabe (mccabe@netscape.com).
|
||||
- Improved equality and relational operator implementations.
|
||||
- Correct division operator result sign.
|
||||
- The unary-plus operator.
|
||||
- NaN and Infinity top-level properties.
|
||||
- Setting a read-only property fails silently, rather than stopping the
|
||||
script with an error report.
|
||||
- Deleting a permanent property fails with a false return from the delete
|
||||
operator. If the property is not in the object addressed in the delete
|
||||
expression, or it is successfully deleted, the expression results in true.
|
||||
|
||||
- The beginnings of finer-grained, non-nesting/low-level locking in jslock.h,
|
||||
used in jsstr.c for the deflated_string_cache_lock. For this version, you
|
||||
need to provide a PRLock typedef and PR_NewLock, PR_DestroyLock, PR_Lock,
|
||||
and PR_Unlock functions that implement a binary semaphore.
|
||||
|
||||
- Performance improvements based on aggressive, coherent use of the property
|
||||
cache (part of the JSRuntime structure). This required a fix to restore a
|
||||
watchpoint associated with a deleted property when a new property with the
|
||||
same identifier is created in the same object.
|
||||
|
||||
- Regular expression bugfixes and Unicode extensions in jsregexp.c and jsstr.c.
|
||||
- Fixed Perl bug where \xZ or similar was translated to "\0Z".
|
||||
- Fixed another Perl bug where [x-\d] matched {'x', '-', '0', ... '9'} but
|
||||
[\d-x] matched only the digits. The second is now equivalent to the first.
|
||||
- Fixed JS bug where only $1 through $9 could be used in the replacement
|
||||
string passed to String.prototype.replace. Also allow literal $ in the
|
||||
replacement string if it is preceded by \ (as a JS literal: "\\$").
|
||||
- Fixed non-JS1.2 versions to return left context from start of global match
|
||||
instead of from end of last local match (Perl4 had a similar bug which 1.2
|
||||
emulated too much). This alters "$`" expansion in replacement strings.
|
||||
|
||||
Tag JSREF_1_14_RELEASE (around 7/22/97):
|
||||
|
||||
- JSTaskState and related API entry point names have been renamed to use the
|
||||
trendier "Runtime" rather than "TaskState", ditto rt or runtime for task.
|
||||
|
||||
- JS_GetScriptPrincipals is no longer in jsapi.h, it moved to jsdbgapi.h and
|
||||
has a new interface that takes the JSScript * being queried. It therefore
|
||||
requires JS_FrameIterator and JS_GetFrameScript.
|
||||
|
||||
- JS_LockGCThing/JS_UnlockGCThing and their macro wrappers JSVAL_LOCK/UNLOCK
|
||||
are deprecated as of now. Use JS_AddRoot to register a pointer to the thing
|
||||
you would lock, and clear the pointer and/or JS_RemoveRoot its address later
|
||||
to unlock the thing. I would like to remove GC thing-locking in a future
|
||||
release; it precludes too many alternative GC implementations.
|
||||
|
||||
- ECMA conformant Date API, including get/setFullYear and the UTC variants
|
||||
to all the get/set methods.
|
||||
|
||||
- ECMA conformant Number.MIN_VALUE, which is the smallest denorm now, not
|
||||
the smallest normal as in all past JS versions.
|
||||
|
||||
- ECMA comformant isFinite() function.
|
||||
|
||||
- ECMA signed 0 and NaN number to string conversions.
|
||||
|
||||
- Watcom (__WATCOMC__) support for PC builds.
|
||||
|
||||
Quick update (4/27/97):
|
||||
- Prototypes are no longer constructed in JS_InitClass. If you want a class
|
||||
prototype to be constructed by the native 'constructor' function passed to
|
||||
JS_InitClass, you can save JS_InitClass's return value and do it yourself:
|
||||
|
||||
proto = JS_InitClass(...);
|
||||
ok = JS_CallFunctionName(cx, proto, "constructor", argc, argc, &rval);
|
||||
|
||||
- Object, array, and function literals are supported on input for JS_VERSION
|
||||
1.2 at compile-time. Only for JS_SetVersion(cx, JSVERSION_1_2) at runtime:
|
||||
object.toString() returns an object literal, likewise for array.toString,
|
||||
and function.toString returns an anonymous function literall (rather than
|
||||
the definition of a function named "anonymous") for functions created using
|
||||
new Function(...).
|
||||
|
||||
- Final RegExp API: regexp.exec and string.match always return null on mismatch
|
||||
(not -1), and always return a match array on match (whether parens matched or
|
||||
not). The match array's 0'th element is the matching string, and any paren
|
||||
submatches are in elements 1..N. The index and input properties can be used
|
||||
to find left and right context without resort to the RegExp.leftContext and
|
||||
RegExp.rightContext statics:
|
||||
|
||||
leftContext = match.input.substring(0, match.input.index)
|
||||
rightContext = match.input.substring(match.input.index + match[0].length)
|
||||
|
||||
- A JS_MaybeGC entry point in the API, safe to use from branch callbacks (well
|
||||
tested) and arbitrary preemption points (not so well tested) when garbage may
|
||||
be piling up, but a forced GC (JS_GC) is not desirable.
|
||||
|
||||
- Various bugfixes and improvements.
|
||||
|
||||
Newer news (3/18/97):
|
||||
- Regular expressions a la Perl are supported.
|
||||
- Perl array methods push, pop, shift, unshift, and splice are supported.
|
||||
- Perl substr, with its righteous interpretation of negative offset, is also
|
||||
now supported.
|
||||
- Lexical closures a la Scheme are supported. See ycomb.js.
|
||||
- Property caching and other performance improvements have been added.
|
||||
- Mac CodeWarrior JSRef.prj and MacPrefix.h files are now bundled.
|
||||
- Windows MSDEV4.2 .mak and .mdp files bundled.
|
||||
- The 32-bit Windows version of prcpucfg.h is shipped; on Unix platforms, you
|
||||
should remove this file or set it aside and let gmake generate the right one
|
||||
for your host architecture.
|
||||
- Classes whose objects have private data (JS_SetPrivate/JS_GetPrivate) must
|
||||
flag that fact with the JSCLASS_HAS_PRIVATE flag in their JSClass structs.
|
||||
- There are also two new property ops in JSClass, addProperty and delProperty.
|
||||
|
||||
News flashes (12/31/96):
|
||||
|
||||
- Define JS_THREADSAFE and write code in jslock.c for multi-threaded JS.
|
||||
- NOTE: JS_EvaluateScript and JS_ExecuteScript no longer return a JSVAL_LOCKed
|
||||
result in *rval -- this was never safe in a multithreaded environment, when
|
||||
*rval referred to an object tree of depth > 1, because a preempting GC run
|
||||
could reclaim the unrooted, descendent objects. Instead, callers of these
|
||||
API entry points must use JS_AddRoot and JS_RemoveRoot to maintain the rval
|
||||
pointer argument in the GC's root set. See JS_AddRoot comments below.
|
||||
- Labeled statements and break and continue to label a la Java are supported.
|
||||
- The switch statement is now supported. You can switch on any primitive type
|
||||
value (number, string, boolean).
|
||||
- Numerous performance enhancements, notably the quick ops at the bottom of
|
||||
jsopcode.def, have been made.
|
||||
BIN
mozilla/js/ref/JSRef.prj
Normal file
BIN
mozilla/js/ref/JSRef.prj
Normal file
Binary file not shown.
397
mozilla/js/ref/JSRef.prj.hqx
Normal file
397
mozilla/js/ref/JSRef.prj.hqx
Normal file
@@ -0,0 +1,397 @@
|
||||
(This file must be converted with BinHex 4.0)
|
||||
:#8T68Q9Q,R"bDJ"069"53eG*43#3"$b`!!!l48dqBfp[E!#3!`%!N!-F!!!m4!!
|
||||
!2'!!N!03!*!$"!#3!fJ!!J!`!!)!+!j"6P0*)%aTBR*KFQPPFcTSrrG!!!8!N!F
|
||||
'!*!+!J)!-!#3!bJ06@&M)%aTBR*KFQPPF`"SD2rh3!!'!*!("`#3#`)!N!8S$8e
|
||||
KBb"-D@*bBA*TCA-!D'Mrpd!!"J#3"`F!N!3XV!!!$FN!N!FS$8eKBb"-D@*bBA*
|
||||
TCA-!D'Mrpd!!"J#3"`F!N"%S$8eKBb"-D@*bBA*TCA-!D'Mrpd!!"J#3"`F!N!i
|
||||
#23)rIrm!k`!$!!!NX!!P!%J$j`!"!!%!N!J#!3#3""""6P0*)%-V+bj38%-Z6'P
|
||||
L!*!B!3#3"J'H!D!!N!-X!!%!N!F"3J%!N!3(DR0KF'NZB`#3)3F!N!G!Vb#b"`!
|
||||
"!#@[),)(!!%!,+mJXJF!!3!eVb#b"`!"!#L[),)(!!%!+DmJXJF!!3!RVb#b"`!
|
||||
"!#D[),)'!!%!-+p+,rN!!3!bVc#$h!!"!$1[3"rA!!%!0kmS[-3!!3!jVd!Ie`!
|
||||
"!$L[0VlQ!!%!3DmS[-X!!3"#Vc#c(!!"!%@[-J9C!!%!2+m`Jq!!!3!pVdS[q`!
|
||||
"!%D[3"rC!!%!4kmS[0d!!3")Vd!IfJ!"!%Q[1G9+!!%!4+p-rSS!!3"$Vd5Pi!!
|
||||
"!%U[+,cT!!%!0Up8QVX!!3!aVc#$i`!"!$k[9*Um!!%!5kp%TH)!!3"-Vc#$j!!
|
||||
"!%f[4+AM!!%!2kp+,rm!!3"IVdd&eJ!"!#f[-)2Q!!%!,UmS[33!!3![VbLp"3!
|
||||
"!#U[+,d'!!%!0+mS[3d!!3!kVbLp%3!"!'#[+,d6!!%!1kmS[43!!3!VVbLp(J!
|
||||
"!9i"B!#3!b3!!3#3"`&#!3#3"!PUFf&bFQ&j,Q-!N"m)!*!(3+mJXJF!!3!PVb#
|
||||
b"`!"!#b[),)(!!%!0DmJXJF!!3!SVb#b"`!"!#Q[),)(!!%!*kmJXJF!!3!QVb#
|
||||
b"J!"!$#[5Lrj!!%!-Um`Jp`!!3!cVd!Ie`!"!$Q[3"rA!!%!1+mf[ZB!!3"&Vc)
|
||||
&@3!"!$b[-)2J!!%!2Dp+,rX!!3"'Vd!If3!"!%L[3"rD!!%!5Dmje8S!!3!fVe5
|
||||
DZ`!"!$'[-)2M!!%!2Up8QV`!!3"-Vc#$j!!"!$q[5Lrr!!%!Akp0"GB!!3!YVc#
|
||||
$jJ!"!#k[+,d%!!%!,kmS[38!!3!UVbLp"J!"!$5[+,d0!!%!1UmS[4%!!3"JVbL
|
||||
p%`!"!$Z[+,d8!!%!6UmS[4J!!3!VVbLp(J!"!6B"1!#3!am!!3#3"`%b!3#3"!K
|
||||
UFf&dEfdZB`#3)!N!N!G!Vb#b"`!"!#b[),)(!!%!0DmJXJF!!3!SVb#b"`!"!#Q
|
||||
[),)(!!%!*kmJXJF!!3!`VdS[q3!"!$1[3"rA!!%!1Dp!(pF!!3!iVcDqjJ!"!$b
|
||||
[-)2J!!%!2Dp+,rX!!3"'Vd!If3!"!%L[3"rD!!%!4+p-rSS!!3"$Vd5Pi!!"!$D
|
||||
[9*Ul!!%!-Dm`Jq-!!3!qVe5D[!!"!$q[5Lrr!!%!Akp0"GB!!3!YVc#$jJ!"!#k
|
||||
[+,d%!!%!,kmS[38!!3!UVbLp"J!"!$5[+,d0!!%!1UmS[4%!!3"JVbLp%`!"!$Z
|
||||
[+,d8!!%!+kmS[4i!!3%Q!5J!N!-G!!%!N!F"3J%!N!3)DR0LEfpX,Q-!N#!+!*!
|
||||
(3+mJXJF!!3!XVb#b"`!"!$@[),)(!!%!++mJXJF!!3!TVb#b"`!"!#H[),)(!!%
|
||||
!-+p+,rN!!3!cVd!Ie`!"!$H[+,c%!!%!1Dp!(pF!!3!mVc#$i!!"!$f[5Lrl!!%
|
||||
!4Up!(pN!!3")Vd!IfJ!"!%Q[1G9+!!%!0Up8QVX!!3!aVc#$i`!"!$k[9*Um!!%
|
||||
!2kp+,rm!!3"IVdd&eJ!"!#f[-)2Q!!%!,kmS[38!!3!UVbLp"J!"!$5[+,d0!!%
|
||||
!1UmS[4%!!3"JVbLp%`!"!$Z[+,d8!!%!+kmS[4i!!3&1!9!!N!-L!!%!N!F"3J%
|
||||
!N!3*DR0MER4iG#jM!*!I#`#3"d#[),)(!!%!*DmJXJF!!3!XVb#b"`!"!$@[),)
|
||||
(!!%!++mJXJF!!3!TVb#b"`!"!#H[),)(!!%!*UmJXJB!!3!`VdS[q3!"!$1[3"r
|
||||
A!!%!1Dp!(pF!!3!mVc#$i!!"!$f[5Lrl!!%!5Dmje8S!!3"%VdcqLJ!"!%1[4+A
|
||||
J!!%!0Up8QVX!!3!aVc#$i`!"!$k[9*Um!!%!5kp%TH)!!3"0Vd5Pi`!"!$q[5Lr
|
||||
r!!%!Akp0"GB!!3!YVc#$jJ!"!#k[+,d%!!%!,kmS[38!!3!UVbLp"J!"!$5[+,d
|
||||
0!!%!1UmS[4%!!3"JVbLp%`!"!$Z[+,d8!!%!6UmS[4J!!3!VVbLp(J!"!8B"5!#
|
||||
3!b%!!3#3"`%b!3#3"!KUFf4KG'8ZB`#3)!`!N!G!Vb#b"`!"!#@[),)(!!%!,+m
|
||||
JXJF!!3!eVb#b"`!"!#L[),)(!!%!+DmJXJF!!3"3Vb#b"`!"!#H[),)(!!%!*Um
|
||||
JXJB!!3!`VdS[q3!"!$1[3"rA!!%!1Dp!(pF!!3""VbLmb`!"!$b[-)2J!!%!2Dp
|
||||
+,rX!!3")Vd!IfJ!"!%Q[1G9+!!%!0Up8QVX!!3!aVc#$i`!"!$k[9*Um!!%!2kp
|
||||
+,rm!!3"IVdd&eJ!"!#f[-)2Q!!%!,kmS[38!!3!UVbLp"J!"!$5[+,d0!!%!1Um
|
||||
S[4%!!3"JVbLp%`!"!$Z[+,d8!!%!6UmS[4J!!3"2Vdd&6`!"!#Z[+,dH!!%"KJ'
|
||||
)!*!$+3!"!*!(!6)"!*!%"'Tc,Q-!N#4V!*!(3+mJXJF!!3"AVb#b"`!"!#@[),)
|
||||
(!!%!,+mJXJF!!3!eVb#b"`!"!#L[),)(!!%!+DmJXJF!!3!RVb#b"`!"!#D[),)
|
||||
'!!%!-+p+,rN!!3!cVd!Ie`!"!$Q[3"rA!!%!8Dmf[ZF!!3"#Vc#c(!!"!%@[-J9
|
||||
C!!%!2+m`Jq!!!3!pVdS[q`!"!%D[3"rC!!%!5Dmje8S!!3"%VdcqLJ!"!%1[4+A
|
||||
J!!%!5UmS[1N!!3!fVe5DZ`!"!$'[-)2M!!%!2Up8QV`!!3",Vd5PiJ!"!%b[-)2
|
||||
N!!%!6Dp%TH-!!3!rVdS[r`!"!&q[63A@!!%!,Dm`JqB!!3!ZVbLp"!!"!#q[+,d
|
||||
&!!%!+UmS[3B!!3!dVbLp$3!"!$U[+,d4!!%!B+mS[4-!!3!lVbLp&!!"!%k[+,d
|
||||
B!!%!+kmS[4i!!3$f!2J!N!-A!!%!N!F"3J%!N!3+DR0NBQGKF'NZB`#3(Jd!N!G
|
||||
!Vb#b"`!"!#b[),)(!!%!0DmJXJF!!3!TVb#b"`!"!#H[),)(!!%!-+p+,rN!!3!
|
||||
cVd!Ie`!"!&'[0VlR!!%!2+m`Jq!!!3"*VcR95J!"!%5[62k+!!%!3kp%TH!!!3!
|
||||
fVe5DZ`!"!$'[-)2M!!%!6+m`Jq3!!3"0Vd5Pi`!"!$q[5Lrr!!%!Akp0"GB!!3!
|
||||
[VbLp"3!"!#U[+,d'!!%!0+mS[3d!!3!VVbLp(J!"!8B"5!#3!b%!!3#3"`&#!3#
|
||||
3"!KUFf9YDA3ZB`#3)!i!N!G8Vb#b"`!"!%#[),)(!!%!8UmJXJF!!3"9Vb#b"`!
|
||||
"!#b[),)(!!%!0DmJXJF!!3!SVb#b"`!"!#Q[),)(!!%!8kmJXJF!!3!RVb#b"`!
|
||||
"!$#[5Lrj!!%!-kp!(pF!!3!jVd!Ie`!"!%+[-,-F!!%!2+m`Jq!!!3!pVdS[q`!
|
||||
"!%5[62k+!!%!3kp%TH!!!3!fVe5DZ`!"!$'[-)2M!!%!2Up8QV`!!3!rVdS[r`!
|
||||
"!&q[63A@!!%!,Dm`JqB!!3!ZVbLp"!!"!#q[+,d&!!%!+UmS[3B!!3!dVbLp$3!
|
||||
"!$U[+,d4!!%!B+mS[4-!!3!lVbLp&!!"!#Z[+,dH!!%"EJ&`!*!$*J!"!*!(!8)
|
||||
"!*!%"fTcCR9Z,Q-!N#%2!*!(3+mJXJF!!3!XVb#b"`!"!$@[),)(!!%!++mJXJF
|
||||
!!3!TVb#b"`!"!#H[),)(!!%!-+p+,rN!!3!bVc#$h!!"!$1[3"rA!!%!1Dp!(pF
|
||||
!!3!iVcDqjJ!"!%@[-J9C!!%!2+m`Jq!!!3!pVdS[q`!"!%D[3"rC!!%!5+p!(pS
|
||||
!!3"*VcR95J!"!%5[62k+!!%!3kp%TH!!!3"+VbLmk3!"!$D[9*Ul!!%!-Dm`Jq-
|
||||
!!3!qVe5D[!!"!%Z[4+AL!!%!6+m`Jq3!!3"0Vd5Pi`!"!$q[5Lrr!!%!Akp0"GB
|
||||
!!3!YVc#$jJ!"!#k[+,d%!!%!,kmS[38!!3!UVbLp"J!"!$5[+,d0!!%!1UmS[4%
|
||||
!!3"JVbLp%`!"!$Z[+,d8!!%!+kmS[4i!!3%Z!6!!N!-H!!%!N!F"3J%!N!3'DR0
|
||||
RBbjM!*!L%!#3"d#[),)(!!%!,+mJXJF!!3!eVb#b"`!"!#L[),)(!!%!+DmJXJF
|
||||
!!3!RVb#b"`!"!$#[5Lrj!!%!-kp!(pF!!3!jVd!Ie`!"!$b[-)2J!!%!2Dp+,rX
|
||||
!!3"'Vd!If3!"!%L[3"rD!!%!5Dmje8S!!3!fVe5DZ`!"!$'[-)2M!!%!2Up8QV`
|
||||
!!3"-Vc#$j!!"!$q[5Lrr!!%!Akp0"GB!!3!YVc#$jJ!"!#k[+,d%!!%!,kmS[38
|
||||
!!3!UVbLp"J!"!$5[+,d0!!%!1UmS[4%!!3"JVbLp%`!"!$Z[+,d8!!%!+kmS[4i
|
||||
!!3&Z!A!!N!-Q!!%!N!F"3J%!N!3+DR0TER4PFR!ZB`#3(K%!N!G!Vb#b"`!"!&D
|
||||
[),)(!!%!,+mJXJF!!3!eVb#b"`!"!#L[),)(!!%!+DmJXJF!!3!RVb#b"`!"!$#
|
||||
[5Lrj!!%!-kp!(pF!!3!hVbLma!!"!$Q[3"rA!!%!1+mf[ZB!!3"4VcDqj`!"!%@
|
||||
[-J9C!!%!2+m`Jq!!!3!pVdS[q`!"!%D[3"rC!!%!5+p!(pS!!3"*VcR95J!"!%5
|
||||
[62k+!!%!3kp%TH!!!3!fVe5DZ`!"!$'[-)2M!!%!2Up8QV`!!3"-Vc#$j!!"!%f
|
||||
[4+AM!!%!2kp+,rm!!3"IVdd&eJ!"!#f[-)2Q!!%!,UmS[33!!3![VbLp"3!"!#U
|
||||
[+,d'!!%!0+mS[3d!!3!kVbLp%3!"!'#[+,d6!!%!1kmS[43!!3!VVbLp(J!"!&B
|
||||
!@!#3!`-!!3#3"`&#!3#3"!KUFfa[BfXZB`#3)")!N!G'Vd!If3!"!&q[63A@!!%
|
||||
"0J%i!*!$(`!"!*!(!6)"!*!%#'TcE@&dD#jM!*!J%`#3"d#[),)(!!%!9UmJXJF
|
||||
!!3!XVb#b"`!"!$@[),)(!!%!++mJXJF!!3!TVb#b"`!"!&#[),)(!!%!*kmJXJF
|
||||
!!3!`VdS[q3!"!$1[3"rA!!%!1Dp!(pF!!3!mVc#$i!!"!$f[5Lrl!!%!4kmS[0d
|
||||
!!3")Vd!IfJ!"!%Q[1G9+!!%!0Up8QVX!!3!aVc#$i`!"!$k[9*Um!!%!2kp+,rm
|
||||
!!3"IVdd&eJ!"!#f[-)2Q!!%!,kmS[38!!3!UVbLp"J!"!$5[+,d0!!%!1UmS[4%
|
||||
!!3"JVbLp%`!"!$Z[+,d8!!%!6kp0"8m!!3!VVbLp(J!"!@i"F!#3!bB!!3#3"`%
|
||||
b!3#3"!GUFfjeE5jM!*!K&!#3"d#[),)(!!%!9kmJXJF!!3"BVb#b"`!"!&D[),)
|
||||
(!!%!*DmJXJF!!3!XVb#b"`!"!$@[),)(!!%!++mJXJF!!3!TVb#b"`!"!#H[),)
|
||||
(!!%!*UmJXJB!!3!`VdS[q3!"!$1[3"rA!!%!1Dp!(pF!!3!iVcDqjJ!"!$b[-)2
|
||||
J!!%!2Dp+,rX!!3"'Vd!If3!"!%L[3"rD!!%!5Dmje8S!!3"%VdcqLJ!"!%1[4+A
|
||||
J!!%!0Up8QVX!!3!aVc#$i`!"!$k[9*Um!!%!2kp+,rm!!3"IVdd&eJ!"!#f[-)2
|
||||
Q!!%!,kmS[38!!3!UVbLp"J!"!&Q[+,d+!!%!0+mS[3d!!3!kVbLp%3!"!'#[+,d
|
||||
6!!%!1kmS[43!!3"1VbLp'!!"!#Z[+,dH!!%"GJ&i!*!$*`!"!*!(!8)"!*!%"fT
|
||||
cEf*U,Q-!N#%9!*!(3+mJXJF!!3!PVb#b"`!"!#b[),)(!!%!0DmJXJF!!3!SVb#
|
||||
b"`!"!#Q[),)(!!%!*kmJXJF!!3!QVb#b"J!"!$#[5Lrj!!%!-kp!(pF!!3!hVbL
|
||||
ma!!"!$Q[3"rA!!%!1+mf[ZB!!3"&Vc)&@3!"!$b[-)2J!!%!2Dp+,rX!!3"'Vd!
|
||||
If3!"!%L[3"rD!!%!5Dmje8S!!3"%VdcqLJ!"!%1[4+AJ!!%!0Up8QVX!!3!aVc#
|
||||
$i`!"!$k[9*Um!!%!6+m`Jq3!!3"0Vd5Pi`!"!$q[5Lrr!!%!Akp0"GB!!3!YVc#
|
||||
$jJ!"!#k[+,d%!!%!,kmS[38!!3!UVbLp"J!"!$5[+,d0!!%!1UmS[4%!!3"JVbL
|
||||
p%`!"!$Z[+,d8!!%!6UmS[4J!!3!VVbLp(J!"!CB"Q!#3!bX!!3#3"`&#!3#3"!T
|
||||
UFfp`BfpNC5jM!*!H&J#3"e5[),)(!!%!3+mJXJF!!3"5Vb#b"`!"!&@[),)(!!%
|
||||
!*DmJXJF!!3!XVb#b"`!"!$@[),)(!!%!++mJXJF!!3!TVb#b"`!"!&1[),)(!!%
|
||||
!*kmJXJF!!3!QVb#b"J!"!$#[5Lrj!!%!-kp!(pF!!3!jVd!Ie`!"!$L[0VlQ!!%
|
||||
!8Dmf[ZF!!3"#Vc#c(!!"!%@[-J9C!!%!2+m`Jq!!!3!pVdS[q`!"!%Q[1G9+!!%
|
||||
!4+p-rSS!!3"$Vd5Pi!!"!$D[9*Ul!!%!-Dm`Jq-!!3!qVe5D[!!"!%b[-)2N!!%
|
||||
!6Dp%TH-!!3!rVdS[r`!"!&q[63A@!!%!,Dm`JqB!!3!ZVbLp"!!"!#q[+,d&!!%
|
||||
!+UmS[3B!!3"CVbLp#J!"!$5[+,d0!!%!1UmS[4%!!3"JVbLp%`!"!$Z[+,d8!!%
|
||||
!6UmS[4J!!3!VVbLp(J!"!Ai"J!#3!bJ!!3#3"`&#!3#3"!PUFh"KFR0P,Q-!N"m
|
||||
A!*!(3+mJXJF!!3!PVb#b"`!"!#b[),)(!!%!0DmJXJF!!3!SVb#b"`!"!#Q[),)
|
||||
(!!%!*kmJXJF!!3!QVb#b"J!"!$#[5Lrj!!%!-kp!(pF!!3!jVd!Ie`!"!$L[0Vl
|
||||
Q!!%!3Um`Xa`!!3"&Vc)&@3!"!$b[-)2J!!%!2Dp+,rX!!3"'Vd!If3!"!%Q[1G9
|
||||
+!!%!4+p-rSS!!3"$Vd5Pi!!"!%U[+,cT!!%!0Up8QVX!!3!aVc#$i`!"!$k[9*U
|
||||
m!!%!5kp%TH)!!3"-Vc#$j!!"!%f[4+AM!!%!2kp+,rm!!3"IVdd&eJ!"!#f[-)2
|
||||
Q!!%!,UmS[33!!3![VbLp"3!"!#U[+,d'!!%!0+mS[3d!!3!kVbLp%3!"!'#[+,d
|
||||
6!!%!1kmS[43!!3"1VbLp'!!"!#Z[+,dH!!%"4J&)!*!$)3!"!*!(!6)"!*!%#QT
|
||||
cFQ9RCAK`,Q-!N"iB!*!(3+mJXJF!!3!XVb#b"`!"!$@[),)(!!%!++mJXJF!!3!
|
||||
TVb#b"`!"!#H[),)(!!%!-+p+,rN!!3!bVc#$h!!"!$1[3"rA!!%!1Dp!(pF!!3!
|
||||
iVcDqjJ!"!%@[-J9C!!%!2+m`Jq!!!3!pVdS[q`!"!%D[3"rC!!%!5Dmje8S!!3"
|
||||
%VdcqLJ!"!%1[4+AJ!!%!0Up8QVX!!3!aVc#$i`!"!$k[9*Um!!%!2kp+,rm!!3"
|
||||
IVdd&eJ!"!#f[-)2Q!!%!,UmS[33!!3![VbLp"3!"!#U[+,d'!!%!0+mS[3d!!3!
|
||||
kVbLp%3!"!'#[+,d6!!%!1kmS[43!!3!VVbLp(J!"!Bi"N!!!N!-U!!%!N!F"-J%
|
||||
!N!3)DR0cBf&Z,Q-!N#!C!*!(9+mJXJF!!3"!Vb#b"`!"!&H[),)(!!%!@+mJXJF
|
||||
!!3"@Vb#b"`!"!&+[),)(!!%!9DmJXJF!!3!PVb#b"`!"!#b[),)(!!%!0DmJXJF
|
||||
!!3!SVb#b"`!"!#Q[),)(!!%!8kmJXJF!!3!RVb#b"`!"!#D[),)'!!%!-+p+,rN
|
||||
!!3!cVd!Ie`!"!$Q[3"rA!!%!1+mf[ZB!!3"#Vc#c(!!"!$b[-)2J!!%!2Dp+,rX
|
||||
!!3"%VdcqLJ!"!%1[4+AJ!!%!0Up8QVX!!3!aVc#$i`!"!$k[9*Um!!%!5kp%TH)
|
||||
!!3!rVdS[r`!"!&q[63A@!!%!,Dm`JqB!!3!ZVbLp"!!"!#q[+,d&!!%!+UmS[3B
|
||||
!!3"CVbLp#J!"!$5[+,d0!!%!1UmS[4%!!3"JVbLp%`!"!$Z[+,d8!!%!6UmS[4J
|
||||
!!3!VVbLp(J!"!5i"-!#3!ai!!3#3"`&#!3#3"!PUFh0MEh"P,Q-!N"mD!*!(3+m
|
||||
JXJF!!3!XVb#b"`!"!$@[),)(!!%!++mJXJF!!3!TVb#b"`!"!#H[),)(!!%!-+p
|
||||
+,rN!!3!cVd!Ie`!"!$Q[3"rA!!%!2+m`Jq!!!3!pVdS[q`!"!%D[3"rC!!%!5+p
|
||||
!(pS!!3"*VcR95J!"!$D[9*Ul!!%!-Dm`Jq-!!3!qVe5D[!!"!%b[-)2N!!%!2kp
|
||||
+,rm!!3"IVdd&eJ!"!#f[-)2Q!!%!,UmS[33!!3![VbLp"3!"!#U[+,d'!!%!0+m
|
||||
S[3d!!3!kVbLp%3!"!'#[+,d6!!%!1kmS[43!!3!VVbLp(J!"!-i!d!#3!a)!!3#
|
||||
3"`&#!3#3"!TUFh0MFQP`G#jM!*!H'`#3"bb[),)(!!%!0DmJXJF!!3!TVb#b"`!
|
||||
"!#H[),)(!!%!-+p+,rN!!3!cVd!Ie`!"!&'[0VlR!!%!3Um`Xa`!!3"%VdcqLJ!
|
||||
"!%1[4+AJ!!%!0Up8QVX!!3!aVc#$i`!"!%f[4+AM!!%!Akp0"GB!!3!UVbLp"J!
|
||||
"!$5[+,d0!!%!+kmS[4i!!3&@!9J!N!-M!!%!N!F"3J%!N!3(DR0cG()ZB`#3)4`
|
||||
!N!G!Vb#b"`!"!#@[),)(!!%!,+mJXJF!!3!eVb#b"`!"!#L[),)(!!%!+DmJXJF
|
||||
!!3!RVb#b"`!"!#D[),)'!!%!-+p+,rN!!3!bVc#$h!!"!$1[3"rA!!%!0kmS[-3
|
||||
!!3!jVd!Ie`!"!$L[0VlQ!!%!2+m`Jq!!!3!pVdS[q`!"!%D[3"rC!!%!5+p!(pS
|
||||
!!3"*VcR95J!"!$D[9*Ul!!%!-Dm`Jq-!!3!qVe5D[!!"!$q[5Lrr!!%!Akp0"GB
|
||||
!!3!YVc#$jJ!"!#k[+,d%!!%!,kmS[38!!3!UVbLp"J!"!$5[+,d0!!%!1UmS[4%
|
||||
!!3"JVbLp%`!"!$Z[+,d8!!%!6UmS[4J!!3!VVbLp(J!"!)i!N!!!N!-+!!%!N!F
|
||||
"-J%!N!3*F(*KFQ9ZB5jM!*!I(3#3"bb[),)(!!%!++mJXJF!!3!TVb#b"`!"!#H
|
||||
[),)(!!%!Akp0"GB!!3!YVc#$jJ!"!#k[+,d%!!%!+UmS[3B!!3!VVbLp(J!"!)B
|
||||
!L!#3!`N!!3#3"`&#!3#3"!T`FQ&cFf9bG#jM!*!H(J#3"bb[),)(!!%!0DmJXJF
|
||||
!!3!SVb#b"`!"!#H[),)(!!%!Akp0"GB!!3!ZVbLp"!!"!#U[+,d'!!%!+kmS[4i
|
||||
!!3#f!,J!N!-2!!%!N!F"3J%!N!3)F(*NG'pK,Q-!N#!I!*!(*DmJXJF!!3!XVb#
|
||||
b"`!"!#H[),)(!!%!*UmJXJB!!3"FVb#b"`!"!&f[),)(!!%!Akp0"GB!!3"HVb#
|
||||
b"`!"!#U[+,d'!!%!@DmS[3S!!3"1VbLp'!!"!#Z[+,dH!!%!@UmJXJF!!3"EVb#
|
||||
b"`!"!*B!Q!#3!`X!!3#3"`&#!3#3"!K`FQKKFfJZB`#3)#!!N!FXVb#b"`!"!$@
|
||||
[),)(!!%!++mJXJF!!3!TVb#b"`!"!#H[),)(!!%!Akp0"GB!!3!ZVbLp"!!"!#U
|
||||
[+,d'!!%!0+mS[3d!!3!VVbLp(J!"!'i!F!#3!`B!!3#3"`&#!3#3"!K`FQa[Cc)
|
||||
ZB`#3)#%!N!FXVb#b"`!"!#H[),)(!!%!Akp0"GB!!3!UVbLp"J!"!#Z[+,dH!!%
|
||||
!TJ#S!*!$$3!"!*!(!8)"!*!%#("bE'pZCbjM!*!J)J#3"b@[),)(!!%!,+mJXJF
|
||||
!!3!eVb#b"`!"!#H[),)(!!%!*UmJXJB!!3"IVdd&eJ!"!#U[+,d'!!%!1UmS[4%
|
||||
!!3"JVbLp%`!"!$Z[+,d8!!%!6UmS[4J!!3!VVbLp(J!"!,i!`!#3!a!!!3#3"`&
|
||||
#!3#3"!T`FR"bD@jdCLjM!*!H)`#3"b@[),)(!!%!,+mJXJF!!3!eVb#b"`!"!#L
|
||||
[),)(!!%!+DmJXJF!!3!RVb#b"`!"!#D[),)'!!%!Akp0"GB!!3!ZVbLp"!!"!#U
|
||||
[+,d'!!%!1UmS[4%!!3"JVbLp%`!"!$Z[+,d8!!%!6UmS[4J!!3!VVbLp(J!"!5B
|
||||
"+!#3!ad!!3#3"`%b!3#3"!K`FR4TE@8ZB`#3)#3!N!G8Vb#b"`!"!'H[),)(!!%
|
||||
!DDmJXJF!!3"QVb#b"`!"!&+[),)(!!%!9DmJXJF!!3"KVb#b"`!"!'5[),)(!!%
|
||||
!CDmJXJF!!3"SVb#b"`!"!'1[),)(!!%!*DmJXJF!!3!XVb#b"`!"!#Q[),)(!!%
|
||||
!BUmJXJF!!3"3Vb#b"`!"!'U[),)(!!%!8kmJXJF!!3!RVb#b"`!"!#D[),)'!!%
|
||||
!Akp0"GB!!3!UVbLp"J!"!$U[+,d4!!%!B+mS[4-!!3!lVbLp&!!"!%k[+,dB!!%
|
||||
!6kp0"8m!!3!VVbLp(J!"!%B!5!2R!!%!!3#3#!)"!*!%$N&18dNJ3bj38%-Z6'P
|
||||
L!*!D!J#3"dB!5!2R!!%!!3#3#!)"!*!%$90*6e9B,P"33bj-D@)!N"X'!*!(4J"
|
||||
)!qF!!3!#!*!)!J%!N!3-5@jdCA*QB@0P6'PL!*!F!`#3"dB!5!2R!!%!!J#3#!)
|
||||
"!*!%"deKG'K-D@)!N#%%!*!(4J")!qF!!3!#!*!)!J%!N!3169G$8R9ZG'PYC5j
|
||||
-D@)!N"S&!*!,!8!%!!%cE4""6P0*)%-V+bj38%-Z6'PL!*!2Vb#b#!'!69"-4Um
|
||||
JXJJ!!N!%!!%cE3j"6P0*)%-Z8&"$,NaTBJ#3%DmJXJJ"J%e36%D[),))!!0!"!!
|
||||
"-p!-5@jdCA*QB@0P6'PL!*!6Vb#b#!'!Fh4eBUmJXJJ!"%!%!!%ciJG0BA4S6'P
|
||||
L!*!BVb#b#!'!FfKXBUmJXJJ!"8!%!!%dP!j09d05G@jdD@eP,NaTBJ#3%DmJXJJ
|
||||
"J%e36%D[),))!!C!"!!"0,N08dP299JZ8&"$,NaTBJ#3%UmJXJJ"J%e36%D[),)
|
||||
)!!F!!J!"0JN(DR0KF'NZB`#3'+p,$'3"J&4&@&5[5`aN!!J!!J!"0JN*DR0KFR*
|
||||
KH5jM!*!@VdcqL3'!9%9B9+p-rSN!#3!#!!%f#3KUFf&dEfdZB`#3&kp0!pJ"J&4
|
||||
&@&5[632B!!S!!J!"0JN)DR0LEfpX,Q-!N"H[1G9'!B"849K8VcR94J!,!!)!!6B
|
||||
*#@TcBfjdH(3ZB`#3&Up,$'8"J&4&@&5[5`aP!!`!!J!"0JN)DR0NBA4P,Q-!N"H
|
||||
[63VP!B"849K8Vdd+j3!0!!)!!6B*#QTcC'*RBA"T,Q-!N"@[0VlQ!B"849K8VcD
|
||||
qjJ!1!!)!!6B*#'TcC@eTG#jM!*!AVcR94`'!9%9B9+mje8F!$`!#!!%f#3GUFfC
|
||||
eELjM!*!BVe5DZJ'!9%9B9+p8QVS!%!!#!!%f#3CUFfGM,Q-!N"Q[9*Uk!B"849K
|
||||
8Ve5DZJ!4!!)!!6B*#QTcD@jdCA*`,Q-!N"@[9*Ul!B"849K8Ve5DZ`!5!!)!!6B
|
||||
*#'TcE'pMDbjM!*!AVbLmfJ'!9%9B9+mS[0S!%`!#!!%f#3KUFfeKG'JZB`#3&kp
|
||||
0"&-"J&4&@&5[6346!"3!!J!"0JN(DR0ZG@dZB`#3'+p0"'B"J&4&@&5[634Q!"8
|
||||
!!J!"0JN(DR0[BQSZB`#3'+p,$'B"J&4&@&5[5`aQ!"B!!J!"0JN+DR0[F'0[C'8
|
||||
ZB`#3&Dp-rSS"J&4&@&5[62k+!"F!!J!"0JN*DR0`BA*cC5jM!*!@VdcqLJ'!9%9
|
||||
B9+p-rSS!'!!#!!%f#3TUFh*PCf9iF#jM!*!9Ve5E(`'!9%9B9+p8Qam!'3!#!!%
|
||||
f#3KUFh0MB@iZB`#3&kp0%h)"J&4&@&5[640b!"S!!J!"0JN*DR0cBfp`C5jM!*!
|
||||
@Ve5D[3'!9%9B9+p8QVd!'`!#!!%f#3TUFh0MFQP`G#jM!*!9VdS[rJ'!9%9B9+p
|
||||
+,ri!(!!#!!%f#3GUFh0dFLjM!*!BVe5D[J'!9%9B9+p8QVi!(3!#!!%f#3P`FQ&
|
||||
bC@jK,Q-!N"D[6356!B"849K8Vdd%N`!H!!)!!6B*#R"bBA0cCA*d,Q-!N"@[+,d
|
||||
"!B"849K8VbLp!3!I!!)!!6B*#("bC(4[B5jM!*!AVbLp#3'!9%9B9+mS[3N!)!!
|
||||
#!!%f#3K`FQKKFfJZB`#3&kmje8`"J&4&@&5[1G9-!#%!!J!"0JN)F(*XEfFb,Q-
|
||||
!N"H[+,d2!B"849K8VbLp$`!L!!)!!6B*#("bE'pZCbjM!*!AVbLp%!'!9%9B9+m
|
||||
S[4!!)`!#!!%f#3T`FR"bD@jdCLjM!*!9VbLp&`'!9%9B9+mS[4F!*!!#!!%f#3K
|
||||
`FR4TE@8ZB`#3&kp0$YN"J&4&@&5[63lC!#9!!J!",[i)Fh4NBA*R,QJ!N"H[),)
|
||||
(!)"849K8Vb#b"`!Q3!)!!5lq#9pcG'4KFQFZD!#3&UmJXJB!J&4&@&5[),)'!#G
|
||||
!!J!",[i(HACKE(-ZD!#3'+mJXJF!J&4&@&5[),)(!#K!!J!",[i)Fh4NE'PL,QJ
|
||||
!N"H[),)(!)"849K8Vb#b"`!T3!)!!5lq#(0dFQPZCbjS!*!AVb#b"`#!9%9B9+m
|
||||
JXJF!+J!"!!%f#3T`FQ0`G@0QCbjS!*!9VbLp"J'!9%9B9+mS[3B!+`!"!!%f#3P
|
||||
`FR4jF'9c,QJ!N"D[+,dH!B"849K8VbLp(J!X3!)!!5lq#(0dC'4PCLjS!*!AVb#
|
||||
b"`#!9%9B9+mJXJF!,3!"!!%f#3P`FQ&bC@jK,QJ!N"D[-)2Q!B"849K8Vc#$jJ!
|
||||
Z!!%!!6B*#R"bBA0cCA*d,QJ!N"@[+,d%!B"849K8VbLp"!![!!%!!6B*#A"bBfa
|
||||
TFh3ZD!#3&UmS[38"J&4&@&5[+,d&!$!!!3!"0JN(DR0KF'NZD!#3'+p+,rN"J&4
|
||||
&@&5[5Lrj!$%!!3!"0JN*DR0`G@*dC#jS!*!@Vc#$i`'!9%9B9+m`Jq-!-J!"!!%
|
||||
f#3PUFf&bFQ&j,QJ!N"D[-)2F!B"849K8Vc#$h!!c!!%!!6B*#'TcBA4[E5jS!*!
|
||||
AVd!Ie`'!9%9B9+p!(pF!0!!"!!%f#3K`FQKKFfJZD!#3&kmS[3d"J&4&@&5[+,d
|
||||
0!$9!!J!",[i(Fh4ND@mZD!#3'+mJXJF!J&4&@&5[),)(!$B!!3!"0JN*DR0`FRC
|
||||
dC#jS!*!@Ve5DZ`'!9%9B9+p8QVX!0`!"!!%f#3KUFf*[Ef`ZD!#3&kmS[-3"J&4
|
||||
&@&5[+,c%!$J!!3!"0JN+DR0MEfjQD@FZD!#3&Dmf[ZB"J&4&@&5[0VlQ!$N!!3!
|
||||
"0JN*DR0MER4iG#jS!*!@Vd!Ie`'!9%9B9+p!(pF!1J!"!!%f#3K`FQa[EQFZD!#
|
||||
3&kmS[4%"J&4&@&5[+,d4!$X!!3!"0JN*F(*[Ff4PF#jS!*!@VbLp&!'!9%9B9+m
|
||||
S[43!2!!"!!%f#3CUFfGM,QJ!N"Q[-)2J!B"849K8Vc#$i!!p!!%!!6B*#QTcD@j
|
||||
dCA*`,QJ!N"@[5Lrl!B"849K8VdS[q`!q!!%!!6B*#QTcFQ9RCAK`,QJ!N"@[9*U
|
||||
m!B"849K8Ve5D[!!r!!%!!6B*"fTcFh4b,QJ!N"L[5Lrr!B"849K8VdS[r`"!3!)
|
||||
!!5lq"f0dHA"P,QJ!N"L[),)(!)"849K8Vb#b"`""!!%!!6B*#'TcC'&dC5jS!*!
|
||||
AVbLmb`'!9%9B9+mS[-X!3J!"!!%f#3KUFf9YDA3ZD!#3&km`Xa`"J&4&@&5[-,-
|
||||
F!%-!!3!"0JN+DR0[F'0[C'8ZD!#3&Dp%TH!"J&4&@&5[4+AJ!%3!!3!"0JN-DR0
|
||||
[F'0[C'8ZC'9Q!*!6VdcqLJ'!9%9B9+p-rSS!43!"!!%f#3GUFfCeELjS!*!BVc)
|
||||
&@3'!9%9B9+mb"9N!4J!"!!%f#3KUFfa[BfXZD!#3&kp!(pN"J&4&@&5[3"rC!%F
|
||||
!!3!"0JN)DR0YBA4S,QJ!N"H[+,cG!B"849K8VbLmh3")!!%!!6B*"fTcER9Y,QJ
|
||||
!N"L[3"rD!B"849K8Vd!IfJ"*!!%!!6B*"fTcEf*U,QJ!N"L[1G9+!B"849K8VcR
|
||||
95J"+!!%!!6B*#@TcF'&bFf8ZD!#3&UmS[1N"J&4&@&5[+,cT!%X!!3!"0JN)DR0
|
||||
cBf&Z,QJ!N"H[4+AL!B"849K8Vd5PiJ"-!!%!!6B*#@TcFf0[F'8ZD!#3&Um`Jq3
|
||||
"J&4&@&5[-)2N!%d!!3!"0JN+DR0cBh*TF(3ZD!#3&Dp%TH-"J&4&@&5[4+AM!%i
|
||||
!!3!"0JN+F(*`FQPZG'BZD!#3&DmS[4J"J&4&@&5[+,dB!%m!!3!"0JN)F(*dD@e
|
||||
P,QJ!N"H[6392!B"849K8Vdd&6`"33!)!!5lq"R4TE@8ZD!#3'DmJXJF!J&4&@&5
|
||||
[),)(!&%!!3!"0JN+DR0NBQGKF'NZD!#3&Dmf[ZF"J&4&@&5[0VlR!&*!"3!"-E-
|
||||
)E@9YEh*j,QJ!N"H[),)(!)"849K8Vb#b"`"63!8!!6'c"e4jF'9c,QJ!N"L[),)
|
||||
(!)"849K8Vb#b"`"83!8!!6'c%d0[EQ4TG'P[EQ&X6@&MFQpc,QJ!N!b[),)(!)"
|
||||
849K8Vb#b"`"93!8!!6'c#deTH'9N6@pNC5jS!*!8Vb#b"`#!9%9B9+mJXJF!9N!
|
||||
#!!%ZrJCYBA4S,QJ!N"Q[),)(!)"849K8Vb#b"`"A3!)!!5lq"f9bFQj[,QJ!N"L
|
||||
[),)(!)"849K8Vb#b"`"B3!)!!5lq#'aTE@PdFbjS!*!AVb#b"`#!9%9B9+mJXJF
|
||||
!@3!"!!%f#3K`FQ4dEf%ZD!#3&kmS[3S"J&4&@&5[+,d+!&T!!J!",[i)Fh4NE'P
|
||||
L,QJ!N"H[),)(!B"849K8Vb#b"`"E3!)!!5lq#(0dFQPZCbjS!*!AVb#b"`'!9%9
|
||||
B9+mJXJF!A%!#!!%ZrJGPFR*ZEbjS!*!BVb#b"`'!9%9B9+mJXJF!A8!#!!%ZrJG
|
||||
QE'pKG#jS!*!BVb#b"`'!9%9B9+mJXJF!AN!#!!%ZrJCYBA4S,QJ!N"Q[),)(!B"
|
||||
849K8Vb#b"`"I!!%!!6B*#deKBe"bC@CTH#jS!*!8Vdd&eJ'!9%9B9+p0"GB!B!!
|
||||
"!!%f#3P`FQeKBfpc,QJ!N"D[+,d6!B"849K8VbLp%`"K3!8!!6'c#8p69A4TE(-
|
||||
ZD!#3&UmJXJF!J&4&@&5[),)(!'*!"3!"-E-,9'9iG&9dD@ac,QJ!N"5[),)(!)"
|
||||
849K8Vb#b"`"M3!8!!6'c#&0MFQP`G#jS!*!AVb#b"`#!9%9B9+mJXJF!C%!&!!%
|
||||
aX`Y4G@PMDf4bBAFZD!#3&+mJXJF!J&4&@&5[),)(!'9!"3!"-E-28A9TBfYNFQ&
|
||||
h9'9iG#jS!*!3Vb#b"`#!9%9B9+mJXJF!CN!&!!%aX`p*ER4X8Q9cEh9bBf9c,QJ
|
||||
!N"#[),)(!)"849K8Vb#b"`"R3!8!!6'c#%9fC@jdFbjS!*!AVb#b"`#!9%9B9+m
|
||||
JXJF!D%!&!!%aX`Y5CA0[GA*MCA-ZD!#3&+mJXJF!J&4&@&5[),)(!'P!"3!"-E-
|
||||
(4QPXCA-ZD!#3'+mJXJF!J&4&@&5[),)(!'T!"3!"-E-(9'PYCA)ZD!#3'+mJXJF
|
||||
!J&4&@&5[),)(!'X!!J!"0JN%DR-ZB`#3'kp0"Q-"J&4&@&5[63CM!*!'!4`!N!-
|
||||
#8&0PCrrr!*!*(!!!!3"38f9R!!%!!!CH&4J!!!%H!!!NX&"-Fh3!N!3'AK6i!!!
|
||||
PcJ!!&T*34Qac!*!%'"m!!!%!N!-h)3!!0L%!!!3NE[rd2A`"!2rfF!!Y32ri,8$
|
||||
rr&Q2,blrl&Q2,blrl%i*5P05C@BZF(*U!J!!9de08&*$9dP&!!#ahl(I!*!$!3"
|
||||
A68e38N0A588!!,(IXGm!N"+`P3GY!!!mX!!!1d8M2blrjUQD5N9Q"P@2UDmk(dT
|
||||
&CKT)E[qJ,bi!%#mZ!!`[,J!)6VVp"Nr[!""J$&@25'lrS(!'UP*86c!&61iFq2p
|
||||
`6Pj1G6!!!!8!N!8&!!8!"3!%!*!+!3#3%33&N!3!6PB!!%MR!4JQ!*!$!J!'!*!
|
||||
$,J!&!3$rr`#3#2rr!C!&!*!%(J%"!*!)QCN!!$rr2rmrr`#3!dS!!3!*"Ne[EQ&
|
||||
ME`#3(!3!+!!+!F)#J!!S!!S"`J+!!*!3!3#3!`)+!!8!#e0TEA"XC5"#C@9`!*$
|
||||
f!3!"#e0TEA"XC5"#C@9`!*$j!J#3"43!!3"#!Ki#D31H!&d!!5cV!!%f#3#3!aS
|
||||
!!`!!Irm!N!4rr`#3"(rr!*!%Irm!N!3&(!!%!*!$!3!%!3S!!3%k!&N!"!"GrTi
|
||||
!@5VS!&N!"!"G!!$!!!"C3)$ErN#!fqj!J%#!hGJPAIrr!!m!e!#3!i)!$`!!9J#
|
||||
3!`&-3)'Gc!"C,8J!AICJ!)$Hd!#!KAK!J*S+!&NY5!#!K'S!!-!!!&N!"!"GrTi
|
||||
J%%#"3)'Gc%#"R0i!A0Q)!03!N!1#!!m!!&B!N!5#!)#(U!#3"i!!N!H!!13!N!8
|
||||
%!&hfB!#3$%#"X"j!JDrN!!$!!!"C!!3!!"*H!035AJ##!!m!!&B!N!5#!)#&j!"
|
||||
C2q!!J)@f!*!$J!$)fBJ!e!$b!*N!@5VS!")!"!#!KkJ"h!!#*$T0B@028b"6GA"
|
||||
`Eh*d1NKPB@4PFR-k38j655")C@&NCA*c1J"!Kl[q3)HlrJ%pbq!"C,"d!@5`+!%
|
||||
pYJ#3!a2@!*!%!@5Y8%)!#!`!$#-8!*!*&%(F!*!J!6ajk!#3"@36eJ#3"!%mHHJ
|
||||
!!J!!!@5Y8!%q%f`!N#(Q!(-!q!$)!6i6P!!%!!!"C+k)!!!6eJ&NVE!!N!8-)SJ
|
||||
!%CHS*!!)"!!83G`!SJ%4!+)"%3#3"aJ!)3%!!!)D1NeKBdp6)&0eF("[FR3k6@&
|
||||
M5'9KC'9bFcS8$XJ!%D3S!*!*!5cN!*!(!J&Ul6!!&&AJ!"49e'Mrpd!"DZdT!*!
|
||||
$r`!8&5`"DZhi!@VY%!!5J93!%D6!*!!%"!&Ul5!!!5cN!*!)!@VY8!!",13!!#a
|
||||
d!5[,S(0MFQN!&d3!!"39,!!!rrm"DZk!!!!"!!!4T-!N!!J%!@VXd!!8')!!N!N
|
||||
MmS*!P,4d!*!$`!#3"!&UlUi!&"qX!83-8!&UlYB"DZf3!!#3!`%!%D4m*!!)"!&
|
||||
Ul4!!&"L!!"3KF!#3"aJ!)3!$!!!"!!!#'6T0B@028b"6GA"`Eh*d1NaTBR*KFQP
|
||||
PFcS!&!l)!"'N+!#3#3%Xj!#3"`)"DZd`!"49i!!89G4SrrG!!@VY+3#3!rm!&"8
|
||||
X!@VYq!&Ul4!!%S&8!"'N`#3!"!3"DZdJ!!%Xj!#3#!&Ul9!!!5cN!!!XG!%Vbk"
|
||||
cBh*T!"G%!!!8&5`!!2rr!@VZJ%#8!3!!%D6!*!!)"!&Ul0!!&"L!!*!)!@[K[%#
|
||||
8Y(3!N!2!!*!%!@VZVJ!8(k`"4!a3!@VZeJ&UlC!!!*!$!3!4T(`N!!J%!@VY%!!
|
||||
8')!!&#&`!*!('!!K!!-!!!%!!!)21NeKBdp6)&0eF("[FR3krrm!!%!!!@VXd!!
|
||||
8$XJ!%D3S!*!*!5cN!*!(!J&Ul6!!&&AJ!"49e'Mrpd!"DZdT!*!$r`!8&5`"DZh
|
||||
i!@VY%!!5J93!%D6!*!!%"!&Ul5!!!5cN!*!)!@VY8!!",13!!#ad!5[,S(0MFQN
|
||||
!&d3!!"39,!!!rrm"DZk!!!!"!!!4T-!N!!J%!@VXd!!8')!!N!NMmS*!P,4d!*!
|
||||
$`!#3"!&UlUi!&"qX!83-8!&UlYB"DZf3!!#3!`%!%D4m*!!)"!&Ul4!!&"L!!"3
|
||||
KF!#3"aJ!)3!$!*!%(2i!"K"0B@028b"38%-J6'PZDf9b!*!3"4"0B@028b"38%-
|
||||
J6'PZDf9b!*!`'N&38%`!N%"J!*!$3A"`E!#33'!!N!0068a#!*!J$NaTBL"*EA"
|
||||
[FR3J8&"$!*!969"-4J#3)!j-D@)J5@e`Eh*d)&"33`#3&8eA3d3!N%"J!*!$8P0
|
||||
53`#33'!!N!0849K8!bjLD("cF`!!!T`i!*!)!DJpd!#3"!*6H[!-3Q&XE'p[EL"
|
||||
)C@a`8%iS8!#3!`'S2G$rN!2p!P!h'!#3"&4&@&3#,Q-!N"d-69FJ3bp$+bXJ8&"
|
||||
$!*!A9%9B9!3ZBbXV!*!E$%eA)%-[3bXV)&"33`#3&e4&@&3$,Q0M!*!F$%eA)%-
|
||||
[3bXV)&"33`#3&e4&@&3$,Q0`!*!F$%eA)%-[3bXV)&"33`#3&e4&@&3%,Q0`F!#
|
||||
3'`a09b"$,d-V+b"38%-!N"G849K8"#jPH(!!N$p849K8!LjS!*!G$%eA)%-[3bX
|
||||
V)&"33`#3%a!!N!0849K8!Lj`!*!G$8eA)&"KFf0KE#"38%-!N"C849K8"#j`BA-
|
||||
!N"X069FJ8'&cBf&X)&"33`#3&P4&@&3%,R"MD!#3'`a09b"$,d-V+b"38%-!N"1
|
||||
!!*!$9%9B9!BZF'0S+bX!N"N-69FJ3bp$+bXJ8&"$!*!6J!#3!e4&@&3#,R)!N"d
|
||||
$8Q9k!*!J9%9B9!)ZFfK`Fh-!!!+F1!#3#!'S2G!!N!3#8hV`"P"33d&cE@i"F4K
|
||||
JF&"1+&!!N!-"U$h3rj!$r3*30aJ!N!4B3dp'!*!J%&K$6dC')%PYF'pbG#"38%-
|
||||
!N"0NEf0e!*"!B!#3!h*cFQ-!N%"J!*!$FfKXBJ#3)!j348BJ5@e`Eh*d)&"33`#
|
||||
3&A0dG@)!N#!18%9')%PYF'pbG#"38%-!N"N%,Q4[B`#31e!!N!-36@&M6e-J0MK
|
||||
,)%aTEQYPFJ#3-"T"8&"-!*"!B!#3!d&`F'`!N%"J!*!$68e-3J#3)!j-D@)J5@e
|
||||
`Eh*d)$Bi5`#3&8e36%B!N#!16'PL)%PYF'pbG#!f1%X!N"909d0%!*"!B!#3!dp
|
||||
#5L!!N#!169"A)%PYF'pbG#!f1%X!N"958e*$!*"!B!#3!e4&@&3$,Q*SF(0c!!!
|
||||
#R$J!N!J"U$h3!*!%!P0km!a#B@aXEfpZ)%KPE("36LK3!*!$!DJpd2q3!rd#8$F
|
||||
B!*!%9%9B9!)ZB`#3(3a09b"$,d-V+b!f1%X!N"G849K8"#jM+bX!N"X-69FJ3bp
|
||||
$+bXJ0MK,!*!A9%9B9!-ZBf-!N"`-69FJ3bp$+bXJ0MK,!*!A9%9B9!-ZBh!!N"`
|
||||
-69FJ3bp$+bXJ0MK,!*!A9%9B9!3ZBh"`!*!E$%eA)%-[3bXV)$Bi5`#3&e4&@&3
|
||||
%,Q9iF!#32e4&@&3#,QJ!N"d-69FJ3bp$+bXJ0MK,!*!6%!#3!e4&@&3#,R!!N"d
|
||||
069FJ8'&cBf&X)$Bi5`#3&P4&@&3%,R"KF`#3'`e09b"3BA0MB@`J0MK,!*!@9%9
|
||||
B9!3ZF'0S!*!E$%eA)%-[3bXV)$Bi5`#3%i!!N!0849K8"Lj`BfJV+`#3'3a09b"
|
||||
$,d-V+b!f1%X!N"1!!*!$9%9B9!)ZFJ#3(305CAS!N#"849K8"#jcC@HS2B!!!T`
|
||||
i9%9B9!)ZFQP`Fh-!!!+F1!#3#!'S2G!!N!3#8hV`!e*PHJ'S2F!"F4KJ!P"1+!#
|
||||
3"'4[Bh8!N%"J!*!$FR0bB`#33'!!N!0cD'aL!*!J$P"&4L"*EA"[FR3J0MK,!*!
|
||||
9Fh4eBJ#3)!j348BJ5@e`Eh*d)$Bi5`#3'33ZC'pM!*!l8!#3!a"AD@ic-L"i1$B
|
||||
J6'PZDf9b!*!`$94&@&3#,Q-!N"d-69FJ3bp$+bXJH$Jf!*!A9%9B9!3ZBbXV!*!
|
||||
E$%eA)%-[3bXV)(Ji0J#3&e4&@&3$,Q0`!*!F$%eA)%-[3bXV)(Ji0J#3&e4&@&3
|
||||
%,Q0`F!#3'`a09b"$,d-V+b"i1$B!N"G849K8!Lj`Ef0XpY!!"&(B!"8b-!!!"'X
|
||||
'h2E3!"6U)2rr")N069FJ8'&cBf&X)(Ji0J#3"JEFp`!!&1SJ"(ChX!#3"&4&@&3
|
||||
%,R"KFfcfd!!%8GJ!&6)`!!!%D`EFpY!!&1SJrrm%L3e09b"3BA0MB@`JH$Jf!*!
|
||||
'"Ych!!!8kL!%GRH`!*!%9%9B9!3ZF'0S!*!E$%eA)%-[3bXV)(Ji0J#3%i!!N!0
|
||||
849K8"Lj`BfJV+`#3'3a09b"$,d-V+b"i1$B!N"1!!*!$9%9B9!-ZFQ-!N"`)69F
|
||||
J9fPZ8N-!N"Y849K8"#jbCA13!`!!!T`i!*!)!DJpd!#3"!*6H[!09fPZ8Q9c)%P
|
||||
YF'pbG%iS8!#3!`'S2G$rN!2p!P!h'!#3#!3ZC'pM!*"$"#jXD@)!N"X16'PL)%P
|
||||
YF'pbG#"i1$B!N"N%,QpLDJ#3'`j2BQSJ5@e`Eh*d)(Ji0J#3&3P03b"-D@jVCA)
|
||||
!N$F63da98`!ZC'9QE+2!!!+F1!!@I$"SrrG!!IDM`!!@0#!!&NAm!*S"ai3iSr!
|
||||
!&ZlN!*!)!IDMm!!@0#!#@12X3!#3!de03dJ!N%4068a#!#jNEf0XSm!!!T`i!"C
|
||||
m-'Mrpd!"pU2!!"Bd)!!@4I`16'PL)%PYF'pbG#!f1%X!N!8"pU2`!"Bd)!*Be!J
|
||||
!N!408%a'!#jNEf0XSm!!!T`i!"Cm-'Mrpd!"pU2!!"Bd)!!@4I`16'PL)%PYF'p
|
||||
bG#!f1%X!N!8"pU2`!"Bd)!*Be!J!N!423NSJ!#jNEf0XSm!!!T`i!"Cm-'Mrpd!
|
||||
"pU2!!"Bd)!!@4I`169"A)%PYF'pbG#!f1%X!N!8"pU2`!"Bd)!*Be!J!N!4849K
|
||||
8!LjM!*!G#%e$)%-[3bXV!*!E9%9B9!3ZBbXVE+2!!!+F1!!@I$"SrrG!!IDM`!!
|
||||
@0#!!&NAm$%eA)%-[3bXV)$Bi5`#3"`(fSr!!&M3J!PM8#!#3"&4&@&3$,Q0M+fb
|
||||
M`!!#R$J!&R``D2rh3!(fSm!!&M3J!"C&r!a09b"$,d-V+b!f1%X!N!F"pU2`!"B
|
||||
d)!*Be!J!N!4849K8"#jME(-!N"X468-J3faKFh-J3fpYF'PXCA)!N!k!!*!$9%9
|
||||
B9!-ZBh!VE+2!!!+F1!!@I$"SrrG!!IDM`!!@0#!!&NAm$%eA)%-[3bXV)$Bi5`#
|
||||
3"`(fSr!!&M3J!PM8#!#3"&4&@&3%,Q0`F'bM`!!#R$J!&R``D2rh3!(fSm!!&M3
|
||||
J!"C&r!a09b"$,d-V+b!f1%X!N!F"pU2`!"Bd)!*Be!J!N!4849K8"#jNC@B!N$p
|
||||
849K8"#jNEf-!N$X3!*!$9%9B9!)ZD!#324!!N!0849K8!Lj`BfJV+m!!!T`i!"C
|
||||
m-'Mrpd!"pU2!!"Bd)!!@4I`069FJ8'&cBf&X)$Bi5`#3"J(fSr!!&M3J!PM8#!#
|
||||
3"&4&@&3%,R"KFbXV`!!#R$J!&R``D2rh3!(fSm!!&M3J!"C&r!e09b"3BA0MB@`
|
||||
J0MK,!*!'!IDMm!!@0#!#@03)!*!%9%9B9!3ZF'0S!*!E#%e$)%-[3bXV!*!AJ!#
|
||||
3!e4&@&3',R"MD#XV`!!#R$J!&R``D2rh3!(fSm!!&M3J!"C&r!a09b"$,d-V+b!
|
||||
f1%X!N!F"pU2`!"Bd)!*Be!L!!*!$9%9B9!-ZG(-!N%!,5Q&fB5"-D@jVCA)!N$8
|
||||
139"36!"cQk`"U$f!!!+F1!!@453!N!N@l%3!N"J"U$h!!*!%!P"1+'!!N!0"F("
|
||||
X!(1EV!'S2B!!!T`i!"C&*!#3#4EX4!#3'!'S2F!!N!3#8%iSB!#3!d0XFh-!,Q0
|
||||
XBA0c!!!#R$J!N!J"U$h3!*!%!P0km!G09b"+BACK!A%BB("36LKJ!*!$!DJpd2q
|
||||
3!rd#8$FB!*!%69G$4!"cQk`"U$f!!!+F1!!@453!N!N@l%3!N"J"U$h!!*!%!P"
|
||||
1+'!!N!058e*$!(1EV!'S2B!!!T`i!"C&*!#3#4EX4!#3'!'S2F!!N!3#8%iSB!#
|
||||
3!e4&@&3$,Q*S!*!&!T`i!*!)!DJpd!#3"!*6H[!-3Q&XE'p[EL")C@a`8%iSB!#
|
||||
3!`'S2G$rN!2p!P!h'!#3"&4&@&3&,QKdE@bM`!!#R$J!&R``D2rh3!(fSm!!&M3
|
||||
J!"C&r!#D!FH%1+2`!"EZj!!9Jm3!N!3"pU2`!"Bd)!*Biq`!N!4849K8"5jUBAC
|
||||
K!*!$!T`i!*!)!DJpd!#3"!*6H[!(69FJ5Q&fB3&a''"`8%iSB!#3!`'S2G$rN!2
|
||||
p!P!h'!#3"&4&@&3#,R*TF(0c!!!#R$J!N!J"U$h3!*!%!P0km!05CAT+BACK!A%
|
||||
BB("36LKJ!*!$!DJpd2q3!rd#8$FB!*!%@NP3)!!ZHQP`Fh-!!!+F1!#3#!'S2G!
|
||||
!N!3#8hV`"deA)%TKGQ%"F4KJF&"1+'!!N!-"U$h3rj!$r3*30aJ!N!4NEf0e!(1
|
||||
EV!'S2B!!!T`i!"C&*!#3#4EX4!#3'!'S2F!!N!3#8%iSB!#3!h*cFQ-!FjZX!DJ
|
||||
pJ!!#R$J!&N8N!*!*&Za%!*!B!DJp`!#3"!*36LKJ!*!("LjME'&cF`!!!T`i!*!
|
||||
)!DJpd!#3"!*6H[!(69FJ5Q&fB3&a''"`8%iSB!#3!`'S2G$rN!2p!P!h'!#3#!3
|
||||
ZHQP`Fh-!!!+F1!#3#!'S2G!!N!3#8hV`"deA)%TKGQ%"F4KJF&"1+'!!N!-"U$h
|
||||
3rj!$r3*30aJ!N!F'!!%"!*!&!RB!!3#3)3CKG'pdD@0YC3#30`%!!!%!!3!!!J%
|
||||
k!*$q!3!!!3%k!*$r!*!)&J!&!3#3"`%!N!N"!*!%#J!"!3!!!3%!!3#3"!i!"`%
|
||||
!!3%!!3%!N!-"!*!%aJ!(!!!&5P05C@BZF(*U3b"$,d-V+bke!*!Y2j!%39"36!!
|
||||
!!B"BJ!#33Mq3"!#3#98"N!!"#3*l!*!1!B!!N"%i!!N!!3#3"3Y0B@03FQ9QDAJ
|
||||
ZD'J!N#8-!!-!N!`"fJ!%!*!3!3#3r`#34&pIFh4KFR3!N(`"!*!$$!!"N!-!N!S
|
||||
"GJ!'!!!&B5jkDA!!N2m!N"pD59!J5N&@38T"9N%26@9dFQphCA*VFb"+BACK)&-
|
||||
L8L!T!6#`U!%`CN"96b"55'J!*#"65'J!*%)R(c`!!8kj!!!D"K!I5J"R)&92!*!
|
||||
&"!!#!*!&"!!$&,F!N!1+!!S!N!F+"8T68Q9Q,R"bDJ#3&JP+8e*PCLjcH@ejE3#
|
||||
3&!e6HA0dC@e$E'&cFf9c!*!5"N*eEQ4XC3#3($J!$3#3"`%!N#8"!*!&!3#3"3d
|
||||
!!J#3$K3!!`)"N!-!!3#3$`S!!C!$!!!"!3!"!*!$a!!'`!#339pIFh4KFR3!N(X
|
||||
"&J!'!*$r!*!BZJ!%!!!&5P05C@BZF(*UEfaP)&"33`#3$cq3"%&38%`!!!'!!!!
|
||||
"J!#3!d!!!&M!!*"K!6q3"!#3"e8"N!!"#3*l!*!0,J!#!*!$!J!#!*!S!J`!!J"
|
||||
3!!%!!3!"!!%!N2m!&#G$6d4&*b!R4%&835FJ*e"*3e3R!*$Y!N3!!J#3r`#3r`#
|
||||
34b3!!3#3*4)!!`%!!!-"!!%"!*!,NJ!%!!%!N%%#!!-!#J#343%"!*!%5J!"!!!
|
||||
&5P05C@BZF(*U3b"$,d-V+bke!*!13!#3"!3!N!3%!!!%!*!%"!"9!C!!!3N#H`#
|
||||
3$3`!"3%!N!a'C[83J$rP-M!!"!#3#,#9"ff`P3G[!*!3"A"MD'9Z!!-a,M-!#8T
|
||||
68Q9Q,R"bDJ#3#6MkZ`!$!*!$!3#3"!P+8e*PCLj`FQS!!c%Z-`#3!`-YDfm!N!`
|
||||
*ER-[DR-[FQ9Q!!!"!*!$0b%!!$BK!!!%*!-JCiJS#!#3!a`#*J!%F&CPFJ#3!bT
|
||||
`FQ9Q!#-!0P088L-!!!(QBfYTC!!!!I*YBhCc!!!"rJ#3$")'!"!!N!-'!*!%G5J
|
||||
!&`#3!cJ!N!4$V`!F!*!$KJ#3"$T5!#-!!!+D!*!%&Ii!-J!!!V)!N!42#`"#!!!
|
||||
#d!#3"'Kh!%m!!!I`!*!%6jF!9J!!*2)!N!42D3"M!!!Nr!#3"&jJ!'d!!#Gf!*!
|
||||
%$`B!H3!!*j!!!*!%HZ!!LJ!!*ji!N!3TZ!#9!!!RX!#3""dc!+%!!#Kk!*!%1"i
|
||||
!X!!!+,B!N!4Eh!#r!!!SaJ#3"&((!-B!!#UN!*!%$8F!d`!!+V3!N!3I%J$J!!!
|
||||
X,J#3"(Kr!2N!!#`f!*!%%Fi"#J!!,$i!N!3I(3%F!!!Xc!#3"!Nm!5`!!#d)!*!
|
||||
%DJi"2!!!,4N!N!3AQ!&)!!!Y-3#3"!IA!9N!!#dr!*!%@#B"C!!!,JF!N!44AJ&
|
||||
X!!![)3#3""4)!AJ!!#rI!*!%HXi"K3!!-"%!N!4$!J'5!!!b)3#3"%-Z!D8!!$4
|
||||
T!*!%1!8"Y!!!0*%!N!33N`(!!!!dT`#3"%Rc!FX!!$8p!*!&b2rr!!!eL`#3"!2
|
||||
`rrm!!!+8!*!&J!(A!!!eQ`#3"B!"jJ!!0H8$0Rq3!!p3FQpUC@0d)&CPFR0TEfi
|
||||
'4@4TG'pb"%C[ER3'4AKdFQ&c$P"bEfTPBh3J4AKdFQ&c$d0eFh4[E5",CAPhEh*
|
||||
NF`a"Bf0PFh-J8'&dD(-'9'&bCf9d$%*eD@aN)%9iG(*KF`P@3e-J8f9dGA!,0MK
|
||||
,)%0[C'9(C@i30MK,)%4TFf&cFf9YBQaPFJSf1%XJ6'PZDf9b#cBi5b"3FQpUC@0
|
||||
d$N-[3bXV)%0[EA"TE'9b$N-[3bXV)&GKFQjTEQGc"N0'66Bi5`a*8L"2F(4TE@P
|
||||
kCA)-5Q&fB5"3FQpUC@0d'%eKCfPM)%0KF#"$E'&cFb"$Efe`D@aPFK"0B@GTBb"
|
||||
$BA!J6'PZDf9b%8eKCfPM)%0KF#"3FQpUC@0d$e"KFf0KE#"$Efe`D@aPFJp3BA0
|
||||
MB@`J9f&bEQPZCh-,8&"$)%0[C'9(C@i38&"$)%4TFf&cFf9YBQaPFJT38%-J6'P
|
||||
ZDf9b"e"33b"348B,8&"$)&"bEfTPBh3-8&"$3A0Y)&"KEQ9X$&*PHL"$Efe`D@a
|
||||
PFK*8EfpX4R*[ER4&EQ3J8'&ZC@`19fPZ8N-J3fpYF'PXCA),H$Jf)%0[C'9(C@i
|
||||
+H$Jf)%aTEQYPFJYi1$BJ8(*[DQ9MG!j3FQpUC@0dEh)J4'&dB4G0B@0$9P-J9Q9
|
||||
bFfP[EL"5CA0[GA*MCI-6:
|
||||
BIN
mozilla/js/ref/JSRef.prj2
Normal file
BIN
mozilla/js/ref/JSRef.prj2
Normal file
Binary file not shown.
677
mozilla/js/ref/JSRef.prj2.hqx
Normal file
677
mozilla/js/ref/JSRef.prj2.hqx
Normal file
@@ -0,0 +1,677 @@
|
||||
(This file must be converted with BinHex 4.0)
|
||||
:#NT68Q9Q,R"bDM)!68e3FN0A588"!!!!I%i!!!)S)d4MEfpX!!!!!`!!!5J!!(A
|
||||
Q!!"h$J!!"8!!!!!i!3)"!!!!!!!!!!!!3fpNC9GKFR*TEh)J8(*[DQ9MG!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&!3$rr`!
|
||||
!!!!!!!!!rrm"!3%"!3!!!!!H!3%!!!!!!!!!!*QC!!!rrcrr2rm!!3!*"Ne[EQ&
|
||||
ME`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!#J!#J(#!S!!+!!+!F)#J!!
|
||||
!!!!!!!!!!!!!!!!!!!!"!!!&!!Y6D@e`E'8J3Q9PF!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!!3Y6D@e`E'8
|
||||
J3Q9PF!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!"!%)#(J*T!ji!A3!",1X!!6B*5P05C@Bk4@4TG'pb!%T68Q9
|
||||
Q1NC[ER3!5P05C@Bk4AKdFQ&c!%T68Q9Q1P"bEfTPBh3J4AKdFQ&c!%T68Q9Q1N0
|
||||
eFh4[E5",CAPhEh*NF`"+8e*PCMT"Bf0PFh-J8'&dD(-!5P05C@Bk3R9TE'3J4AK
|
||||
dFQ&c!%T68Q9Q1MBi5b"$Ef4P4f9Z!%T68Q9Q1MBi5b"%DA0KFh0PE@*XCA)!5P0
|
||||
5C@Bk0MK,)%aTEQYPFJ"+8e*PCMSf1%XJ8(*[DQ9MG!"+8e*PCMT$,d-V+b"$Efe
|
||||
`D@aPFJ"+8e*PCMT$,d-V+b"ABA*ZD@jRF`"+8e*PCMT$4Ndf1%X!5P05C@Bk59)
|
||||
J6h"dD@eTHQ9b!%T68Q9Q1NTKGQ%J8(*[DQ9MG!"+8e*PCMT0B@GTBb"$BA!J3fa
|
||||
KFh-J3fpYF'PXCA)!5P05C@Bk6@&RD@-J3f&`)%aTEQYPFJ"+8e*PCMT0B@GTBb"
|
||||
$BA!J8(*[DQ9MG!"+8e*PCMT3BA0MB@`J3fpYF'PXCA)!5P05C@Bk8'&cBf&X)&G
|
||||
KFQjTEQGc!%T68Q9Q1P"33b"$Ef4P4f9Z!%T68Q9Q1P"33b"%DA0KFh0PE@*XCA)
|
||||
!5P05C@Bk8&"$)%aTEQYPFJ"+8e*PCMT38%-J8%9'!%T68Q9Q1P"33b"3FQpUC@0
|
||||
d!%T68Q9Q1P"33d&cE5"3B@jPE!"+8e*PCMT5CASJ3fpYF'PXCA)!5P05C@Bk9'p
|
||||
[E%CbEfjd4@jN)&"KEQ9X!%T68Q9Q1PGTEP*$)%0[EA"TE'9b!%T68Q9Q1RJi0L"
|
||||
$Ef4P4f9Z!%T68Q9Q1RJi0L"-D@jVCA)!5P05C@BkH$Jf)&"bEfTPBh3!5P05C@B
|
||||
k9'&bCf9d)&0PG(4TEQGc!%T68Q9Q1NCTE'8J6@&`F'PZCh-!8(*[DQ9MG#"'D@a
|
||||
P)%aTFh3!5P05C@Bk5Q&fB5"2GA4`GA3!5P05C@Bk5Q&fB5"@63"+8e*PCMT0B@0
|
||||
28b"0CA*RC5"3B@jPE!"+8e*PCMT+BACK)%aKEQGeB@GP!%T68Q9Q1NTKGQ&%Ef-
|
||||
J8(*[DQ9MG!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!"!!!!!!!!!!d!!!!#!!!!!!!!!"J!!!!$!!!!!!!!!#8!!!!%!!!!!!!
|
||||
!!$S!!!!&!!!!!!!!!&!!!!!'!!!!!!!!!'-!!!!(!!!!!!!!!(B!!!!)!!!!!!!
|
||||
!!)J!!!!*!!!!!!!!!*m!!!!+!!!!!!!!!,!!!!!,!!!!!!!!!-)!!!!-!!!!!!!
|
||||
!!0F!!!!0!!!!!!!!!1`!!!!1!!!!!!!!!2N!!!!2!!!!!!!!!3`!!!!3!!!!!!!
|
||||
!!4m!!!!4!!!!!!!!!6i!!!!5!!!!!!!!!98!!!!6!!!!!!!!!@d!!!!8!!!!!!!
|
||||
!!B-!!!!9!!!!!!!!!CN!!!!@!!!!!!!!!DX!!!!A!!!!!!!!!F)!!!!B!!!!!!!
|
||||
!!G-!!!!C!!!!!!!!!H%!!!!D!!!!!!!!!I-!!!!E!!!!!!!!!JB!!!!F!!!!!!!
|
||||
!!KN!!!!G!!!!!!!!!M)!!!!H!!!!!!!!!NF!!!!I!!!!!!!!!PN!!!!J!!!!!!!
|
||||
!!QS!!!!K!!!!!!!!!R`!!!!L!!!!!!!!!T)!!!!M!!!!!!!!!UB!!!!N!!!!!!!
|
||||
!!VJ!!!!P!!!!!!!!!XS!!!!Q!!!!!!!!!YJ!!!!R!!!!!!!!![!!!!!S!!!!!!!
|
||||
!!`3!!!!T!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!F!!!!)!!!!#3!!!!S!!!!&!!!!"J!!!!X!!!!-!!!!$3!!!!3!!!!!!!!!!J!
|
||||
!!#)!!!!"!!!!$J!!!#F!!!!N!!!!$`!!!#8!!!!S!!!!*J!!!"!!!!!4!!!!%J!
|
||||
!!"-!!!!8!!!!&3!!!"B!!!!A!!!!'!!!!"N!!!!D!!!!!`!!!"X!!!!K!!!!(!!
|
||||
!!"d!!!!H!!!!(`!!!#!!!!!M!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!S!!!!!`!!!#-!!!!"!!!!+J!!!#8!!!!+!!!!"!!
|
||||
!!!8!!!!'!!!!"`!!!!J!!!!*!!!!#`!!!!`!!!!0!!!!$J!!!!m!!!!3!!!!%3!
|
||||
!!")!!!!6!!!!&!!!!"8!!!!!!!!!&J!!!"F!!!!B!!!!'3!!!"S!!!!e!!!!+3!
|
||||
!!!)!!!!Q!!!!-J!!!$%!!!!d!!!!-`!!!#X!!!!X!!!!*`!!!$!!!!!Z!!!!'`!
|
||||
!!"`!!!!G!!!!(J!!!"m!!!!J!!!!)3!!!#)!!!!Y!!!!*!!!!#m!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!!(rr!!!!!(rr!!!!!(r
|
||||
r!!!!!(rr!!!!"!%"!!%!"J%!!!!!!!!!!3!!!!!!!!!!!!%!!!!!!3%!!!%"!!%
|
||||
!!!F"!!%"!!%"!!!!!3!!#`!"!!!!!!!,6@&M8(*PCQPi,QKS!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-"!3%"!!%!!3%!!!%"!3!!!!!!!!!
|
||||
!!!)!!!!!!!!!!!!!!!!$!J%"!3!"!!!!!!!!!!!!!!!!!!%"!3!!!3%!!8m!!!!
|
||||
#!!!!!a5h!!S!!!!!!!!!#J9+8e*PCLj`FQS!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!#8T68Q9Q,R0jEAPY!!!!!!!!!!!!!!!!!!!!!!!!!!!08hPcG'9Y3faKFh0PF`!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!C#G@jNE'8!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!5P05C@B!38j655"-D@*bBA*TCA-!6@&M)%aTBR*KFQPPF`""6P0*)%-V+bj38%-
|
||||
Z6'PL!'TcBA"T,Q-!DR0KFR*KH5jM!'TcBA4[E5jM!'TcBQp[E#jM!'TcBfjdH(3
|
||||
ZB`"UFf4KG'8ZB`"UFbjM!'TcC'*RBA"T,Q-!DR0PE@Pd,Q-!DR0QG@iZB`"UFfG
|
||||
M,Q-!DR0TER4PFR!ZB`"UFfa[BfXZB`"UFfeKG'JZB`"UFfjeE5jM!'TcEf*U,Q-
|
||||
!DR0[F'0[C'8ZB`"UFh"KFR0P,Q-!DR0bC@GPH(!ZB`"UFh0MB@iZB`"UFh0MEh"
|
||||
P,Q-!DR0cBh*TF(3ZB`"UFh0dFLjM!("bBA*PEQ%ZB`"`FQ&cFf9bG#jM!("bC(4
|
||||
[B5jM!("bD'&cD#jM!("bE'pR-LjM!("bE'pZCbjM!("bF(*TER4Q,Q-!F(*dD@e
|
||||
P,Q-!38j655"$,P"33bj-D@)!8dP299JZ8&"$,NaTBJ"*ER4PFQCKBf9-D@)!6@&
|
||||
dD%aTBJ"09d05G@jdD@eP,NaTBJ!k5P05C@B!6'PL)%PYF'pbG#"38%-!3Q&XE'p
|
||||
[EL")C@a`!%eA)%-[3bXV)&"33`"09b"3BA0MB@`J8&"$!&*PHJ"38%0"Ffd!@%0
|
||||
24NBJ5@e`Eh*d)&"33`"348BJ5@e`Eh*d)&"33`"08d`J3bj38%-Z6'PL!%e66#"
|
||||
$+bXZ8&"$,NaTBJ"08d`J8dP299JZ8&"$,NaTBJ"08d`J8R9ZG'PYC9"33bj-D@)
|
||||
!DR0iC(*KF'NZB`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!!!!!!!B!!!!#!!!!!!!!!"8!!!!
|
||||
$!!!!!!!!!#-!!!!%!!!!!!!!!$3!!!!&!!!!!!!!!$`!!!!'!!!!!!!!!%B!!!!
|
||||
(!!!!!!!!!%m!!!!)!!!!!!!!!&J!!!!*!!!!!!!!!')!!!!+!!!!!!!!!'X!!!!
|
||||
,!!!!!!!!!(!!!!!-!!!!!!!!!(X!!!!0!!!!!!!!!)3!!!!1!!!!!!!!!)`!!!!
|
||||
2!!!!!!!!!*-!!!!3!!!!!!!!!*i!!!!4!!!!!!!!!+F!!!!5!!!!!!!!!,!!!!!
|
||||
6!!!!!!!!!,J!!!!8!!!!!!!!!-!!!!!9!!!!!!!!!-X!!!!@!!!!!!!!!08!!!!
|
||||
A!!!!!!!!!1!!!!!B!!!!!!!!!1N!!!!C!!!!!!!!!2-!!!!D!!!!!!!!!2i!!!!
|
||||
E!!!!!!!!!3B!!!!F!!!!!!!!!4!!!!!G!!!!!!!!!4X!!!!H!!!!!!!!!53!!!!
|
||||
I!!!!!!!!!5d!!!!J!!!!!!!!!6B!!!!K!!!!!!!!!6m!!!!L!!!!!!!!!8S!!!!
|
||||
M!!!!!!!!!9-!!!!N!!!!!!!!!@)!!!!P!!!!!!!!!A!!!!!Q!!!!!!!!!Ad!!!!
|
||||
R!!!!!!!!!B8!!!!S!!!!!!!!!C3!!!!T!!!!!!!!!CX!!!!U!!!!!!!!!DS!!!!
|
||||
V!!!!!!!!!EF!!!!X!!!!!!!!!F3!!!!Y!!!!!!!!!G)!!!!Z!!!!!!!!!GB!!!!
|
||||
[!!!!!!!!!Gd!!!!`!!!!!!!!!Hi!!!!a!!!!!!!!!Id!!!!b!!!!!!!!!JX!!!!
|
||||
c!!!!!!!!!KX!!!!d!!!!!!!!!Ld!!!!e!!!!!!!!!N!!!!!f!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!)!!!!!3!'!!!!"!3!!!N!!3!"1J!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!rrrrr`!!!!)!!J!"1NePG(*[Gf9bDh-
|
||||
J8h4KEQ4KFQ3J6'PLFQ&bH6T08d`J3cT#D@ik!()k6@9dFQphCA*VFb"6G'&ZC'&
|
||||
bC#"-D@*bBA*j1Ne66#"$1N*TEMS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!rrrrr`!!!!-!!J!"1NePG(*[Gf9bDh-
|
||||
J8h4KEQ4KFQ3J6'PLFQ&bH6T08d`J3bXV1N*TEMS!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!rrrrr`3!!!F!!J!"1NePG(*[Gf9bDh-
|
||||
J8h4KEQ4KFQ3J6'PLFQ&bH6T08d`J3cT08d`J3fpYE@pZ1P"eBQaTBb"*EQ0XG@4
|
||||
PFcS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!rrrrr`3!!!8!!J!"1NeKBdp6)&0eF("
|
||||
[FR3k6@&M5'9KC'9bFcS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!rrrrrd!!!!)!!J!"1NeKBdp6)&0eF("
|
||||
[FR3k6'PLFQ&bD@9c1J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!rrrrrd!!!!-!!J!"1NeKBdp6)&0eF("
|
||||
[FR3k5'9KC'9bFcS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!rrrrr`3!!!J!#!!!"8T68Q9Q,R"bDN-
|
||||
J3bp$+bXZY3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!$mr2cp"8&"-!!!"J&L!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2cmr2`!!!!!!!!!
|
||||
!!&8"N!!"#3*l!!!!!!!!!!!!!!!!!!!"J!!!!!!!!!!!!!!!!!!!!!3!!!!!!!!
|
||||
!!!!!!!!!!!!!!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Aep
|
||||
cG'&bG!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!J!!!"K,RTTF!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"D59!J5N&
|
||||
@38T"9N%26@9dFQphCA*VFb"+BACK)&-L8L!T!6#`U!%`CN"96b"55'J!*#"65'J
|
||||
!*%)R(c`!!8kj!!!D"K!I5J"R)&92!!!!!%MR'#!NEJ!)"B-0J!!!!!!!!!,3"B-
|
||||
EN!!!!!%!!!")+3!!4bN&J`R3"8PAZ#%1!!!!(!0k!"YSC'aR!!!!iP088L-!!`$
|
||||
Z689193!"!4j8BA*R!!!"0N019%`!!J&#C'0dBJ!!!@CTBf`d!!!"FQPME$J!!!&
|
||||
q5801)`!!!BTTBh-M!!!"PQPMFc3!!%T"9N%26@9dFQphCA*VFb"+BACKE@3!!3(
|
||||
HD@0dBJ!!!IC%594-!!!#!N4-4eJ!!!)14%a24`!!!KT38'pL!!!#*P*T!%`!!!)
|
||||
b9%e36!!!!Mj`FQ9Q!!!#5Q&PG'8!!!*@8e45)!!!!Q*8H(4b!!m#ENCXB@F!!!-
|
||||
ZGQ9bF`!"!cT%FQp`!!!$8J#!rrmJ!!!!!!!!!'KN!!!J!!&+!!!!!!%Xrrm!!!4
|
||||
c!!!!!!%Z!$NJ!!5k!!!!!!%Y!%B!!!6a!!!!!!4S!"8!!!1q!!!!!!4T!#)!!!3
|
||||
G!!!!!!#!!#`!!!4K!!!!!!4TrrmJ!!8E!!!!!!4UrrmJ!!8l!!!!!!4VrrmJ!!9
|
||||
F!!!!!!#!rrm!!!@-!!!!!!#!!&%!!!A!!!!!!!#!!'S!!!I%!!!!!!#!!)-!!![
|
||||
)!!!!!!#!!*!!!!!-c!!!!!!!J!#T!!!0%!!!!!!!J!$#!!!0P!!!!!!%DIrr!!!
|
||||
1Q!!!!!!%D[rr!!!1a!!!!!!%Drrr!!!1m!!!!!!%DIrr!!!2(!!!!!!%D2rr!!!
|
||||
2,J!!!!!!J2rr!!!24!!!!!!!J!$E)!!2I!!!!!!!J2rr!!!3MJ!!!!!!J!$P)!!
|
||||
4J!!!!!!!J!$i!!!4Y!!!!!!!J!%#!!!CV!!!!!!!J!%-)!!C[J!!!!!!J!%4!!!
|
||||
DE3!!!!!!!!%H!!!HZJ!!!!!!J!%Q!!!K5J!!!!!!JJ%i)!!K@J!!!!!!K!&-)!!
|
||||
KE`!!!!!!K3&G)!!KK!!!!!!!KJ&h)!!KQ3!!!!![#R9+593!aqIJ!!!!!!!!!3!
|
||||
%ar"!!!!"!!!!1dJ!!$T)"-INm!5bpX!UQJ!!!"`"5J!,689193!#!'*8BA*R!!!
|
||||
!KP088L-!!J#58&"[BJ!!!,C5D@4-!!!!`Q&PG'8!!!$18e45)!!!!0T'E'&R!!!
|
||||
!jP408%`!!!$bF(*PCJ!!!2jfCA*c!!%"#N4bEh!!!!%L"'J!!!!!!!!!!!!!"'N
|
||||
!$3!!!&m!!!!!"'S!&`!!!+-!!!!!!)!!'`!!!2J!!!!!!5crr`!!!3S!!!!!!5i
|
||||
!+#!!!9%!!!!!!5d!03!!!BJ!!!!!!)!!3!!!!E)!!!!!!)!!5J!!#ki!!!!!!!!
|
||||
!9!!!!!i!!!!!!!!!!3!!!!!+99"*,R"bC@CTH!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!"!!!!!!!"!!%!"`%"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&pIFh4KAepcG'&bG!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!F!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!"3!!"8T68Q9Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!r2cmr39"
|
||||
36!!!!B!!!!'!!!!!3!!!@-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!6mr2cm!!!!!!!!!!J!!!!)!!J!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+3!!!%!!!!-D!!!%!!!!!#N
|
||||
!rhrrIrprrhrrIrprrhrrIrprr`!#!!!25Q&fB80XBA0cCA-ZDQ&b!!!!!!!!!!!
|
||||
!!!!!!!!!!&T*8#"09eT3!!!!!!!$!!%!!!P0CA*RC5"2GA3!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!r2cmr39"
|
||||
36!!"!3!!"%4-4eKMDfPN8(*[DPG68%-!!!!Q!!!!43%!!!!"!!!U!!!!0J!!!%!
|
||||
!!!*,!!!%!!!!!$B!4%&835FJ*e"*3e3R!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!3!!!`%!!!!
|
||||
!"!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!!-!#J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%
|
||||
"!!!"!!!&5P05C@BZF(*U3b"$,d-V+bke!!!!!!!!!!!!!!!!!!"!!!!!!!3!!!!
|
||||
!"!!!"!!!!!!%!&8"N!!"#3*l!!!!!!!!!!!!!!!'!!!25Q&fB80XBA0cCA-ZHQP
|
||||
`!!!!!!!!!!!!!!!!!!!!!&T*8#"+39C"!!!!!3!!!3!!!J%!!!-"!!!%!3!!"3%
|
||||
!!!B"!!!(!3!!#!%!!!N"!!!+!3!!#`%!!!`"!!!0!3!!$J%!!!m"!!!3!3!!%3%
|
||||
!!")"!!!6!3!!&!%!!"8"!!!@!3!!&`%!!"J"!!!U!3!!'3%!!"S"!!!E!3!!(!%
|
||||
!!"d"!!!H!3!!(`%!!#!"!!!Q!3!!*`%!!#J"!!!M!3!!*!%!!#N!!!!"!!!!!3%
|
||||
!!!)!!!!!!!!!!!!%!!%!!!!TX5aeU!!!,[i!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!3!!!!)!!!!$!!!!"!!!!!8!!!!'!!!!"`!!!!J!!!!*!!!!#J!
|
||||
!!!X!!!!-!!!!$3!!!!i!!!!2!!!!%!!!!"%!!!!5!!!!%`!!!"3!!!!9!!!!&J!
|
||||
!!"F!!!!B!!!!'3!!!"S!!!!E!!!!(!!!!"d!!!!H!!!!(`!!!#!!!!!K!!!!)J!
|
||||
!!#-!!!!N!!!!*3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!!!!!!!!!!!!
|
||||
#!!%!+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!&!!!3!"!!%!!3!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!8*d024%8R)#G%394"*b!R8%P$9#F!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(!!"0B@028b"38%-J6'PZDf9
|
||||
b!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"+8e*PCJ!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!%!!6S!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!!!)!!!!
|
||||
&!J%!!!!!!!%!!3%!!!!!!!!!!!!!!!!"!!!!!!!!!!!"!!!$!!!!"J)"!!!!!!!
|
||||
"!!%"!!!!!!!!!!!!!!!!!3!!!!!!!!!!!3!!"!!!!!F#!3!!!!!!!3!"!3!!!!!
|
||||
!!!!!!!!!!!%!!!!!!!!!!!%!!!8!!!!)!J%!!!!!!!%!!3%!!!!!!!!!!!!!!!!
|
||||
"!!!!!!!!!!!"!!!'!!!!#3)"!!!!!!!"!!%"!!!!!!!!!!!!!!!!!3!!!!!!!!!
|
||||
!!3!!"`!!!!S#!3!!!!!!!3!"!3!!!!!!!!!!!!!!!!%!!!!!!!!!!!%!!!J!!!!
|
||||
,!J%!!!!!!!%!!3%!!!!!!!!!!!!!!!!"!!!!!!!!!!!"!!!*!!!!$!)"!!!!!!!
|
||||
"!!%"!!!!!!!!!!!!!!!!!3!!!!!!!!!!!3!!#J!!!!d#!3!!!!!!!3!"!3!!!!!
|
||||
!!!!!!!!!!!%!!!!!!!!!!!%!!!X!!!!1!J%!!!!!!!%!!3%!!!!!!!!!!!!!!!!
|
||||
"!!!!!!!!!!!"!!!-!!!!$`)"!!!!!!!"!!%"!!!!!!!!!!!!!!!!!3!!!!!!!!!
|
||||
!!3!!$3!!!"!#!3!!!!!!!3!"!3!!!!!!!!!!!!!!!!%!!!!!!!!!!!%!!!i!!!!
|
||||
4!J%!!!!!!!%!!3%!!!!!!!!!!!!!!!!"!!!!!!!!!!!"!!!2!!!!%J)"!!!!!!!
|
||||
"!!%"!!!!!!!!!!!!!!!!!3!!!!!!!!!!!3!!%!!!!"-#!3!!!!!!!3!"!3!!!!!
|
||||
!!!!!!!!!!!%!!!!!!!!!!!%!!"%!!!!8!J%!!!!!!!%!!3%!!!!!!!!!!!!!!!!
|
||||
"!!!!!!!!!!!"!!!5!!!!&3)"!!!!!!!"!!%"!!!!!!!!!!!!!!!!!3!!!!!!!!!
|
||||
!!3!!%`!!!"B#!3!!!!!!!3!"!3!!!!!!!!!!!!!!!!%!!!!!!!!!!!%!!"3!!!!
|
||||
A!J%!!!!!!!%!!3%!!!!!!!!!!!!!!!!"!!!!!!!!!!!"!!!9!!!!'!)"!!!!!!!
|
||||
"!!%"!!!!!!!!!!!!!!!!!3!!!!!!!!!!!3!!&J!!!"N#!3!!!!!!!3!"!3!!!!!
|
||||
!!!!!!!!!!!%!!!!!!!!!!!%!!"F!!!!D!J%!!!!!!!%!!3%!!!!!!!!!!!!!!!!
|
||||
"!!!!!!!!!!!"!!!B!!!!'`)"!!!!!!!"!!%"!!!!!!!!!!!!!!!!!3!!!!!!!!!
|
||||
!!3!!'3!!!"`#!3!!!!!!!3!"!3!!!!!!!!!!!!!!!!%!!!!!!!!!!!%!!"S!!!!
|
||||
G!J%!!!!!!!%!!3%!!!!!!!!!!!!!!!!"!!!!!!!!!!!"!!!E!!!!(J)"!!!!!!!
|
||||
"!!%"!!!!!!!!!!!!!!!!!3!!!!!!!!!!!3!!(!!!!"m#!3!!!!!!!3!"!3!!!!!
|
||||
!!!!!!!!!!!%!!!!!!!!!!!%!!"d!!!!J!J%!!!!!!!%!!3%!!!!!!!!!!!!!!!!
|
||||
"!!!!!!!!!!!"!!!H!!!!)3)"!!!!!!!"!!%"!!!!!!!!!!!!!!!!!3!!!!!!!!!
|
||||
!!3!!(`!!!#)#!3!!!!!!!3!"!3!!!!!!!!!!!!!!!!%!!!!!!!!!!!%!!#!!!!!
|
||||
M!J%!!!!!!!%!!3%!!!!!!!!!!!!!!!!"!!!!!!!!!!!"!!!M!!!!*J)"!!!!!!!
|
||||
"!!%$!!!!!!!!!!!!!!!!!3!!!!!!!!!!!3!!*!!!!#F#!3!!!!!!!3!"!`!!!!!
|
||||
!!!!!!!!!!!%!!!!!!!!!!!%!!#B!!!!b!J%!!!!!!!%!!3-!!!!!!!!!!!!!!!!
|
||||
"!!!!!!!!!!!"!!!R!!!!-`)"!!!!!!!"!!%$!!!!!!!!!!!!!!!!!3!!!!!!!!!
|
||||
!!3!!+!!!!$3#!3!!!!!!!3!"!`!!!!!!!!!!!!!!!!%!!!!!!!!!!!%!!#N!!!!
|
||||
e!J%!!!!!!!%!!3-!!!!!!!!!!!!!!!!"!!!!!!!!!!!"!!!U!!!!0J)"!!!!!!!
|
||||
"!!%"!!!!!!!!!!!!!!!!!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!-!!!!)!!!!!`!!!!La,(ADrrqFN`!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!!K0B@028b"38%-J6'PZDf9b!!!!!!!
|
||||
!!!!!!!!!!!!!!!!D39"36!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"J!!!!3A"`E!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!"J!!!!68e-3J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!6'PL)%PYF'pbG#"38%-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!69"-4J!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!6'PL)%PYF'pbG#"38%-!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!69G$4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"J!!!!8P053`!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!"J!!!!9%9B9#jLD!"`Fh-!!!+F1!!!!!!!!!!!!DJpd!!!!!!#8hV
|
||||
`3Q&XE'p[EL")C@a`!&"1+&!!!!!"U$h3rrrrr3*30aJ!!!!!9%9B9#jM!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!69FJ3bp$+bXJ8&"$!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!9%9B9#jM+bX!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!69FJ3bp$+bXJ8&"$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9%9B9#jMB`!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!69FJ3bp$+bXJ8&"$!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!9%9B9#jMF!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!69FJ3bp$+bXJ8&"$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9%9B9#jMF(!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!69FJ3bp$+bXJ8&"$!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!9%9B9#jPH(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9%9B9#jS!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!69FJ3bp$+bXJ8&"$!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!3!!!!9%9B9#j`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!69FJ8'&cBf&X)&"33`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9%9B9#j`BA-!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!69FJ8'&cBf&X)&"33`!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!9%9B9#j`BfJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!69FJ3bp$+bXJ8&"$!!!!!!!!!!!!!!!!!!!!!!!!!!#!!!!!9%9B9#j`BfJV+`!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!69FJ3bp$+bXJ8&"$!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!#!!!!!9%9B9#jb!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!8Q9k!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9%9B9#jc!'K`Fh-
|
||||
!!!+F1!!!!!!!!!!!!DJpd!!!!!!#8hV`8&"$3A0Y!'i"F4KJF&"1+&!!!!!"U$h
|
||||
3rrrrr3*30aJ!!!!!@%024J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!@%024NBJ5@e`Eh*d)&"33`!!!!!!!!!!!!!!!!!!!!!!!!!!C'pMG3!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!"J!!!!FR0bB`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"J!!!!FfKXBJ!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!8%9')%PYF'pbG#"38%-!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!Fh4eBJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!8%9')%PYF'pbG#"38%-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#jNEf-!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!"3!!!!6@&M6e-J0MK,)%aTEQYPFJ!!!!!!!!!!!!!!!!!!!!!!'N&
|
||||
38%`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!B!!!!%&`F'`!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!B!!!!%e
|
||||
06%)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%aTBL"*EA"[FR3J0MK
|
||||
,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%e36%B!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!%aTBL"*EA"[FR3J0MK,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%e
|
||||
A3d3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!B!!!!%p#5L!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!%e39b"*EA"[FR3J0MK,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&*
|
||||
68N-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!B!!!!&4&@&3ZBQJ!F(0c!!!#R$J!!!!!!!!!!!'
|
||||
S2G!!!!!!!P0km%*KE'a[EfiJ5'9XF!"36LK3!!!!!DJpd2rrrrd#8$FB!!!!!&4
|
||||
&@&3ZB`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%eA)%-[3bXV)$Bi5`!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4&@&3ZBbXV!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!%eA)%-[3bXV)$Bi5`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4
|
||||
&@&3ZBf-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%eA)%-[3bXV)$Bi5`!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4&@&3ZBh!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!%eA)%-[3bXV)$Bi5`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4
|
||||
&@&3ZBh"`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%eA)%-[3bXV)$Bi5`!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4&@&3ZCAK`!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4
|
||||
&@&3ZD!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%eA)%-[3bXV)$Bi5`!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!%!!!!&4&@&3ZF!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!%eA)&"KFf0KE#!f1%X!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4
|
||||
&@&3ZF'&c!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%eA)&"KFf0KE#!f1%X
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4&@&3ZF'0S!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!%eA)%-[3bXV)$Bi5`!!!!!!!!!!!!!!!!!!!!!!!!!!J!!!!&4
|
||||
&@&3ZF'0S+bX!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%eA)%-[3bXV)$Bi5`!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!J!!!!&4&@&3ZFJ!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!&*PHJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&4
|
||||
&@&3ZFf9R!+JpJ!!#R$K849K8!LjbDA"cF`!!!T`i!!!!!!!!!!!"U$h3!!!!!!*
|
||||
6H[!$8Q9k!DJp`!&a''!#8%iS!!!!!'4[Bh8!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!B!!!!(*
|
||||
cFQ-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!B!!!!(0SE')!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!&"&4L"*EA"[FR3J0MK,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(0
|
||||
dG@)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&"&4L"*EA"[FR3J0MK
|
||||
,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ZC'pM!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!8!!!!&G
|
||||
TEM-b)(Ji0L"-D@jVCA)!!!!!!!!!!!!!!!!!!!!!!!e849K8,Q-!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!"09b"$,d-V+b"i1$B!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!"849K8,Q-V+`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"09b"
|
||||
$,d-V+b"i1$B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"849K8,Q0`!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!"09b"$,d-V+b"i1$B!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!"849K8,Q0`F!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"09b"
|
||||
$,d-V+b"i1$B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"849K8,R!!Ef0XpY!!"&(
|
||||
B!"8b-!!!"'X'h2E3!"6U)2rr")P09b"3BA0MB@`JH$Jf!!!!!!!!!!EFp`!!&1S
|
||||
J"(ChX!!!!!"849K8,R"KF`"XpY!!"&(B!"8b-!!!"'X'h2E3!"6U)2rr")P09b"
|
||||
3BA0MB@`JH$Jf!!!!!!!!!!EFp`!!&1SJ"(ChX!!!!!"849K8,R"MD!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!"09b"$,d-V+b"i1$B!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!)!!!!"849K8,R"MD#XV!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"09b"
|
||||
$,d-V+b"i1$B!!!!!!!!!!!!!!!!!!!!!!!!!!)!!!!"849K8,R*M!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!"09b"AD@j53`!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!"849K8,R*PF`"cF`!!!T`i!!!!!!!!!!!"U$h3!!!!!!*6H["AD@j
|
||||
5CA-J5@e`Eh*d!%iS8!!!!!'S2G$rrrrp!P!h'!!!!!!!!!!!,Q4[B`!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!,QaTBJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"-D@)
|
||||
J5@e`Eh*d)(Ji0J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!,QpLDJ!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!"2BQSJ5@e`Eh*d)(Ji0J!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!"03b"-D@jVCA)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!63da98`!
|
||||
ZC'9QE+2!!!+F1!!@I$"SrrG!!IDM`!!@0#!!&NAm!*S"ai3iSr!!&ZlN!!!!!!!
|
||||
!!!!"pU2`!"Bd)!*Biqa!!!!!68e$5!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!68e-3J!
|
||||
ZC'pME+2!!!+F1!!@I$"SrrG!!IDM`!!@0#!!&NAm6'PL)%PYF'pbG#!f1%X!!!!
|
||||
!!!!"pU2`!"Bd)!*Be!J!!!!!69"-4J!ZC'pME+2!!!+F1!!@I$"SrrG!!IDM`!!
|
||||
@0#!!&NAm6'PL)%PYF'pbG#!f1%X!!!!!!!!"pU2`!"Bd)!*Be!J!!!!!6d*+)!!
|
||||
ZC'pME+2!!!+F1!!@I$"SrrG!!IDM`!!@0#!!&NAm69"A)%PYF'pbG#!f1%X!!!!
|
||||
!!!!"pU2`!"Bd)!*Be!J!!!!!9%9B9#jM!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!68-J3bp$+bX!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9%9B9#j
|
||||
M+bX!E+2!!!+F1!!@I$"SrrG!!IDM`!!@0#!!&NAm69FJ3bp$+bXJ0MK,!!!!!!!
|
||||
!!!!"pU2`!"Bd)!*Be!J!!!!!9%9B9#jMB`!VE+2!!!+F1!!@I$"SrrG!!IDM`!!
|
||||
@0#!!&NAm69FJ3bp$+bXJ0MK,!!!!!!!!!!!"pU2`!"Bd)!*Be!J!!!!!9%9B9#j
|
||||
ME(-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!68-J3faKFh-J3fpYF'PXCA)
|
||||
!!!!!!!!!!!!!!!!!!!#!!!!!9%9B9#jMF!!VE+2!!!+F1!!@I$"SrrG!!IDM`!!
|
||||
@0#!!&NAm69FJ3bp$+bXJ0MK,!!!!!!!!!!!"pU2`!"Bd)!*Be!J!!!!!9%9B9#j
|
||||
MF(!!E+2!!!+F1!!@I$"SrrG!!IDM`!!@0#!!&NAm69FJ3bp$+bXJ0MK,!!!!!!!
|
||||
!!!!"pU2`!"Bd)!*Be!J!!!!!9%9B9#jNC@B!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9%9B9#j
|
||||
NEf-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!3!!!!9%9B9#jS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3!!!!9%9B9#j
|
||||
`!'0S+b[!!!+F1!!@I$"SrrG!!IDM`!!@0#!!&NAm69FJ8'&cBf&X)$Bi5`!!!!!
|
||||
!!!!"pU2`!"Bd)!*Be!J!!!!!9%9B9#j`BA-!+b[!!!+F1!!@I$"SrrG!!IDM`!!
|
||||
@0#!!&NAm69FJ8'&cBf&X)$Bi5`!!!!!!!!!"pU2`!"Bd)!*Be!J!!!!!9%9B9#j
|
||||
`BfJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!68-J3bp$+bX!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!#!!!!!9%9B9#j`BfJV+`$!!!+F1!!@I$"SrrG!!IDM`!!
|
||||
@0#!!&NAm69FJ3bp$+bXJ0MK,!!!!!!!!!!!"pU2`!"Bd)!*Be!L!!!!!9%9B9#j
|
||||
dF`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!5Q&fB5"-D@jVCA)!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!$N&38%`!FjZX!DJpJ!!#R$J!&N8N!!!!!!!!!!!!&Za%!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!DJp`!!!!!!#8%iSB!!!!%&`F'`!FjZX!DJpJ!!#R$J!&N8
|
||||
N!!!!!!!!!!!!&Za%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!DJp`!!!!!!#8%i
|
||||
SB!!!!%0XFh-!,Q0XBA0c!!!#R$J!!!!!!!!!!!'S2G!!!!!!!P0km%eA)%TKGQ%
|
||||
!!A%BB("36LKJ!!!!!DJpd2rrrrd#8$FB!!!!!%eA3d3!FjZX!DJpJ!!#R$J!&N8
|
||||
N!!!!!!!!!!!!&Za%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!DJp`!!!!!!#8%i
|
||||
SB!!!!&*68N-!FjZX!DJpJ!!#R$J!&N8N!!!!!!!!!!!!&Za%!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!DJp`!!!!!!#8%iSB!!!!&4&@&3ZBQJ!!!!!!!!#R$J!!!!
|
||||
!!!!!!!'S2G!!!!!!!P0km%*KE'a[EfiJ5'9XF!"36LKJ!!!!!DJpd2rrrrd#8$F
|
||||
B!!!!!&4&@&3ZD(4YE!#M`!!#R$J!&R``D2rh3!(fSm!!&M3J!"C&r!#D!FH%1+2
|
||||
`!"EZj!!9Jm3!!!!!!IDMm!!@0#!#@12X!!!!!&4&@&3ZDQ&fB3!!!!!#R$J!!!!
|
||||
!!!!!!!'S2G!!!!!!!P0km%eA)%TKGQ%!!A%BB("36LKJ!!!!!DJpd2rrrrd#8$F
|
||||
B!!!!!&4&@&3ZFJ"TF(0c!!!#R$J!!!!!!!!!!!'S2G!!!!!!!P0km&*PHJ"+BAC
|
||||
K!A%BB("36LKJ!!!!!DJpd2rrrrd#8$FB!!!!!&T*8#!!,RTTF(0c!!!#R$J!!!!
|
||||
!!!!!!!'S2G!!!!!!!P0km%eA)%TKGQ%!!A%BB("36LKJ!!!!!DJpd2rrrrd#8$F
|
||||
B!!!!!'4[Bh8!FjZX!DJpJ!!#R$J!&N8N!!!!!!!!!!!!&Za%!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!DJp`!!!!!!#8%iSB!!!!(*cFQ-!FjZX!DJpJ!!#R$J!&N8
|
||||
N!!!!!!!!!!!!&Za%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!DJp`!!!!!!#8%i
|
||||
SB!!!!!!!!!!ZBfaKFh-!!!!#R$J!!!!!!!!!!!'S2G!!!!!!!P0km%eA)%TKGQ%
|
||||
!!A%BB("36LKJ!!!!!DJpd2rrrrd#8$FB!!!!!!!!!!!ZHQP`!(0c!!!#R$J!!!!
|
||||
!!!!!!!'S2G!!!!!!!P0km%eA)%TKGQ%!!A%BB("36LKJ!!!!!DJpd2rrrrd#8$F
|
||||
B!!!!!%j[EQ8!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&069"b!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!%!!!!"0B@028b"0CA*RC3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
(39"36!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!"J!!!!3A"`E!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"J!!!
|
||||
!8P053`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!"J!!!!9%9B9#jLD!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!3Q&XE'p[EL")C@a`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!9%9B9#jb!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!8Q9k!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!FR0bB`!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"J!!!
|
||||
!FfKXBJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!69FJ5Q&fB84[Bb"-D@jVCA)!!!!!!!!
|
||||
!!!!!!!!!!!!!$%02M'X!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%e
|
||||
A)%TKGQ&%Ef-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%0XFh-!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%eA)%TKGQ&%Ef-!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!&*68N-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&*
|
||||
PHJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!B!!!!&4&@&3ZBQJ!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%*KE'a[EfiJ5'9XF!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!&4&@&3ZD(4YE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!!!!&4&@&3ZDQ&fB3!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%eA)%TKGQ&%Ef-!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!&4&@&3ZFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&*
|
||||
PHJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&T*8#!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%eA)%TKGQ&%Ef-!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!3!!!!&TTF%B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%e
|
||||
A)%TKGQ&%Ef-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(*cFQ-!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&*PHJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!B!!!!!!!!!!ZBfaKFh-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%e
|
||||
A)%TKGQ&%Ef-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ZHQP`!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%eA)%TKGQ&%Ef-!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!"!!!!!e*26e3!!!!!!!!!!!!!!!!$4e*98!!!!!!!!!!$#NT
|
||||
KGQ&6Bh*TF(3!!!!J4NP-43%!!!*'58a&!3!!!dC*6%8"!!!%4NP-43%!!!9'58a
|
||||
&!3!!"NC*6%8"!!!(4NP-43%!!!K'58a&!3!!#8C*6%8"!!!+4NP-43%!!!Y'58a
|
||||
&!3!!$%C*6%8"!!!04NP-43%!!!j'58a&!3!!$dC*6%8"!!!34NP-43%!!"&'58a
|
||||
&!3!!%NC*6%8"!!!64NP-43%!!"4'58a&!3!!&8C*6%8"!!!@4NP-43%!!"G'58a
|
||||
&!3!!'%C*6%8"!!!U4NP-43%!!"P'58a&!3!!'NC*6%8"!!!E4NP-43%!!"a'58a
|
||||
&!3!!(8C*6%8"!!!H4NP-43%!!"p'58a&!3!!)%G599!!!!!!!!!!!3j"6P0*)%a
|
||||
TBR*KFQPPF`!!!!0'58a&!3!!*NC*6%8"!!!R4NP-43%!!#K(8P93!!!!!!!!!!)
|
||||
06@&M)%aTBR*KFQPPF`!!!!0'58a&!3!!)dC*6%8"!!!N4NP-43%!!#PJrrrrrrr
|
||||
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrm!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!J!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%"!!%"!3%!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!li!!!3!EA0dFJ!
|
||||
!!!!!!!!!!!!!!!!!"li!!!-!EA0dE!!!!!!!!!!!!!!!!!!!#Vi!!!%!EA0dEJ!
|
||||
!!!!!!!!!!!!!!!!!$L!!!!3!EA0dFJ!!!qJ!!!!!!!!!!!!!%L!!!!-!EA0dE!!
|
||||
!!qJ!!!!!!!!!!!!!#li!!!%!EA0dEJ!!!qJ!!!!!!!!!!!!!!5J!!!!ZF(*PCJ"
|
||||
0XIN!!!!"!!!!!!!!!9B!!!"+F(*PCJ"0Ud-!!!!#!!!!!!!!!D!!!!)+F(*PCJ"
|
||||
0(5X!!!!$!!!!!!!!!kS!!!!8F(*PCJ"0I(`!!!!%!!!!!!!!$,i!!!!DF(*PCJ"
|
||||
0*p3!!!!&!!!!!!!!&5!!!!k!F(*PCJ"05aS!!!!'!!!!!!!!$0J!!!!'F(*PCJ"
|
||||
-rbS!!!!(!!!!!!!!$0i!!!!BF(*PCJ"0HP!!!!!)!!!!!!!!$2B!!!!+F(*PCJ"
|
||||
0Rj8!!!!*!!!!!!!!$3!!!!!1F(*PCJ"0G*m!!!!+!!!!!!!!)k!!!!$'F(*PCJ"
|
||||
0#1S!!!!,!!!!!!!!$3i!!!!kF(*PCJ"0V+F!!!!-!!!!!!!!$8J!!!!-F(*PCJ"
|
||||
0JYi!!!!0!!!!!!!!*'B!!!(DF(*PCJ"06$3!!!!1!!!!!!!!$93!!!!-F(*PCJ"
|
||||
0438!!!!2!!!!!!!!*N!!!!93F(*PCJ"0TjN!!!!3!!!!!!!!$Bi!!!!%F(*PCJ"
|
||||
0U@N!!!!4!!!!!!!!$C)!!!!%F(*PCJ"0X@-!!!!5!!!!!!!!$CB!!!#+F(*PCJ"
|
||||
0-qS!!!!6!!!!!!!!+j!!!!!!1("bC@B!6EQQ!!!!&!!!!!!!!!eJ!!!!$A"bC@B
|
||||
!6Ck"!!!!&3!!!!!!!!eY!!!!&("bC@B!6CYM!!!!&J!!!!!!!!f"!!!!#R"bC@B
|
||||
!63Cr!!!!&`!!!!!!!#[)!!!!a("bC@B!62YA!!!!'!!!!!!!!#b-!!!"&R"bC@B
|
||||
!6D+U!!!!'3!!!!!!!#fL!!!!U("bC@B!6GG(!!!!'J!!!!!!!#j+!!!!,R"bC@B
|
||||
!62'p!!!!'`!!!!!!!$6B!!!#$("bC@B!63iS!!!!(!!!!!!!!$EN!!!#4("bC@B
|
||||
!6HID!!!!(3!!!!!!!#pq!!!!*("bC@B!63eC!!!!(J!!!!!!!#qL!!!!#R"bC@B
|
||||
!6G6V!!!!(`!!!!!!!#qX!!!!NR"bC@B!656N!!!!)!!!!!!!!$!q!!!!5R"bC@B
|
||||
!6AqD!!!!)3!!!!!!!$NS!!!'$("bC@B!6F'&!!!!)J!!!!!!!%c5!!!L4("bC@B
|
||||
!69kd!!!!)`!!!!!!!$5i!!!!)'edFf`!!!!"!!!!!!!!!!!!!$md!!!+b'edF'`
|
||||
!!!!"!!!!!!!!!!!!!$#k!!!!Q'edE'm!!!!"!!!!!!!!!!!!!#md!!!!%'edF'N
|
||||
!!!!"!!!!!!!!!!!!!#ji!!!!+'ecG'N!!!!!!!!!!!!!!!!!!$&5!!!#('edCf`
|
||||
!!!2S!!!!!!!!!!!!!%Rm!!!#,'e`FfN!!!2S!!!!!!!!!!!!!'m@!!!"`&"-Fh3
|
||||
!635L!!!!*!!!!!!!!#p%!!!!+'ecG'N!!!2S!!!!!!!!!!!!!$0Z!!!"&'edF(-
|
||||
!!!!"!!!!!!!!!!!!!#kJ!!!!-R"bC@B!6B@B!!!!*3!!!!!!!$#f!!!!"("bC@B
|
||||
!6BN6!!!!*J!!!!!!!#l5!!!!BR"bC@B!62V(!!!!*`!!!!!!!(&#!!!"%R"bC@B
|
||||
!$I@3!!!!!#J!!!!!!!"b9!!!",T`FQ9Q!!j0d!!!!#N!!!!!9i8!!!%!!!!"Z`!
|
||||
!!,X!!!"Y!!""d3SK3dp%49p&C#iaE3!!3G-E3dp%45"&C'PdEh)+5P05C@BZF(*
|
||||
U-R-ZFh4Y)&0`EfpXCA)Y,5dY,5eKB`)!68e3FN0A588"!2rrrrm!!!!!!!!!!!!
|
||||
!!!!!!!!!!!#`r,1a!!"`T!!!!LK%49p&C#iaEA!!$`$rrrrrrrm!!!!"%!!!!!!
|
||||
!!!!5!!!!3G--)8024%9IC@3ZDA4[!!!!3G843dp%45"PC'PdEh)J6QpdCA-'!!!
|
||||
!3G8!!!`K3dp%49pPC#jTG'm!$`$rrrrrrrm!!!!"%!!!!!!!!!!'!!!!3GN!!!S
|
||||
KDf0c)ep&!!!!ChdD,NXrj6)`!!3!!!!"!!!!!,$rT51`rk6#!!!!!!!!!!!!!!!
|
||||
!!!!!!!KhB@aNC@eKFJ!(-5ia,M)Z-J!+5P05C@BZF(*U-J!!!!!C6@&NC5"hBA*
|
||||
ZD@jRFb"TER4[)'9bFQpbF`!!!!"-qVX!!`!!!!!!!!!!#NT68Q9Q,R"bDM)!"c%
|
||||
Z-5ib,M)!!!!$,@YL!!p85P0'98ia-ep#8N&13dJ!!!!!!!!!!!!!#@jc,fTc,h*
|
||||
PCJ!!!3!!!!'l!!!!Z`!!!'d%X[E!+-3!!!!F!%B!!@0VD@3!!!!5E@0fF`!!!"i
|
||||
!J!!!!!!!!!5bp8J!J!!2!!!!D`!!!!!18(*[DQ9MG'pb)%4KG'%A6@&M3eC6)&C
|
||||
PFR0TEfiJ8Q9cEh9bBf@NfJ:
|
||||
299
mozilla/js/ref/Makefile
Normal file
299
mozilla/js/ref/Makefile
Normal file
@@ -0,0 +1,299 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
#
|
||||
# JSRef GNUmake makefile.
|
||||
#
|
||||
|
||||
# Set os+release dependent make variables
|
||||
OS_ARCH := $(subst /,_,$(shell uname -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
|
||||
OS_RELEASE := $(shell uname -r)
|
||||
endif
|
||||
|
||||
# Virtually all Linux versions are identical.
|
||||
# Any distinctions are handled in linux.h
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
OS_CONFIG := Linux_All
|
||||
else
|
||||
OS_CONFIG := $(OS_ARCH)$(OS_OBJTYPE)$(OS_RELEASE)
|
||||
endif
|
||||
|
||||
ASFLAGS =
|
||||
DEFINES =
|
||||
|
||||
include config/$(OS_CONFIG).mk
|
||||
|
||||
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
|
||||
|
||||
#DEFINES += -DJS_THREADSAFE
|
||||
|
||||
ifdef JS_NO_THIN_LOCKS
|
||||
DEFINES += -DJS_USE_ONLY_NSPR_LOCKS
|
||||
endif
|
||||
|
||||
# Name of the binary code directories
|
||||
OBJDIR = $(OS_CONFIG)$(OBJDIR_TAG).OBJ
|
||||
VPATH = $(OBJDIR)
|
||||
|
||||
# Automatic make dependencies file
|
||||
DEPENDENCIES = $(OBJDIR)/.md
|
||||
|
||||
define MAKE_OBJDIR
|
||||
if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); fi
|
||||
endef
|
||||
|
||||
# Look in OBJDIR to find prcpucfg.h
|
||||
INCLUDES = -I$(OBJDIR)
|
||||
|
||||
#
|
||||
# XCFLAGS may be set in the environment or on the gmake command line
|
||||
#
|
||||
CFLAGS = $(OPTIMIZER) $(OS_CFLAGS) $(DEFINES) $(INCLUDES) \
|
||||
-DJSFILE $(XCFLAGS)
|
||||
LDFLAGS = -lm $(XLDFLAGS) -Lfdlibm -lfdm
|
||||
|
||||
# For purify
|
||||
PURE_CFLAGS = -DXP_UNIX $(OPTIMIZER) $(PURE_OS_CFLAGS) $(DEFINES) \
|
||||
$(INCLUDES) $(XCFLAGS)
|
||||
|
||||
#
|
||||
# JS file lists
|
||||
#
|
||||
PR_HFILES = \
|
||||
prarena.h \
|
||||
prassert.h \
|
||||
prclist.h \
|
||||
prdtoa.h \
|
||||
prhash.h \
|
||||
prlong.h \
|
||||
prmacos.h \
|
||||
prosdep.h \
|
||||
prpcos.h \
|
||||
prprintf.h \
|
||||
prtime.h \
|
||||
prtypes.h \
|
||||
prunixos.h \
|
||||
$(NULL)
|
||||
|
||||
JS_HFILES = \
|
||||
jsarray.h \
|
||||
jsatom.h \
|
||||
jsbool.h \
|
||||
jsconfig.h \
|
||||
jscntxt.h \
|
||||
jsdate.h \
|
||||
jsemit.h \
|
||||
jsfun.h \
|
||||
jsgc.h \
|
||||
jsinterp.h \
|
||||
jslock.h \
|
||||
jsmath.h \
|
||||
jsnum.h \
|
||||
jsobj.h \
|
||||
jsopcode.h \
|
||||
jsparse.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)
|
||||
|
||||
HFILES = $(PR_HFILES) $(JS_HFILES) $(API_HFILES)
|
||||
|
||||
PR_CFILES = \
|
||||
prarena.c \
|
||||
prassert.c \
|
||||
prdtoa.c \
|
||||
prhash.c \
|
||||
prlog2.c \
|
||||
prlong.c \
|
||||
prprintf.c \
|
||||
prtime.c \
|
||||
$(NULL)
|
||||
|
||||
JS_CFILES = \
|
||||
jsapi.c \
|
||||
jsarray.c \
|
||||
jsatom.c \
|
||||
jsbool.c \
|
||||
jscntxt.c \
|
||||
jsdate.c \
|
||||
jsdbgapi.c \
|
||||
jsemit.c \
|
||||
jsfun.c \
|
||||
jsgc.c \
|
||||
jsinterp.c \
|
||||
jslock.c \
|
||||
jsmath.c \
|
||||
jsnum.c \
|
||||
jsobj.c \
|
||||
jsopcode.c \
|
||||
jsparse.c \
|
||||
jsregexp.c \
|
||||
jsscan.c \
|
||||
jsscope.c \
|
||||
jsscript.c \
|
||||
jsstr.c \
|
||||
jsxdrapi.c \
|
||||
$(NULL)
|
||||
|
||||
LIB_CFILES = $(PR_CFILES) $(JS_CFILES)
|
||||
LIB_ASFILES := $(wildcard *_$(OS_ARCH).s)
|
||||
PROG_CFILES = js.c
|
||||
|
||||
ifdef USE_MSVC
|
||||
LIB_OBJS = $(addprefix $(OBJDIR)/, $(LIB_CFILES:.c=.obj))
|
||||
PROG_OBJS = $(addprefix $(OBJDIR)/, $(PROG_CFILES:.c=.obj))
|
||||
else
|
||||
LIB_OBJS = $(addprefix $(OBJDIR)/, $(LIB_CFILES:.c=.o))
|
||||
LIB_OBJS += $(addprefix $(OBJDIR)/, $(LIB_ASFILES:.s=.o))
|
||||
PROG_OBJS = $(addprefix $(OBJDIR)/, $(PROG_CFILES:.c=.o))
|
||||
endif
|
||||
|
||||
CFILES = $(LIB_CFILES) $(PROG_CFILES)
|
||||
OBJS = $(LIB_OBJS) $(PROG_OBJS)
|
||||
|
||||
ifdef USE_MSVC
|
||||
LIBRARY = $(OBJDIR)/js32.dll
|
||||
PROGRAM = $(OBJDIR)/js
|
||||
else
|
||||
LIBRARY = $(OBJDIR)/libjs.a
|
||||
PROGRAM = $(OBJDIR)/js
|
||||
endif
|
||||
|
||||
ifdef USE_MSVC
|
||||
TARGETS = $(LIBRARY) # $(PROGRAM) not supported for MSVC yet
|
||||
else
|
||||
TARGETS = fdlibm/libfdm.a $(LIBRARY) $(PROGRAM)
|
||||
endif
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
clean:
|
||||
rm -rf $(OBJS)
|
||||
cd fdlibm; gmake clean
|
||||
|
||||
clobber:
|
||||
rm -rf $(OBJS) $(TARGETS) $(DEPENDENCIES)
|
||||
cd fdlibm; gmake clean
|
||||
|
||||
depend:
|
||||
gcc -MM $(CFLAGS) $(JS_CFILES)
|
||||
|
||||
fdlibm/libfdm.a:
|
||||
cd fdlibm; gmake
|
||||
|
||||
$(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): $(LIB_OBJS)
|
||||
$(AR) $@ $? $(AR_OS2_SUFFIX)
|
||||
$(RANLIB) $@
|
||||
else
|
||||
ifdef USE_MSVC
|
||||
$(LIBRARY): $(LIB_OBJS)
|
||||
link.exe $(LIB_LINK_FLAGS) /base:0x61000000 \
|
||||
/out:"$@" /pdb:"$(OBJDIR)/js32.pdb" /implib:"$(OBJDIR)/js32.lib" $?
|
||||
else
|
||||
$(LIBRARY): $(LIB_OBJS)
|
||||
$(AR) rv $@ $?
|
||||
$(RANLIB) $@
|
||||
endif
|
||||
endif
|
||||
|
||||
#NSPR_LIBRARY = ../../dist/$(OBJDIR)/lib/libnspr21.so
|
||||
NSPR_LIBRARY =
|
||||
|
||||
$(PROGRAM): $(PROG_OBJS) $(LIBRARY)
|
||||
$(CC) -o $@ $(CFLAGS) $(PROG_OBJS) $(LIBRARY) $(NSPR_LIBRARY) $(LDFLAGS)
|
||||
|
||||
$(PROGRAM).pure: $(PROG_OBJS) $(LIBRARY)
|
||||
purify $(PUREFLAGS) \
|
||||
$(CC) -o $@ $(PURE_OS_CFLAGS) $(PROG_OBJS) $(LIBRARY) $(LDFLAGS)
|
||||
|
||||
$(HFILES) $(CFILES): $(OBJDIR)/prcpucfg.h
|
||||
|
||||
ifdef PREBUILT_CPUCFG
|
||||
$(OBJDIR)/prcpucfg.h: prcpucfg.h
|
||||
cp prcpucfg.h $(OBJDIR)
|
||||
else
|
||||
$(OBJDIR)/prcpucfg.h: $(OBJDIR)/prcpucfg
|
||||
rm -f $@
|
||||
$(OBJDIR)/prcpucfg > $@
|
||||
|
||||
$(OBJDIR)/prcpucfg: $(OBJDIR)/prcpucfg.o
|
||||
$(CC) -o $@ $(OBJDIR)/prcpucfg.o
|
||||
endif
|
||||
|
||||
#
|
||||
# Hardwire dependencies on jsopcode.def
|
||||
#
|
||||
jsopcode.h jsopcode.c: jsopcode.def
|
||||
|
||||
-include $(DEPENDENCIES)
|
||||
|
||||
TARNAME = jsref.tar
|
||||
TARFILES = files `cat files`
|
||||
|
||||
tar:
|
||||
tar cvf $(TARNAME) $(TARFILES)
|
||||
gzip $(TARNAME)
|
||||
|
||||
SUFFIXES: .i
|
||||
%.i: %.c
|
||||
$(CC) -C -E $(CFLAGS) $< > $*.i
|
||||
674
mozilla/js/ref/README
Normal file
674
mozilla/js/ref/README
Normal file
@@ -0,0 +1,674 @@
|
||||
This is the README file for the JavaScript Reference (JSRef) implementation.
|
||||
It consists of build conventions and instructions, source code conventions, a
|
||||
design walk-through, and a brief file-by-file description of the source.
|
||||
|
||||
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.
|
||||
|
||||
The current version of JSRef lacks a conformance testsuite. We aim to provide
|
||||
one as soon as possible.
|
||||
|
||||
Quick start tip: skip to "Using the JS API" below, build js, and play with the
|
||||
object named "it" (start by setting 'it.noisy = true').
|
||||
|
||||
Brendan Eich, 9/17/96
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
Build conventions:
|
||||
|
||||
- On Windows, use MSDEV4.2 (js*.mdp) or 5.0 (js*.mak).
|
||||
|
||||
- On Mac, use CodeWarrior 1.x (JSRef.prj.hqx) or 2 (JSRef.prj2.hqx).
|
||||
|
||||
- On Unix, use vendor cc or gcc (ftp://prep.ai.mit.edu/pub/gnu) for compiling,
|
||||
and use gmake for building.
|
||||
|
||||
To compile optimized code, pass BUILD_OPT=1 on the nmake/gmake command line
|
||||
or preset it in the environment or makefile. The C preprocessor macro DEBUG
|
||||
will be undefined, and NDEBUG (archaic Unix-ism for "No Debugging") will be
|
||||
defined. Without BUILD_OPT, DEBUG is predefined and NDEBUG is undefined.
|
||||
|
||||
On Unix, your own debug flag, DEBUG_$USER, will be defined or undefined as
|
||||
BUILD_OPT is unset or set.
|
||||
|
||||
(Linux autoconf support way overdue; coming some day soon, I promise.)
|
||||
|
||||
- To add C compiler options from the make command line, set XCFLAGS=-Dfoo.
|
||||
To predefine -D or -U options in the makefile, set DEFINES.
|
||||
To predefine -I options in the makefile, set INCLUDES.
|
||||
|
||||
- To turn on GC instrumentation, define JS_GCMETER.
|
||||
- To enable multi-threaded execution, define JS_THREADSAFE and flesh out the
|
||||
stubs and required headers in jslock.c/.h. See the JS API docs for more.
|
||||
- To turn on the arena package's instrumentation, define PR_ARENAMETER.
|
||||
- To turn on the hash table package's metering, define PR_HASHMETER.
|
||||
|
||||
Naming and coding conventions:
|
||||
|
||||
- Public function names begin with JS_ followed by capitalized "intercaps",
|
||||
e.g. JS_NewObject.
|
||||
- Extern but library-private function names use a js_ prefix and mixed case,
|
||||
e.g. js_LookupSymbol.
|
||||
- Most static function names have unprefixed, mixed-case names: GetChar.
|
||||
- But static native methods of JS objects have lowercase, underscore-separated
|
||||
or intercaps names, e.g., str_indexOf.
|
||||
- And library-private and static data use underscores, not intercaps (but
|
||||
library-private data do use a js_ prefix).
|
||||
- Scalar type names are lowercase and js-prefixed: jsdouble.
|
||||
- Aggregate type names are JS-prefixed and mixed-case: JSObject.
|
||||
- Macros are generally ALL_CAPS and underscored, to call out potential
|
||||
side effects, multiple uses of a formal argument, etc.
|
||||
|
||||
- Four spaces of indentation per statement nesting level.
|
||||
- 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.
|
||||
- DLL entry points have their return type expanded within a PR_PUBLIC_API()
|
||||
macro call, to get the right Windows secret type qualifiers in the right
|
||||
places for both 16- and 32-bit builds.
|
||||
- Callback functions that might be called from a DLL are similarly macroized
|
||||
with PR_STATIC_CALLBACK (if the function otherwise would be static to hide
|
||||
its name) or PR_CALLBACK (this macro takes no type argument; it should be
|
||||
used after the return type and before the function name).
|
||||
|
||||
Using the JS API:
|
||||
|
||||
- Starting up:
|
||||
|
||||
/*
|
||||
* Tune this to avoid wasting space for shallow stacks, while saving on
|
||||
* malloc overhead/fragmentation for deep or highly-variable stacks.
|
||||
*/
|
||||
#define STACK_CHUNK_SIZE 8192
|
||||
|
||||
JSRuntime *rt;
|
||||
JSContext *cx;
|
||||
|
||||
/* You need a runtime and one or more contexts to do anything with JS. */
|
||||
rt = JS_Init(1000000L);
|
||||
if (!rt)
|
||||
fail("can't create JavaScript runtime");
|
||||
cx = JS_NewContext(rt, STACK_CHUNK_SIZE);
|
||||
if (!cx)
|
||||
fail("can't create JavaScript context");
|
||||
|
||||
/*
|
||||
* The context definitely wants a global object, in order to have standard
|
||||
* classes and functions like Date and parseInt. See below for details on
|
||||
* JS_NewObject.
|
||||
*/
|
||||
JSObject *globalObj;
|
||||
|
||||
globalObj = JS_NewObject(cx, &my_global_class, 0, 0);
|
||||
JS_InitStandardClasses(cx, globalObj);
|
||||
|
||||
- Defining objects and properties:
|
||||
|
||||
/* Statically initialize a class to make "one-off" objects. */
|
||||
JSClass my_class = {
|
||||
"MyClass",
|
||||
|
||||
/* All of these can be replaced with the corresponding JS_*Stub
|
||||
function pointers. */
|
||||
my_addProperty, my_delProperty, my_getProperty, my_setProperty,
|
||||
my_enumerate, my_resolve, my_convert, my_finalize
|
||||
};
|
||||
|
||||
JSObject *obj;
|
||||
|
||||
/*
|
||||
* Define an object named in the global scope that can be enumerated by
|
||||
* for/in loops. The parent object is passed as the second argument, as
|
||||
* with all other API calls that take an object/name pair. The prototype
|
||||
* passed in is null, so the default object prototype will be used.
|
||||
*/
|
||||
obj = JS_DefineObject(cx, globalObj, "myObject", &my_class, 0,
|
||||
JSPROP_ENUMERATE);
|
||||
|
||||
/*
|
||||
* Define a bunch of properties with a JSPropertySpec array statically
|
||||
* initialized and terminated with a null-name entry. Besides its name,
|
||||
* each property has a "tiny" identifier (MY_COLOR, e.g.) that can be used
|
||||
* in switch statements (in a common my_getProperty function, for example).
|
||||
*/
|
||||
enum my_tinyid {
|
||||
MY_COLOR, MY_HEIGHT, MY_WIDTH, MY_FUNNY, MY_ARRAY, MY_RDONLY
|
||||
};
|
||||
|
||||
static JSPropertySpec my_props[] = {
|
||||
{"color", MY_COLOR, JSPROP_ENUMERATE},
|
||||
{"height", MY_HEIGHT, JSPROP_ENUMERATE},
|
||||
{"width", MY_WIDTH, JSPROP_ENUMERATE},
|
||||
{"funny", MY_FUNNY, JSPROP_ENUMERATE},
|
||||
{"array", MY_ARRAY, JSPROP_ENUMERATE},
|
||||
{"rdonly", MY_RDONLY, JSPROP_READONLY},
|
||||
{0}
|
||||
};
|
||||
|
||||
JS_DefineProperties(cx, obj, my_props);
|
||||
|
||||
/*
|
||||
* Given the above definitions and call to JS_DefineProperties, obj will
|
||||
* need this sort of "getter" method in its class (my_class, above). See
|
||||
* the example for the "It" class in js.c.
|
||||
*/
|
||||
static JSBool
|
||||
my_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
|
||||
{
|
||||
if (JSVAL_IS_INT(id)) {
|
||||
switch (JSVAL_TO_INT(id)) {
|
||||
case MY_COLOR: *vp = . . .; break;
|
||||
case MY_HEIGHT: *vp = . . .; break;
|
||||
case MY_WIDTH: *vp = . . .; break;
|
||||
case MY_FUNNY: *vp = . . .; break;
|
||||
case MY_ARRAY: *vp = . . .; break;
|
||||
case MY_RDONLY: *vp = . . .; break;
|
||||
}
|
||||
}
|
||||
return JS_TRUE;
|
||||
}
|
||||
|
||||
- Defining functions:
|
||||
|
||||
/* Define a bunch of native functions first: */
|
||||
static JSBool
|
||||
my_abs(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
||||
{
|
||||
jsdouble x, z;
|
||||
|
||||
if (!JS_ValueToNumber(cx, argv[0], &x))
|
||||
return JS_FALSE;
|
||||
z = (x < 0) ? -x : x;
|
||||
return JS_NewDoubleValue(cx, z, rval);
|
||||
}
|
||||
|
||||
. . .
|
||||
|
||||
/*
|
||||
* Use a JSFunctionSpec array terminated with a null name to define a
|
||||
* bunch of native functions.
|
||||
*/
|
||||
static JSFunctionSpec my_functions[] = {
|
||||
/* name native nargs */
|
||||
{"abs", my_abs, 1},
|
||||
{"acos", my_acos, 1},
|
||||
{"asin", my_asin, 1},
|
||||
. . .
|
||||
{0}
|
||||
};
|
||||
|
||||
/*
|
||||
* Pass a particular object to define methods for it alone. If you pass
|
||||
* a prototype object, the methods will apply to all instances past and
|
||||
* future of the prototype's class (see below for classes).
|
||||
*/
|
||||
JS_DefineFunctions(cx, globalObj, my_functions);
|
||||
|
||||
- Defining classes:
|
||||
|
||||
/*
|
||||
* This pulls together the above API elements by defining a constructor
|
||||
* function, a prototype object, and properties of the prototype and of
|
||||
* the constructor, all with one API call.
|
||||
*
|
||||
* Initialize a class by defining its constructor function, prototype, and
|
||||
* per-instance and per-class properties. The latter are called "static"
|
||||
* below by analogy to Java. They are defined in the constructor object's
|
||||
* scope, so that 'MyClass.myStaticProp' works along with 'new MyClass()'.
|
||||
*
|
||||
* JS_InitClass takes a lot of arguments, but you can pass null for any of
|
||||
* the last four if there are no such properties or methods.
|
||||
*
|
||||
* Note that you do not need to call JS_InitClass to make a new instance of
|
||||
* that class -- otherwise there would be a chicken-and-egg problem making
|
||||
* the global object -- but you should call JS_InitClass if you require a
|
||||
* constructor function for script authors to call via new, and/or a class
|
||||
* prototype object ('MyClass.prototype') for authors to extend with new
|
||||
* properties at run-time.
|
||||
*/
|
||||
protoObj = JS_InitClass(cx, globalObj, &my_class,
|
||||
|
||||
/* native constructor function and min arg count */
|
||||
MyClass, 0,
|
||||
|
||||
/* prototype object properties and methods -- these
|
||||
will be "inherited" by all instances through
|
||||
delegation up the instance's prototype link. */
|
||||
my_props, my_methods,
|
||||
|
||||
/* class constructor properties and methods */
|
||||
my_static_props, my_static_methods);
|
||||
|
||||
- Running scripts:
|
||||
|
||||
/* These should indicate source location for diagnostics. */
|
||||
char *filename;
|
||||
uintN lineno;
|
||||
|
||||
/*
|
||||
* The return value comes back here -- if it could be a GC thing, you must
|
||||
* add it to the GC's "root set" with JS_AddRoot(cx, &thing) where thing
|
||||
* is a JSString *, JSObject *, or jsdouble *, and remove the root before
|
||||
* rval goes out of scope, or when rval is no longer needed.
|
||||
*/
|
||||
jsval rval;
|
||||
JSBool ok;
|
||||
|
||||
/*
|
||||
* Some example source in a C string. Larger, non-null-terminated buffers
|
||||
* can be used, if you pass the buffer length to JS_EvaluateScript.
|
||||
*/
|
||||
char *source = "x * f(y)";
|
||||
|
||||
ok = JS_EvaluateScript(cx, globalObj, source, strlen(source),
|
||||
filename, lineno, &rval);
|
||||
|
||||
if (ok) {
|
||||
/* Should get a number back from the example source. */
|
||||
jsdouble d;
|
||||
|
||||
ok = JS_ValueToNumber(cx, rval, &d);
|
||||
. . .
|
||||
}
|
||||
|
||||
- Calling functions:
|
||||
|
||||
/* Call a global function named "foo" that takes no arguments. */
|
||||
ok = JS_CallFunctionName(cx, globalObj, "foo", 0, 0, &rval);
|
||||
|
||||
jsval argv[2];
|
||||
|
||||
/* Call a function in obj's scope named "method", passing two arguments. */
|
||||
argv[0] = . . .;
|
||||
argv[1] = . . .;
|
||||
ok = JS_CallFunctionName(cx, obj, "method", 2, argv, &rval);
|
||||
|
||||
- Shutting down:
|
||||
|
||||
/* For each context you've created: */
|
||||
JS_DestroyContext(cx);
|
||||
|
||||
/* And finally: */
|
||||
JS_Finish(rt);
|
||||
|
||||
- Debugging API
|
||||
|
||||
See the trap, untrap, watch, unwatch, line2pc, and pc2line commands in js.c.
|
||||
Also the (scant) comments in jsdbgapi.h.
|
||||
|
||||
Design walk-through:
|
||||
|
||||
This section must be brief for now -- it could easily turn into a book.
|
||||
|
||||
- JS "JavaScript Proper"
|
||||
|
||||
JS modules declare and implement the JavaScript compiler, interpreter,
|
||||
decompiler, GC and atom manager, and standard classes.
|
||||
|
||||
JavaScript uses untyped bytecode and runtime type tagging of data values.
|
||||
The jsval 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.
|
||||
|
||||
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 jsvals, or with
|
||||
atoms (unique string descriptors) if named by an identifier or a non-integral
|
||||
index expression.
|
||||
|
||||
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").
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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 JS_Init) bytes of GC things
|
||||
have been allocated and another thing-allocation request is made. JS API
|
||||
users should call JS_GC or JS_MaybeGC between script executions or from the
|
||||
branch callback, as often as necessary.
|
||||
|
||||
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 rval 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.
|
||||
|
||||
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 (JSAtomMap) and object symbol (JSSymbol)
|
||||
entry keys.
|
||||
|
||||
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".
|
||||
|
||||
In general, errors are signaled by false or unoverloaded-null return values,
|
||||
and are reported using JS_ReportError 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.
|
||||
|
||||
- PR "Portable Runtime"
|
||||
|
||||
PR modules declare and implement fundamental representation types and macros,
|
||||
arenas, hash tables, 64-bit integers, double-precision floating point to
|
||||
string and back conversions, and date/time functions that are used by the JS
|
||||
modules. The PR code is independent of JavaScript and can be used without
|
||||
linking with the JS code.
|
||||
|
||||
In general, errors are signaled by false or unoverloaded-null return values,
|
||||
but are not reported. Therefore, JS calls to PR functions check returns and
|
||||
report errors as specifically as possible.
|
||||
|
||||
File walk-through:
|
||||
|
||||
- jsapi.c, jsapi.h
|
||||
|
||||
The public API to be used by almost all client code.
|
||||
|
||||
If your client code can't make do with jsapi.h, and must reach into a friend
|
||||
or private js* file, please let us know so we can extend jsapi.h to include
|
||||
what you need in a fashion that we can support over the long run.
|
||||
|
||||
- jspubtd.h, jsprvtd.h
|
||||
|
||||
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 jspubtd.h file contains public typedefs, and is included by jsapi.h.
|
||||
The jsprvtd.h file contains private typedefs and is included by various .h
|
||||
files that need type names, but not type sizes or declarations.
|
||||
|
||||
- jsdbgapi.c, jsdbgapi.h
|
||||
|
||||
The Debugging API, still very much under development. Provided so far:
|
||||
|
||||
- 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 (JSScript) is
|
||||
destroyed, all traps set in its bytecode are cleared.
|
||||
|
||||
- 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.
|
||||
|
||||
- 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:
|
||||
|
||||
14 function perfect(n)
|
||||
15 {
|
||||
16 print("The perfect numbers up to " + n + " are:");
|
||||
17
|
||||
18 // We build sumOfDivisors[i] to hold a string expression for
|
||||
19 // the sum of the divisors of i, excluding i itself.
|
||||
20 var sumOfDivisors = new ExprArray(n+1,1);
|
||||
21 for (var divisor = 2; divisor <= n; divisor++) {
|
||||
22 for (var j = divisor + divisor; j <= n; j += divisor) {
|
||||
23 sumOfDivisors[j] += " + " + divisor;
|
||||
24 }
|
||||
25 // At this point everything up to 'divisor' has its sumOfDivisors
|
||||
26 // expression calculated, so we can determine whether it's perfect
|
||||
27 // already by evaluating.
|
||||
28 if (eval(sumOfDivisors[divisor]) == divisor) {
|
||||
29 print("" + divisor + " = " + sumOfDivisors[divisor]);
|
||||
30 }
|
||||
31 }
|
||||
32 delete sumOfDivisors;
|
||||
33 print("That's all.");
|
||||
34 }
|
||||
|
||||
The line number to PC and back mappings can be tested using the js program
|
||||
with the following script:
|
||||
|
||||
load("perfect.js")
|
||||
print(perfect)
|
||||
dis(perfect)
|
||||
|
||||
print()
|
||||
for (var ln = 0; ln <= 40; ln++) {
|
||||
var pc = line2pc(perfect,ln)
|
||||
var ln2 = pc2line(perfect,pc)
|
||||
print("\tline " + ln + " => pc " + pc + " => line " + ln2)
|
||||
}
|
||||
|
||||
The result of the for loop over lines 0 to 40 inclusive is:
|
||||
|
||||
line 0 => pc 0 => line 16
|
||||
line 1 => pc 0 => line 16
|
||||
line 2 => pc 0 => line 16
|
||||
line 3 => pc 0 => line 16
|
||||
line 4 => pc 0 => line 16
|
||||
line 5 => pc 0 => line 16
|
||||
line 6 => pc 0 => line 16
|
||||
line 7 => pc 0 => line 16
|
||||
line 8 => pc 0 => line 16
|
||||
line 9 => pc 0 => line 16
|
||||
line 10 => pc 0 => line 16
|
||||
line 11 => pc 0 => line 16
|
||||
line 12 => pc 0 => line 16
|
||||
line 13 => pc 0 => line 16
|
||||
line 14 => pc 0 => line 16
|
||||
line 15 => pc 0 => line 16
|
||||
line 16 => pc 0 => line 16
|
||||
line 17 => pc 19 => line 20
|
||||
line 18 => pc 19 => line 20
|
||||
line 19 => pc 19 => line 20
|
||||
line 20 => pc 19 => line 20
|
||||
line 21 => pc 36 => line 21
|
||||
line 22 => pc 53 => line 22
|
||||
line 23 => pc 74 => line 23
|
||||
line 24 => pc 92 => line 22
|
||||
line 25 => pc 106 => line 28
|
||||
line 26 => pc 106 => line 28
|
||||
line 27 => pc 106 => line 28
|
||||
line 28 => pc 106 => line 28
|
||||
line 29 => pc 127 => line 29
|
||||
line 30 => pc 154 => line 21
|
||||
line 31 => pc 154 => line 21
|
||||
line 32 => pc 161 => line 32
|
||||
line 33 => pc 172 => line 33
|
||||
line 34 => pc 172 => line 33
|
||||
line 35 => pc 172 => line 33
|
||||
line 36 => pc 172 => line 33
|
||||
line 37 => pc 172 => line 33
|
||||
line 38 => pc 172 => line 33
|
||||
line 39 => pc 172 => line 33
|
||||
line 40 => pc 172 => line 33
|
||||
|
||||
- jsconfig.h
|
||||
|
||||
Various configuration macros defined as 0 or 1 depending on how JS_VERSION
|
||||
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.
|
||||
|
||||
- js.c
|
||||
|
||||
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 jsapi.h calls). The js program built from this source provides
|
||||
a test vehicle for evaluating scripts and calling functions, trying out new
|
||||
debugger primitives, etc.
|
||||
|
||||
- jsarray.c, jsarray.h
|
||||
- jsbool.c, jsbool.h
|
||||
- jsdate.c, jsdate.h
|
||||
- jsfun.c, jsfun.h
|
||||
- jsmath.c, jsmath.h
|
||||
- jsnum.c, jsnum.h
|
||||
- jsstr.c, jsstr.h
|
||||
|
||||
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.
|
||||
|
||||
- jsobj.c, jsobj.h
|
||||
- jsscope.c, jsscope.h
|
||||
|
||||
These two pairs declare and implement the JS object system. All of the
|
||||
following happen here:
|
||||
|
||||
- creating objects by class and prototype, and finalizing objects;
|
||||
- defining, looking up, getting, setting, and deleting properties;
|
||||
- creating and destroying properties and binding names to them.
|
||||
|
||||
The details of an object map (scope) are mostly hidden in jsscope.[ch],
|
||||
where scopes start out as linked lists of symbols, and grow after some
|
||||
threshold into PR hash tables.
|
||||
|
||||
- jsatom.c, jsatom.h
|
||||
|
||||
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 (JSAtomMap)
|
||||
methods.
|
||||
|
||||
- jsgc.c, jsgc.h
|
||||
|
||||
[TBD]
|
||||
|
||||
- jsinterp.c, jsinterp.h
|
||||
- jscntxt.c, jscntxt.h
|
||||
|
||||
The bytecode interpreter, and related functions such as Call and AllocStack,
|
||||
live in interp.c. The JSContext constructor and destructor are factored out
|
||||
into jscntxt.c for minimal linking when the compiler part of JS is split from
|
||||
the interpreter part into a separate program.
|
||||
|
||||
- jsemit.c, jsemit.h
|
||||
- jsopcode.def, jsopcode.c, jsopcode.h
|
||||
- jsparse.c, jsparse.h
|
||||
- jsscan.c, jsscan.h
|
||||
- jsscript.c, jsscript.h
|
||||
|
||||
Compiler and decompiler modules. The jsopcode.def 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 jsopcode.h directly, but over time we intend to
|
||||
extend jsdbgapi.h to hide uninteresting details and provide conveniences.
|
||||
|
||||
The code generator is split across paragraphs of code in jsparse.c, and the
|
||||
utility methods called on JSCodeGenerator appear in jsemit.c. Source notes
|
||||
generated by jsparse.c and jsemit.c are used in jsscript.c to map line number
|
||||
to program counter and back.
|
||||
|
||||
- prtypes.h, prlog2.c
|
||||
|
||||
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 PR_CeilingLog2 function in prlog2.c.
|
||||
|
||||
- prarena.c, prarena.h
|
||||
|
||||
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.
|
||||
|
||||
- prassert.c, prassert.h
|
||||
|
||||
The PR_ASSERT 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...
|
||||
|
||||
- prclist.h
|
||||
|
||||
Doubly-linked circular list struct and macros.
|
||||
|
||||
- prcpucfg.c
|
||||
|
||||
This standalone program generates prcpucfg.h, 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.
|
||||
|
||||
- prdtoa.c, prdtoa.h
|
||||
|
||||
David Gay's portable double-precision floating point to string conversion
|
||||
code, with Permission To Use notice included.
|
||||
|
||||
- prhash.c, prhash.h
|
||||
|
||||
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.
|
||||
|
||||
- prlong.c, prlong.h
|
||||
|
||||
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).
|
||||
|
||||
- prosdep.h, prmacos.h, prpcos.h, prunixos.h, os/*.h
|
||||
|
||||
A bunch of annoying OS dependencies rationalized into a few "feature-test"
|
||||
macros such as HAVE_LONG_LONG.
|
||||
|
||||
- prprintf.c, prprintf.h
|
||||
|
||||
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 PR_dtoa, to be used. This bug doesn't
|
||||
affect JSRef, because it uses its own PR_dtoa call in jsnum.c 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 PR_*printf function with your own
|
||||
floating type arguments -- various vendor sprintf's mishandle NaN, +/-Inf,
|
||||
and some even print normal floating values inaccurately.
|
||||
|
||||
- prtime.c, prtime.h
|
||||
|
||||
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.
|
||||
9
mozilla/js/ref/TODO
Normal file
9
mozilla/js/ref/TODO
Normal file
@@ -0,0 +1,9 @@
|
||||
- scriptable in jsref
|
||||
- exposed w/o java in js
|
||||
- immutable scopes
|
||||
- so can revive SCOPE_TABLE stuff
|
||||
- fast-as-prop-cache inline scopes for native objects
|
||||
so elim prop-cache
|
||||
- views
|
||||
- global vars in ssjs object model
|
||||
- html object model
|
||||
56
mozilla/js/ref/config/IRIX.mk
Normal file
56
mozilla/js/ref/config/IRIX.mk
Normal file
@@ -0,0 +1,56 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
#
|
||||
# Config stuff for IRIX
|
||||
#
|
||||
CPU_ARCH = mips
|
||||
GFX_ARCH = x
|
||||
|
||||
RANLIB = /bin/true
|
||||
|
||||
#NS_USE_GCC = 1
|
||||
|
||||
ifdef NS_USE_GCC
|
||||
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 -32 -DIRIX6_2
|
||||
endif
|
||||
ifeq ($(OS_RELEASE),6.3)
|
||||
CC = cc -32 -DIRIX6_3
|
||||
endif
|
||||
CCC = 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) -shared
|
||||
20
mozilla/js/ref/config/IRIX5.3.mk
Normal file
20
mozilla/js/ref/config/IRIX5.3.mk
Normal file
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
#
|
||||
# Config stuff for IRIX5.3
|
||||
#
|
||||
include config/IRIX.mk
|
||||
20
mozilla/js/ref/config/IRIX6.3.mk
Normal file
20
mozilla/js/ref/config/IRIX6.3.mk
Normal file
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
#
|
||||
# Config stuff for IRIX6.3
|
||||
#
|
||||
include config/IRIX.mk
|
||||
33
mozilla/js/ref/config/Linux_All.mk
Normal file
33
mozilla/js/ref/config/Linux_All.mk
Normal file
@@ -0,0 +1,33 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
# Config for all versions of Linux
|
||||
|
||||
CC = gcc -Wall -Wno-format
|
||||
CCC = g++ -Wall -Wno-format
|
||||
|
||||
RANLIB = echo
|
||||
|
||||
#.c.o:
|
||||
# $(CC) -c -MD $*.d $(CFLAGS) $<
|
||||
|
||||
CPU_ARCH = x86 # XXX fixme
|
||||
GFX_ARCH = x
|
||||
|
||||
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DLINUX
|
||||
OS_LIBS = -lm -lc
|
||||
|
||||
ASFLAGS += -x assembler-with-cpp
|
||||
78
mozilla/js/ref/config/SunOS4.1.4.mk
Normal file
78
mozilla/js/ref/config/SunOS4.1.4.mk
Normal file
@@ -0,0 +1,78 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
#
|
||||
# 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 =
|
||||
65
mozilla/js/ref/config/SunOS5.3.mk
Normal file
65
mozilla/js/ref/config/SunOS5.3.mk
Normal file
@@ -0,0 +1,65 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
#
|
||||
# Config stuff for SunOS5.3
|
||||
#
|
||||
|
||||
CC = gcc -Wall -Wno-format
|
||||
CCC = g++ -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
|
||||
66
mozilla/js/ref/config/SunOS5.4.mk
Normal file
66
mozilla/js/ref/config/SunOS5.4.mk
Normal file
@@ -0,0 +1,66 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
#
|
||||
# Config stuff for SunOS5.4
|
||||
#
|
||||
|
||||
ifdef NS_USE_NATIVE
|
||||
CC = cc
|
||||
CCC = CC
|
||||
else
|
||||
CC = gcc -Wall -Wno-format
|
||||
CCC = g++ -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
|
||||
65
mozilla/js/ref/config/SunOS5.5.1.mk
Normal file
65
mozilla/js/ref/config/SunOS5.5.1.mk
Normal file
@@ -0,0 +1,65 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
#
|
||||
# Config stuff for SunOS5.5
|
||||
#
|
||||
AS = as
|
||||
CC = gcc -Wall -Wno-format
|
||||
CCC = g++ -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 -D_SVID_GETTOD
|
||||
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
|
||||
60
mozilla/js/ref/config/SunOS5.5.mk
Normal file
60
mozilla/js/ref/config/SunOS5.5.mk
Normal file
@@ -0,0 +1,60 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
#
|
||||
# Config stuff for SunOS5.5
|
||||
#
|
||||
AS = as
|
||||
CC = gcc -Wall -Wno-format
|
||||
CCC = g++ -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 -D_SVID_GETTOD
|
||||
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 -DULTRA_SPARC
|
||||
else
|
||||
ULTRA_OPTIONS := -xarch=v8
|
||||
endif
|
||||
|
||||
ifeq ($(OS_CPUARCH),sun4u)
|
||||
ASFLAGS += $(ULTRA_OPTIONS)
|
||||
ifeq ($(findstring gcc,$(CC)),gcc)
|
||||
DEFINES += -Wa,$(ULTRA_OPTIONS)
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_CPUARCH),sun4m)
|
||||
ASFLAGS += -xarch=v8
|
||||
ifeq ($(findstring gcc,$(CC)),gcc)
|
||||
DEFINES += -Wa,-xarch=v8
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
44
mozilla/js/ref/config/WINNT4.0.mk
Normal file
44
mozilla/js/ref/config/WINNT4.0.mk
Normal file
@@ -0,0 +1,44 @@
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
|
||||
# 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
|
||||
|
||||
OS_CFLAGS = -DXP_PC -DWIN32 -D_WINDOWS -D_WIN32
|
||||
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 /incremental:yes /debug\
|
||||
/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
|
||||
@@ -1,35 +1,3 @@
|
||||
#
|
||||
# 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
|
||||
#
|
||||
@@ -77,25 +45,18 @@
|
||||
# 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
|
||||
CFLAGS = -D_IEEE_LIBM
|
||||
|
||||
|
||||
|
||||
#CC = cc
|
||||
CC = gcc
|
||||
|
||||
INCFILES = fdlibm.h
|
||||
.INIT: $(INCFILES)
|
||||
.KEEP_STATE:
|
||||
FDLIBM_CFILES = \
|
||||
k_standard.c k_rem_pio2.c \
|
||||
src = 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 \
|
||||
@@ -116,68 +77,34 @@ FDLIBM_CFILES = \
|
||||
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
|
||||
obj = k_standard.o k_rem_pio2.o \
|
||||
k_cos.o k_sin.o k_tan.o \
|
||||
e_acos.o e_acosh.o e_asin.o e_atan2.o \
|
||||
e_atanh.o e_cosh.o e_exp.o e_fmod.o \
|
||||
e_gamma.o e_gamma_r.o e_hypot.o e_j0.o \
|
||||
e_j1.o e_jn.o e_lgamma.o e_lgamma_r.o \
|
||||
e_log.o e_log10.o e_pow.o e_rem_pio2.o e_remainder.o \
|
||||
e_scalb.o e_sinh.o e_sqrt.o \
|
||||
w_acos.o w_acosh.o w_asin.o w_atan2.o \
|
||||
w_atanh.o w_cosh.o w_exp.o w_fmod.o \
|
||||
w_gamma.o w_gamma_r.o w_hypot.o w_j0.o \
|
||||
w_j1.o w_jn.o w_lgamma.o w_lgamma_r.o \
|
||||
w_log.o w_log10.o w_pow.o w_remainder.o \
|
||||
w_scalb.o w_sinh.o w_sqrt.o \
|
||||
s_asinh.o s_atan.o s_cbrt.o s_ceil.o s_copysign.o \
|
||||
s_cos.o s_erf.o s_expm1.o s_fabs.o s_finite.o s_floor.o \
|
||||
s_frexp.o s_ilogb.o s_isnan.o s_ldexp.o s_lib_version.o \
|
||||
s_log1p.o s_logb.o s_matherr.o s_modf.o s_nextafter.o \
|
||||
s_rint.o s_scalbn.o s_signgam.o s_significand.o s_sin.o \
|
||||
s_tan.o s_tanh.o
|
||||
|
||||
ifdef USE_MSVC
|
||||
LIBRARY = $(OBJDIR)/fdlibm.lib
|
||||
else
|
||||
LIBRARY = $(OBJDIR)/libfdm.a
|
||||
endif
|
||||
all: libfdm.a
|
||||
|
||||
define MAKE_OBJDIR
|
||||
if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); fi
|
||||
endef
|
||||
libfdm.a : $(obj)
|
||||
ar cru libfdm.a $(obj)
|
||||
ranlib libfdm.a
|
||||
|
||||
all: $(LIBRARY)
|
||||
source: $(src) README
|
||||
|
||||
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
|
||||
clean:
|
||||
/bin/rm -f $(obj) a.out libfdm.a
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -97,12 +64,7 @@ qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
#ifdef GCC_OPT_BUG
|
||||
volatile double df;
|
||||
#else
|
||||
double df;
|
||||
#endif
|
||||
double z,p,q,r,w,s,c;
|
||||
double z,p,q,r,w,s,c,df;
|
||||
int hx,ix;
|
||||
hx = __HI(x);
|
||||
ix = hx&0x7fffffff;
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -83,7 +50,7 @@ static const double
|
||||
static double
|
||||
#endif
|
||||
one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
|
||||
really_big = 1.000e+300,
|
||||
huge = 1.000e+300,
|
||||
pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */
|
||||
pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
|
||||
pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */
|
||||
@@ -106,12 +73,7 @@ qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
#ifdef GCC_OPT_BUG
|
||||
volatile double w;
|
||||
#else
|
||||
double w;
|
||||
#endif
|
||||
double t,p,q,c,r,s;
|
||||
double t,w,p,q,c,r,s;
|
||||
int hx,ix;
|
||||
hx = __HI(x);
|
||||
ix = hx&0x7fffffff;
|
||||
@@ -122,7 +84,7 @@ qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
|
||||
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*/
|
||||
if(huge+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)))));
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -104,7 +71,7 @@ pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
|
||||
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 */
|
||||
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 */
|
||||
68
mozilla/js/ref/fdlibm/e_atanh.c
Normal file
68
mozilla/js/ref/fdlibm/e_atanh.c
Normal file
@@ -0,0 +1,68 @@
|
||||
|
||||
/* @(#)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, huge = 1e300;
|
||||
#else
|
||||
static double one = 1.0, huge = 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&&(huge+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;
|
||||
}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -72,9 +39,9 @@
|
||||
#endif
|
||||
|
||||
#ifdef __STDC__
|
||||
static const double one = 1.0, half=0.5, really_big = 1.0e300;
|
||||
static const double one = 1.0, half=0.5, huge = 1.0e300;
|
||||
#else
|
||||
static double one = 1.0, half=0.5, really_big = 1.0e300;
|
||||
static double one = 1.0, half=0.5, huge = 1.0e300;
|
||||
#endif
|
||||
|
||||
#ifdef __STDC__
|
||||
@@ -122,5 +89,5 @@ static double one = 1.0, half=0.5, really_big = 1.0e300;
|
||||
}
|
||||
|
||||
/* |x| > overflowthresold, cosh(x) overflow */
|
||||
return really_big*really_big;
|
||||
return huge*huge;
|
||||
}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -116,7 +83,7 @@ static double
|
||||
#endif
|
||||
one = 1.0,
|
||||
halF[2] = {0.5,-0.5,},
|
||||
really_big = 1.0e+300,
|
||||
huge = 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 */
|
||||
@@ -139,19 +106,13 @@ P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
#ifdef GCC_OPT_BUG
|
||||
volatile int xsb;
|
||||
#else
|
||||
int xsb;
|
||||
#endif
|
||||
double y,hi,lo,c,t;
|
||||
int k;
|
||||
int k,xsb;
|
||||
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... */
|
||||
@@ -160,7 +121,7 @@ P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
|
||||
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 > o_threshold) return huge*huge; /* overflow */
|
||||
if(x < u_threshold) return twom1000*twom1000; /* underflow */
|
||||
}
|
||||
|
||||
@@ -177,13 +138,9 @@ P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
|
||||
x = hi - lo;
|
||||
}
|
||||
else if(hx < 0x3e300000) { /* when |x|<2**-28 */
|
||||
if(really_big+x>one) return one+x;/* trigger inexact */
|
||||
if(huge+x>one) return one+x;/* trigger inexact */
|
||||
}
|
||||
else {
|
||||
k = 0;
|
||||
hi = 0; /* Unused when k = 0, but prevent warning. */
|
||||
lo = 0;
|
||||
}
|
||||
else k = 0;
|
||||
|
||||
/* x is now in primary range */
|
||||
t = x*x;
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
33
mozilla/js/ref/fdlibm/e_gamma.c
Normal file
33
mozilla/js/ref/fdlibm/e_gamma.c
Normal file
@@ -0,0 +1,33 @@
|
||||
|
||||
/* @(#)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);
|
||||
}
|
||||
32
mozilla/js/ref/fdlibm/e_gamma_r.c
Normal file
32
mozilla/js/ref/fdlibm/e_gamma_r.c
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
/* @(#)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);
|
||||
}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -102,7 +69,7 @@ static const double
|
||||
#else
|
||||
static double
|
||||
#endif
|
||||
really_big = 1e300,
|
||||
huge = 1e300,
|
||||
one = 1.0,
|
||||
invsqrtpi= 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
|
||||
tpi = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
|
||||
@@ -154,7 +121,7 @@ static double zero = 0.0;
|
||||
return z;
|
||||
}
|
||||
if(ix<0x3f200000) { /* |x| < 2**-13 */
|
||||
if(really_big+x>one) { /* raise inexact if x != 0 */
|
||||
if(huge+x>one) { /* raise inexact if x != 0 */
|
||||
if(ix<0x3e400000) return one; /* |x|<2**-27 */
|
||||
else return one - 0.25*x*x;
|
||||
}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -102,7 +69,7 @@ static const double
|
||||
#else
|
||||
static double
|
||||
#endif
|
||||
really_big = 1e300,
|
||||
huge = 1e300,
|
||||
one = 1.0,
|
||||
invsqrtpi= 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
|
||||
tpi = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
|
||||
@@ -156,7 +123,7 @@ static double zero = 0.0;
|
||||
else return z;
|
||||
}
|
||||
if(ix<0x3e400000) { /* |x|<2**-27 */
|
||||
if(really_big+x>one) return 0.5*x;/* inexact if x!=0 necessary */
|
||||
if(huge+x>one) return 0.5*x;/* inexact if x!=0 necessary */
|
||||
}
|
||||
z = x*x;
|
||||
r = z*(r00+z*(r01+z*(r02+z*r03)));
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
33
mozilla/js/ref/fdlibm/e_lgamma.c
Normal file
33
mozilla/js/ref/fdlibm/e_lgamma.c
Normal file
@@ -0,0 +1,33 @@
|
||||
|
||||
/* @(#)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);
|
||||
}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -145,10 +112,8 @@ static double zero = 0.0;
|
||||
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;}
|
||||
}
|
||||
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);}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -103,7 +70,7 @@ zero = 0.0,
|
||||
one = 1.0,
|
||||
two = 2.0,
|
||||
two53 = 9007199254740992.0, /* 0x43400000, 0x00000000 */
|
||||
really_big = 1.0e300,
|
||||
huge = 1.0e300,
|
||||
tiny = 1.0e-300,
|
||||
/* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */
|
||||
L1 = 5.99999999999994648725e-01, /* 0x3FE33333, 0x33333303 */
|
||||
@@ -135,13 +102,8 @@ ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
|
||||
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;
|
||||
double z,ax,z_h,z_l,p_h,p_l;
|
||||
double y1,t1,t2,r,s,t,u,v,w;
|
||||
int i,j,k,yisint,n;
|
||||
int hx,hy,ix,iy;
|
||||
unsigned lx,ly;
|
||||
@@ -182,12 +144,7 @@ ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
|
||||
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 */
|
||||
@@ -212,13 +169,8 @@ ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
|
||||
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
|
||||
} else if(yisint==1)
|
||||
z = -z; /* (x<0)**odd = -(|x|**odd) */
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return z;
|
||||
}
|
||||
@@ -227,15 +179,15 @@ ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
|
||||
/* (x<0)**(non-int) is NaN */
|
||||
if((((hx>>31)+1)|yisint)==0) return (x-x)/(x-x);
|
||||
|
||||
/* |y| is really_big */
|
||||
/* |y| is huge */
|
||||
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;
|
||||
if(ix<=0x3fefffff) return (hy<0)? huge*huge:tiny*tiny;
|
||||
if(ix>=0x3ff00000) return (hy>0)? huge*huge: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;
|
||||
if(ix<0x3fefffff) return (hy<0)? huge*huge:tiny*tiny;
|
||||
if(ix>0x3ff00000) return (hy>0)? huge*huge: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 */
|
||||
@@ -246,12 +198,7 @@ ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
|
||||
__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;
|
||||
double s2,s_h,s_l,t_h,t_l;
|
||||
n = 0;
|
||||
/* take care subnormal number */
|
||||
if(ix<0x00100000)
|
||||
@@ -311,12 +258,11 @@ ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
|
||||
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 */
|
||||
return s*huge*huge; /* overflow */
|
||||
else {
|
||||
if(p_l+ovt>z-p_h) return s*really_big*really_big; /* overflow */
|
||||
if(p_l+ovt>z-p_h) return s*huge*huge; /* overflow */
|
||||
}
|
||||
} else if((j&0x7fffffff)>=0x4090cc00 ) { /* z <= -1075 */
|
||||
if(((j-0xc090cc00)|i)!=0) /* z < -1075 */
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
51
mozilla/js/ref/fdlibm/e_scalb.c
Normal file
51
mozilla/js/ref/fdlibm/e_scalb.c
Normal file
@@ -0,0 +1,51 @@
|
||||
|
||||
/* @(#)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
|
||||
}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
* ====================================================
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -44,16 +11,13 @@
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
|
||||
/* 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 */
|
||||
File diff suppressed because it is too large
Load Diff
BIN
mozilla/js/ref/fdlibm/fdlibm.mdp
Normal file
BIN
mozilla/js/ref/fdlibm/fdlibm.mdp
Normal file
Binary file not shown.
1
mozilla/js/ref/fdlibm/fdlibm.ncb
Normal file
1
mozilla/js/ref/fdlibm/fdlibm.ncb
Normal file
@@ -0,0 +1 @@
|
||||
Microsoft C/C++ program database 2.00
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -46,15 +13,7 @@
|
||||
*/
|
||||
|
||||
#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
|
||||
#include <errno.h>
|
||||
|
||||
|
||||
#ifndef _USE_WRITE
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
61
mozilla/js/ref/fdlibm/s_asinh.c
Normal file
61
mozilla/js/ref/fdlibm/s_asinh.c
Normal file
@@ -0,0 +1,61 @@
|
||||
|
||||
/* @(#)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 */
|
||||
huge= 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(huge+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;
|
||||
}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -113,7 +80,7 @@ static double aT[] = {
|
||||
static double
|
||||
#endif
|
||||
one = 1.0,
|
||||
really_big = 1.0e300;
|
||||
huge = 1.0e300;
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_atan(double x)
|
||||
@@ -135,7 +102,7 @@ really_big = 1.0e300;
|
||||
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 */
|
||||
if(huge+x>one) return x; /* raise inexact */
|
||||
}
|
||||
id = -1;
|
||||
} else {
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
78
mozilla/js/ref/fdlibm/s_ceil.c
Normal file
78
mozilla/js/ref/fdlibm/s_ceil.c
Normal file
@@ -0,0 +1,78 @@
|
||||
|
||||
/* @(#)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 huge = 1.0e300;
|
||||
#else
|
||||
static double huge = 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(huge+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(huge+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(huge+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;
|
||||
}
|
||||
31
mozilla/js/ref/fdlibm/s_copysign.c
Normal file
31
mozilla/js/ref/fdlibm/s_copysign.c
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
/* @(#)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;
|
||||
}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -147,7 +114,7 @@ static const double
|
||||
static double
|
||||
#endif
|
||||
one = 1.0,
|
||||
really_big = 1.0e+300,
|
||||
huge = 1.0e+300,
|
||||
tiny = 1.0e-300,
|
||||
o_threshold = 7.09782712893383973096e+02,/* 0x40862E42, 0xFEFA39EF */
|
||||
ln2_hi = 6.93147180369123816490e-01,/* 0x3fe62e42, 0xfee00000 */
|
||||
@@ -184,7 +151,7 @@ Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
|
||||
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(x > o_threshold) return huge*huge; /* overflow */
|
||||
}
|
||||
if(xsb!=0) { /* x < -56*ln2, return -1.0 with inexact */
|
||||
if(x+tiny<0.0) /* raise inexact */
|
||||
@@ -209,8 +176,8 @@ Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */
|
||||
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));
|
||||
t = huge+x; /* return x with inexact flags when x!=0 */
|
||||
return x - (t-(huge+x));
|
||||
}
|
||||
else k = 0;
|
||||
|
||||
29
mozilla/js/ref/fdlibm/s_fabs.c
Normal file
29
mozilla/js/ref/fdlibm/s_fabs.c
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
/* @(#)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;
|
||||
}
|
||||
31
mozilla/js/ref/fdlibm/s_finite.c
Normal file
31
mozilla/js/ref/fdlibm/s_finite.c
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
/* @(#)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;
|
||||
}
|
||||
79
mozilla/js/ref/fdlibm/s_floor.c
Normal file
79
mozilla/js/ref/fdlibm/s_floor.c
Normal file
@@ -0,0 +1,79 @@
|
||||
|
||||
/* @(#)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 huge = 1.0e300;
|
||||
#else
|
||||
static double huge = 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(huge+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(huge+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(huge+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;
|
||||
}
|
||||
56
mozilla/js/ref/fdlibm/s_frexp.c
Normal file
56
mozilla/js/ref/fdlibm/s_frexp.c
Normal file
@@ -0,0 +1,56 @@
|
||||
|
||||
/* @(#)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;
|
||||
}
|
||||
46
mozilla/js/ref/fdlibm/s_ilogb.c
Normal file
46
mozilla/js/ref/fdlibm/s_ilogb.c
Normal file
@@ -0,0 +1,46 @@
|
||||
|
||||
/* @(#)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;
|
||||
}
|
||||
34
mozilla/js/ref/fdlibm/s_isnan.c
Normal file
34
mozilla/js/ref/fdlibm/s_isnan.c
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
/* @(#)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;
|
||||
}
|
||||
28
mozilla/js/ref/fdlibm/s_ldexp.c
Normal file
28
mozilla/js/ref/fdlibm/s_ldexp.c
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
/* @(#)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;
|
||||
}
|
||||
35
mozilla/js/ref/fdlibm/s_lib_version.c
Normal file
35
mozilla/js/ref/fdlibm/s_lib_version.c
Normal file
@@ -0,0 +1,35 @@
|
||||
|
||||
/* @(#)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
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
38
mozilla/js/ref/fdlibm/s_logb.c
Normal file
38
mozilla/js/ref/fdlibm/s_logb.c
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
/* @(#)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);
|
||||
}
|
||||
26
mozilla/js/ref/fdlibm/s_matherr.c
Normal file
26
mozilla/js/ref/fdlibm/s_matherr.c
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
/* @(#)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;
|
||||
}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
63
mozilla/js/ref/fdlibm/s_scalbn.c
Normal file
63
mozilla/js/ref/fdlibm/s_scalbn.c
Normal file
@@ -0,0 +1,63 @@
|
||||
|
||||
/* @(#)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 */
|
||||
huge = 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 huge*fd_copysign(huge,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 huge*fd_copysign(huge,x); /*overflow*/
|
||||
else return tiny*fd_copysign(tiny,x); /*underflow*/
|
||||
k += 54; /* subnormal result */
|
||||
__HI(x) = (hx&0x800fffff)|(k<<20);
|
||||
return x*twom54;
|
||||
}
|
||||
2
mozilla/js/ref/fdlibm/s_signgam.c
Normal file
2
mozilla/js/ref/fdlibm/s_signgam.c
Normal file
@@ -0,0 +1,2 @@
|
||||
#include "fdlibm.h"
|
||||
int signgam = 0;
|
||||
30
mozilla/js/ref/fdlibm/s_significand.c
Normal file
30
mozilla/js/ref/fdlibm/s_significand.c
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
/* @(#)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));
|
||||
}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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 */
|
||||
/*
|
||||
39
mozilla/js/ref/fdlibm/w_acos.c
Normal file
39
mozilla/js/ref/fdlibm/w_acos.c
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
/* @(#)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
|
||||
}
|
||||
39
mozilla/js/ref/fdlibm/w_acosh.c
Normal file
39
mozilla/js/ref/fdlibm/w_acosh.c
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
/* @(#)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
|
||||
}
|
||||
41
mozilla/js/ref/fdlibm/w_asin.c
Normal file
41
mozilla/js/ref/fdlibm/w_asin.c
Normal file
@@ -0,0 +1,41 @@
|
||||
|
||||
/* @(#)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
|
||||
}
|
||||
40
mozilla/js/ref/fdlibm/w_atan2.c
Normal file
40
mozilla/js/ref/fdlibm/w_atan2.c
Normal file
@@ -0,0 +1,40 @@
|
||||
|
||||
/* @(#)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
|
||||
}
|
||||
42
mozilla/js/ref/fdlibm/w_atanh.c
Normal file
42
mozilla/js/ref/fdlibm/w_atanh.c
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
/* @(#)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
|
||||
}
|
||||
38
mozilla/js/ref/fdlibm/w_cosh.c
Normal file
38
mozilla/js/ref/fdlibm/w_cosh.c
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
/* @(#)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
|
||||
}
|
||||
49
mozilla/js/ref/fdlibm/w_exp.c
Normal file
49
mozilla/js/ref/fdlibm/w_exp.c
Normal file
@@ -0,0 +1,49 @@
|
||||
|
||||
/* @(#)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
|
||||
}
|
||||
39
mozilla/js/ref/fdlibm/w_fmod.c
Normal file
39
mozilla/js/ref/fdlibm/w_fmod.c
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
/* @(#)w_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.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* wrapper fmod(x,y)
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_fmod(double x, double y) /* wrapper fmod */
|
||||
#else
|
||||
double fd_fmod(x,y) /* wrapper fmod */
|
||||
double x,y;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_fmod(x,y);
|
||||
#else
|
||||
double z;
|
||||
z = __ieee754_fmod(x,y);
|
||||
if(_LIB_VERSION == _IEEE_ ||fd_isnan(y)||fd_isnan(x)) return z;
|
||||
if(y==0.0) {
|
||||
return __kernel_standard(x,y,27); /* fmod(x,0) */
|
||||
} else
|
||||
return z;
|
||||
#endif
|
||||
}
|
||||
46
mozilla/js/ref/fdlibm/w_gamma.c
Normal file
46
mozilla/js/ref/fdlibm/w_gamma.c
Normal file
@@ -0,0 +1,46 @@
|
||||
|
||||
/* @(#)w_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.
|
||||
* ====================================================
|
||||
*
|
||||
*/
|
||||
|
||||
/* double gamma(double x)
|
||||
* Return the logarithm of the Gamma function of x.
|
||||
*
|
||||
* Method: call gamma_r
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
extern int signgam;
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_gamma(double x)
|
||||
#else
|
||||
double fd_gamma(x)
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_gamma_r(x,&signgam);
|
||||
#else
|
||||
double y;
|
||||
y = __ieee754_gamma_r(x,&signgam);
|
||||
if(_LIB_VERSION == _IEEE_) return y;
|
||||
if(!fd_finite(y)&&fd_finite(x)) {
|
||||
if(fd_floor(x)==x&&x<=0.0)
|
||||
return __kernel_standard(x,x,41); /* gamma pole */
|
||||
else
|
||||
return __kernel_standard(x,x,40); /* gamma overflow */
|
||||
} else
|
||||
return y;
|
||||
#endif
|
||||
}
|
||||
42
mozilla/js/ref/fdlibm/w_gamma_r.c
Normal file
42
mozilla/js/ref/fdlibm/w_gamma_r.c
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
/* @(#)w_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.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* wrapper double gamma_r(double x, int *signgamp)
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_gamma_r(double x, int *signgamp) /* wrapper lgamma_r */
|
||||
#else
|
||||
double fd_gamma_r(x,signgamp) /* wrapper lgamma_r */
|
||||
double x; int *signgamp;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_gamma_r(x,signgamp);
|
||||
#else
|
||||
double y;
|
||||
y = __ieee754_gamma_r(x,signgamp);
|
||||
if(_LIB_VERSION == _IEEE_) return y;
|
||||
if(!fd_finite(y)&&fd_finite(x)) {
|
||||
if(fd_floor(x)==x&&x<=0.0)
|
||||
return __kernel_standard(x,x,41); /* gamma pole */
|
||||
else
|
||||
return __kernel_standard(x,x,40); /* gamma overflow */
|
||||
} else
|
||||
return y;
|
||||
#endif
|
||||
}
|
||||
39
mozilla/js/ref/fdlibm/w_hypot.c
Normal file
39
mozilla/js/ref/fdlibm/w_hypot.c
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
/* @(#)w_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.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* wrapper hypot(x,y)
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_hypot(double x, double y)/* wrapper hypot */
|
||||
#else
|
||||
double fd_hypot(x,y) /* wrapper hypot */
|
||||
double x,y;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_hypot(x,y);
|
||||
#else
|
||||
double z;
|
||||
z = __ieee754_hypot(x,y);
|
||||
if(_LIB_VERSION == _IEEE_) return z;
|
||||
if((!fd_finite(z))&&fd_finite(x)&&fd_finite(y))
|
||||
return __kernel_standard(x,y,4); /* hypot overflow */
|
||||
else
|
||||
return z;
|
||||
#endif
|
||||
}
|
||||
65
mozilla/js/ref/fdlibm/w_j0.c
Normal file
65
mozilla/js/ref/fdlibm/w_j0.c
Normal file
@@ -0,0 +1,65 @@
|
||||
|
||||
/* @(#)w_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.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* wrapper j0(double x), y0(double x)
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_j0(double x) /* wrapper j0 */
|
||||
#else
|
||||
double fd_j0(x) /* wrapper j0 */
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_j0(x);
|
||||
#else
|
||||
double z = __ieee754_j0(x);
|
||||
if(_LIB_VERSION == _IEEE_ || fd_isnan(x)) return z;
|
||||
if(fd_fabs(x)>X_TLOSS) {
|
||||
return __kernel_standard(x,x,34); /* j0(|x|>X_TLOSS) */
|
||||
} else
|
||||
return z;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef __STDC__
|
||||
double y0(double x) /* wrapper y0 */
|
||||
#else
|
||||
double y0(x) /* wrapper y0 */
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_y0(x);
|
||||
#else
|
||||
double z;
|
||||
z = __ieee754_y0(x);
|
||||
if(_LIB_VERSION == _IEEE_ || fd_isnan(x) ) return z;
|
||||
if(x <= 0.0){
|
||||
if(x==0.0)
|
||||
/* d= -one/(x-x); */
|
||||
return __kernel_standard(x,x,8);
|
||||
else
|
||||
/* d = zero/(x-x); */
|
||||
return __kernel_standard(x,x,9);
|
||||
}
|
||||
if(x>X_TLOSS) {
|
||||
return __kernel_standard(x,x,35); /* y0(x>X_TLOSS) */
|
||||
} else
|
||||
return z;
|
||||
#endif
|
||||
}
|
||||
66
mozilla/js/ref/fdlibm/w_j1.c
Normal file
66
mozilla/js/ref/fdlibm/w_j1.c
Normal file
@@ -0,0 +1,66 @@
|
||||
|
||||
/* @(#)w_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.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* wrapper of j1,y1
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_j1(double x) /* wrapper j1 */
|
||||
#else
|
||||
double fd_j1(x) /* wrapper j1 */
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_j1(x);
|
||||
#else
|
||||
double z;
|
||||
z = __ieee754_j1(x);
|
||||
if(_LIB_VERSION == _IEEE_ || fd_isnan(x) ) return z;
|
||||
if(fd_fabs(x)>X_TLOSS) {
|
||||
return __kernel_standard(x,x,36); /* j1(|x|>X_TLOSS) */
|
||||
} else
|
||||
return z;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef __STDC__
|
||||
double y1(double x) /* wrapper y1 */
|
||||
#else
|
||||
double y1(x) /* wrapper y1 */
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_y1(x);
|
||||
#else
|
||||
double z;
|
||||
z = __ieee754_y1(x);
|
||||
if(_LIB_VERSION == _IEEE_ || fd_isnan(x) ) return z;
|
||||
if(x <= 0.0){
|
||||
if(x==0.0)
|
||||
/* d= -one/(x-x); */
|
||||
return __kernel_standard(x,x,10);
|
||||
else
|
||||
/* d = zero/(x-x); */
|
||||
return __kernel_standard(x,x,11);
|
||||
}
|
||||
if(x>X_TLOSS) {
|
||||
return __kernel_standard(x,x,37); /* y1(x>X_TLOSS) */
|
||||
} else
|
||||
return z;
|
||||
#endif
|
||||
}
|
||||
@@ -1,36 +1,3 @@
|
||||
/* -*- 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_jn.c 1.3 95/01/18 */
|
||||
/*
|
||||
46
mozilla/js/ref/fdlibm/w_lgamma.c
Normal file
46
mozilla/js/ref/fdlibm/w_lgamma.c
Normal file
@@ -0,0 +1,46 @@
|
||||
|
||||
/* @(#)w_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.
|
||||
* ====================================================
|
||||
*
|
||||
*/
|
||||
|
||||
/* double lgamma(double x)
|
||||
* Return the logarithm of the Gamma function of x.
|
||||
*
|
||||
* Method: call __ieee754_lgamma_r
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
extern int signgam;
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_lgamma(double x)
|
||||
#else
|
||||
double fd_lgamma(x)
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_lgamma_r(x,&signgam);
|
||||
#else
|
||||
double y;
|
||||
y = __ieee754_lgamma_r(x,&signgam);
|
||||
if(_LIB_VERSION == _IEEE_) return y;
|
||||
if(!fd_finite(y)&&fd_finite(x)) {
|
||||
if(fd_floor(x)==x&&x<=0.0)
|
||||
return __kernel_standard(x,x,15); /* lgamma pole */
|
||||
else
|
||||
return __kernel_standard(x,x,14); /* lgamma overflow */
|
||||
} else
|
||||
return y;
|
||||
#endif
|
||||
}
|
||||
42
mozilla/js/ref/fdlibm/w_lgamma_r.c
Normal file
42
mozilla/js/ref/fdlibm/w_lgamma_r.c
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
/* @(#)w_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.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* wrapper double lgamma_r(double x, int *signgamp)
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_lgamma_r(double x, int *signgamp) /* wrapper lgamma_r */
|
||||
#else
|
||||
double fd_lgamma_r(x,signgamp) /* wrapper lgamma_r */
|
||||
double x; int *signgamp;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_lgamma_r(x,signgamp);
|
||||
#else
|
||||
double y;
|
||||
y = __ieee754_lgamma_r(x,signgamp);
|
||||
if(_LIB_VERSION == _IEEE_) return y;
|
||||
if(!fd_finite(y)&&fd_finite(x)) {
|
||||
if(fd_floor(x)==x&&x<=0.0)
|
||||
return __kernel_standard(x,x,15); /* lgamma pole */
|
||||
else
|
||||
return __kernel_standard(x,x,14); /* lgamma overflow */
|
||||
} else
|
||||
return y;
|
||||
#endif
|
||||
}
|
||||
39
mozilla/js/ref/fdlibm/w_log.c
Normal file
39
mozilla/js/ref/fdlibm/w_log.c
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
/* @(#)w_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.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* wrapper log(x)
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_log(double x) /* wrapper log */
|
||||
#else
|
||||
double fd_log(x) /* wrapper log */
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_log(x);
|
||||
#else
|
||||
double z;
|
||||
z = __ieee754_log(x);
|
||||
if(_LIB_VERSION == _IEEE_ || fd_isnan(x) || x > 0.0) return z;
|
||||
if(x==0.0)
|
||||
return __kernel_standard(x,x,16); /* log(0) */
|
||||
else
|
||||
return __kernel_standard(x,x,17); /* log(x<0) */
|
||||
#endif
|
||||
}
|
||||
42
mozilla/js/ref/fdlibm/w_log10.c
Normal file
42
mozilla/js/ref/fdlibm/w_log10.c
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
/* @(#)w_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.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* wrapper log10(X)
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_log10(double x) /* wrapper log10 */
|
||||
#else
|
||||
double fd_log10(x) /* wrapper log10 */
|
||||
double x;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_log10(x);
|
||||
#else
|
||||
double z;
|
||||
z = __ieee754_log10(x);
|
||||
if(_LIB_VERSION == _IEEE_ || fd_isnan(x)) return z;
|
||||
if(x<=0.0) {
|
||||
if(x==0.0)
|
||||
return __kernel_standard(x,x,18); /* log10(0) */
|
||||
else
|
||||
return __kernel_standard(x,x,19); /* log10(x<0) */
|
||||
} else
|
||||
return z;
|
||||
#endif
|
||||
}
|
||||
68
mozilla/js/ref/fdlibm/w_pow.c
Normal file
68
mozilla/js/ref/fdlibm/w_pow.c
Normal file
@@ -0,0 +1,68 @@
|
||||
|
||||
|
||||
/* @(#)w_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.
|
||||
* ====================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* wrapper pow(x,y) return x**y
|
||||
*/
|
||||
|
||||
#include "fdlibm.h"
|
||||
|
||||
|
||||
#ifdef __STDC__
|
||||
double fd_pow(double x, double y) /* wrapper pow */
|
||||
#else
|
||||
double fd_pow(x,y) /* wrapper pow */
|
||||
double x,y;
|
||||
#endif
|
||||
{
|
||||
#ifdef _IEEE_LIBM
|
||||
return __ieee754_pow(x,y);
|
||||
#else
|
||||
double z;
|
||||
z=__ieee754_pow(x,y);
|
||||
if(_LIB_VERSION == _IEEE_|| fd_isnan(y)) return z;
|
||||
if(fd_isnan(x)) {
|
||||
if(y==0.0)
|
||||
return __kernel_standard(x,y,42); /* pow(NaN,0.0) */
|
||||
else
|
||||
return z;
|
||||
}
|
||||
if(x==0.0){
|
||||
#ifdef HPUX
|
||||
if ((-1==fd_copysign(1, x))&&((y+1)/2==fd_floor((y+1)/2))) {
|
||||
if (y>0)
|
||||
return x;
|
||||
else
|
||||
return 1/x;
|
||||
}
|
||||
#endif
|
||||
if(y==0.0)
|
||||
return __kernel_standard(x,y,20); /* pow(0.0,0.0) */
|
||||
if(fd_finite(y)&&y<0.0)
|
||||
return __kernel_standard(x,y,23); /* pow(0.0,negative) */
|
||||
return z;
|
||||
}
|
||||
if(!fd_finite(z)) {
|
||||
if(fd_finite(x)&&fd_finite(y)) {
|
||||
if(fd_isnan(z))
|
||||
return __kernel_standard(x,y,24); /* pow neg**non-int */
|
||||
else
|
||||
return __kernel_standard(x,y,21); /* pow overflow */
|
||||
}
|
||||
}
|
||||
if(z==0.0&&fd_finite(x)&&fd_finite(y))
|
||||
return __kernel_standard(x,y,22); /* pow underflow */
|
||||
return z;
|
||||
#endif
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user