[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r110980: Document Calc Gregorian in N
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r110980: Document Calc Gregorian in NEWS; fix manual a bit. |
Date: |
Thu, 22 Nov 2012 00:39:27 -0800 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 110980
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Thu 2012-11-22 00:39:27 -0800
message:
Document Calc Gregorian in NEWS; fix manual a bit.
modified:
doc/misc/ChangeLog
doc/misc/calc.texi
etc/ChangeLog
etc/NEWS
=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog 2012-11-22 01:47:04 +0000
+++ b/doc/misc/ChangeLog 2012-11-22 08:39:27 +0000
@@ -1,3 +1,9 @@
+2012-11-22 Paul Eggert <address@hidden>
+
+ * calc.texi: Fix TeX issues with capitals followed by ".", "?", "!".
+ (Date Forms): Correct off-by-one error in explanation of
+ Julian day numbers. Give Gregorian equivalent of its origin.
+
2012-11-22 Jay Belanger <address@hidden>
* doc/misc/calc.texi (Date Forms): Mention the customizable
=== modified file 'doc/misc/calc.texi'
--- a/doc/misc/calc.texi 2012-11-22 01:47:04 +0000
+++ b/doc/misc/calc.texi 2012-11-22 08:39:27 +0000
@@ -1186,7 +1186,7 @@
fair to give the user direct access to it, which in turn made it
practical to support fractions as well as floats. All these features
inspired me to look around for other data types that might be worth
-having.
+having.
Around this time, my friend Rick Koshi showed me his nifty new HP-28
calculator. It allowed the user to manipulate formulas as well as
@@ -4461,7 +4461,7 @@
Friday the 13th? @xref{Types Answer 5, 5}. (@bullet{})
(@bullet{}) @strong{Exercise 6.} How many leap years will there be
-between now and the year 10001 A.D.? @xref{Types Answer 6, 6}. (@bullet{})
+between now and the year 10001 address@hidden @xref{Types Answer 6, 6}.
(@bullet{})
@cindex Slope and angle of a line
@cindex Angle and slope of a line
@@ -5693,7 +5693,7 @@
rearranged. (This one is rather tricky; the solution at the end of
this chapter uses 6 rewrite rules. Hint: The @samp{constant(x)}
condition tests whether @samp{x} is a number.) @xref{Rewrites Answer
-6, 6}. (@bullet{})
+6, 6}. (@bullet{})
Just for kicks, try adding the rule @code{2+3 := 6} to @code{EvalRules}.
What happens? (Be sure to remove this rule afterward, or you might get
@@ -8697,7 +8697,7 @@
@smallexample
@group
___
-1: V 2
+1: V 2
.
a r a*(b+c) := a*b + a*c
@@ -8897,7 +8897,7 @@
apply to any product-of-sum it encounters---this rule may surprise
you if you put it into @code{EvalRules}!
-In the second rule, the sum of two O's is changed to the smaller O.
+In the second rule, the sum of two O's is changed to the smaller address@hidden
The optional constant coefficients are there mostly so that
@samp{O(x^2) - O(x^3)} and @samp{O(x^3) - O(x^2)} are handled
as well as @samp{O(x^2) + O(x^3)}.
@@ -10987,7 +10987,7 @@
notations for dates and times. @xref{Date Formats}.
Date forms are stored internally as numbers, specifically the number
-of days since midnight on the morning of December 31 of the year 1 BC.
+of days since midnight on the morning of December 31 of the year 1
address@hidden
If the internal number is an integer, the form represents a date only;
if the internal number is a fraction or float, the form represents
a date and time. For example, @samp{<6:00am Thu Jan 10, 1991>}
@@ -11010,13 +11010,13 @@
of a date form. @xref{Packing and Unpacking}.
Date forms can go arbitrarily far into the future or past. Negative
-year numbers represent years BC. There is no ``year 0''; the day
+year numbers represent years address@hidden There is no ``year 0''; the day
before @samp{<Mon Jan 1, +1>} is @samp{<Sun Dec 31, -1>}. These are
days 1 and 0 respectively in Calc's internal numbering scheme. The
Gregorian calendar is used for all dates, including dates before the
Gregorian calendar was invented (although that can be configured; see
below). Thus Calc's use of the day number @mathit{-10000} to
-represent August 15, 28 BC should be taken with a grain of salt.
+represent August 15, 28 BC should be taken with a grain of salt.
@cindex Julian calendar
@cindex Gregorian calendar
@@ -11025,7 +11025,7 @@
caused by the irregular Roman calendar that was used before that time.
The Julian calendar introduced an extra day in all years divisible by
four. After some initial confusion, the calendar was adopted around
-the year we call 8 AD. Some centuries later it became
+the year we call 8 address@hidden Some centuries later it became
apparent that the Julian year of 365.25 days was itself not quite
right. In 1582 Pope Gregory XIII introduced the Gregorian calendar,
which added the new rule that years divisible by 100, but not by 400,
@@ -11039,39 +11039,41 @@
Gregorian calendar until 1918, and that year in Russia the day after
January 31 was February 14. Calc's reckoning therefore matches English
practice starting in 1752 and Russian practice starting in 1918, but
-disagrees with earlier dates in both countries.
+disagrees with earlier dates in both countries.
When the Julian calendar was introduced, it had January 1 as the first
day of the year. By the Middle Ages, many European countries
had changed the beginning of a new year to a different date, often to
a religious festival. Almost all countries reverted to using January 1
as the beginning of the year by the time they adopted the Gregorian
-calendar.
+calendar.
Some calendars attempt to mimic the historical situation by using the
Gregorian calendar for recent dates and the Julian calendar for older
dates. The @code{cal} program in most Unix implementations does this,
for example. While January 1 wasn't always the beginning of a calendar
year, these hybrid calendars still use January 1 as the beginning of
-the year even for older dates. The customizable variable
+the year even for older dates. The customizable variable
@code{calc-gregorian-switch} (@pxref{Customizing Calc}) can be set to
have Calc's date forms switch from the Julian to Gregorian calendar at
-any specified date.
+any specified date.
Today's timekeepers introduce an occasional ``leap second''.
These do not occur regularly and Calc does not take these minor
effects into account. (If it did, it would have to report a
-non-integer number of days between, say,
address@hidden<12:00am Mon Jan 1, 1900>} and
+non-integer number of days between, say,
address@hidden<12:00am Mon Jan 1, 1900>} and
@samp{<12:00am Sat Jan 1, 2000>}.)
@cindex Julian day counting
Another day counting system in common use is, confusingly, also called
-``Julian.'' The Julian day number is the numbers of days since
-12:00 noon (GMT) on Jan 1, 4713 BC, which in Calc's scheme (in GMT)
-is @mathit{-1721423.5} (recall that Calc starts at midnight instead
-of noon). Thus to convert a Calc date code obtained by unpacking a
-date form into a Julian day number, simply add 1721423.5 after
+``Julian.'' Julian days go from noon to noon. The Julian day number
+is the numbers of days since 12:00 noon (GMT) on November 24, 4714 BC
+in the Gregorian calendar (i.e., January 1, 4713 BC in the Julian
+calendar). In Calc's scheme (in GMT) the Julian day origin is
address@hidden, because Calc starts at midnight instead of noon.
+Thus to convert a Calc date code obtained by unpacking a
+date form into a Julian day number, simply add 1721422.5 after
compensating for the time zone difference. The built-in @kbd{t J}
command performs this conversion for you.
@@ -11103,7 +11105,7 @@
up by other astronomers. (At the time, noon was the start of the
astronomical day. Herschel originally suggested counting the days
since Jan 1, 4713 BC at noon Alexandria time; this was later amended to
-noon GMT.) Julian day numbering is largely used in astronomy.
+noon address@hidden) Julian day numbering is largely used in astronomy.
@cindex Unix time format
The Unix operating system measures time as an integer number of
@@ -12651,7 +12653,7 @@
A common technique is to set the simplification mode down to the lowest
amount of simplification you will allow to be applied automatically, then
use manual commands like @kbd{a s} and @kbd{c c} (@code{calc-clean}) to
-perform higher types of simplifications on demand.
+perform higher types of simplifications on demand.
@node Declarations, Display Modes, Simplification Modes, Mode Settings
@section Declarations
@@ -13002,7 +13004,7 @@
function checks for nonnegative reals, i.e., reals greater than or
equal to zero. Note that Calc's algebraic simplifications, which are
effectively applied to all conditions in rewrite rules, can simplify
-an expression like @expr{x > 0} to 1 or 0 using @code{dpos}.
+an expression like @expr{x > 0} to 1 or 0 using @code{dpos}.
So the actual functions @code{dpos}, @code{dneg}, and @code{dnonneg}
are rarely necessary.
@@ -13437,7 +13439,7 @@
match exactly; letter fields must correspond to suitable text in
the input. If this doesn't work, Calc checks if the input is a
simple number; if so, the number is interpreted as a number of days
-since Jan 1, 1 AD. Otherwise, Calc tries a much more relaxed and
+since Jan 1, 1 address@hidden Otherwise, Calc tries a much more relaxed and
flexible algorithm which is described in the next section.
Weekday names are ignored during reading.
@@ -14666,7 +14668,7 @@
The @kbd{d W} (@code{calc-maple-language}) command selects the
conventions of Maple.
-Maple's language is much like C. Underscores are allowed in symbol
+Maple's language is much like address@hidden Underscores are allowed in symbol
names; square brackets are used for subscripts; explicit @samp{*}s for
multiplications are required. Use either @samp{^} or @samp{**} to
denote powers.
@@ -16727,7 +16729,7 @@
If the simplification mode is set below basic simplification, it is raised
for the purposes of this command. Thus, @kbd{c c} applies the basic
simplifications even if their automatic application is disabled.
address@hidden Modes}.
address@hidden Modes}.
@cindex Roundoff errors, correcting
A numeric prefix argument to @kbd{c c} sets the floating-point precision
@@ -16804,7 +16806,7 @@
@pindex calc-date
@tindex date
The @kbd{t D} (@code{calc-date}) address@hidden command converts a
-date form into a number, measured in days since Jan 1, 1 AD. The
+date form into a number, measured in days since Jan 1, 1 address@hidden The
result will be an integer if @var{date} is a pure date form, or a
fraction or float if @var{date} is a date/time form. Or, if its
argument is a number, it converts this number into a date form.
@@ -16842,7 +16844,7 @@
@cindex Julian day counts, conversions
The @kbd{t J} (@code{calc-julian}) address@hidden command converts
a date form into a Julian day count, which is the number of days
-since noon (GMT) on Jan 1, 4713 BC. A pure date is converted to an
+since noon (GMT) on Jan 1, 4713 address@hidden A pure date is converted to an
integer Julian count representing noon of that day. A date/time form
is converted to an exact floating-point Julian count, adjusted to
interpret the date form in the current time zone but the Julian
@@ -18988,7 +18990,7 @@
ten, however, the numbers should be completely unbiased.
The Gaussian random numbers generated by @samp{random(0.0)} use the
-``polar'' method described in Knuth section 3.4.1C. This method
+``polar'' method described in Knuth section address@hidden This method
generates a pair of Gaussian random numbers at a time, so only every
other call to @samp{random(0.0)} will require significant calculations.
@@ -22188,7 +22190,7 @@
If you give a numeric prefix argument of 2 to @kbd{a v}, it simplifies
using Calc's algebraic simplifications; @pxref{Simplifying Formulas}.
If you give a numeric prefix of 3 or more, it uses Extended
-Simplification mode (@kbd{a e}).
+Simplification mode (@kbd{a e}).
If you give a negative prefix argument @mathit{-1}, @mathit{-2}, or
@mathit{-3},
it simplifies in the corresponding mode but only works on the top-level
@@ -22261,7 +22263,7 @@
are mapped, the direction of the second inequality is reversed to
match the first: Using @kbd{a M +} on @samp{a < b} and @samp{a > 2}
reverses the latter to get @samp{2 < a}, which then allows the
-combination @samp{a + 2 < b + a}, which the algebraic simplifications
+combination @samp{a + 2 < b + a}, which the algebraic simplifications
can reduce to @samp{2 < b}.
Using @kbd{a M *}, @kbd{a M /}, @kbd{a M n}, or @kbd{a M &} to negate
@@ -22408,7 +22410,7 @@
@kbd{Q} address@hidden, the arguments are simply popped from the stack
and collected into a suitable function call, which is then simplified
(the arguments being simplified first as part of the process, as
-described above).
+described above).
Even the basic set of simplifications are too numerous to describe
completely here, but this section will describe the ones that apply to the
@@ -22714,7 +22716,7 @@
mode. If you have switched to a different simplification mode, you can
switch back with the @kbd{m A} command. Even in other simplification
modes, the @kbd{a s} command will use these algebraic simplifications to
-simplify the formula.
+simplify the formula.
There is a variable, @code{AlgSimpRules}, in which you can put rewrites
to be applied. Its use is analogous to @code{EvalRules},
@@ -22751,7 +22753,7 @@
simplifications will not change @expr{x y + y x} to @expr{2 x y},
but the algebraic simplifications; it first rewrites the sum to
@expr{x y + x y} which can then be recognized as a sum of identical
-terms.
+terms.
The canonical ordering used to sort terms of products has the
property that real-valued numbers, interval forms and infinities
@@ -22794,10 +22796,10 @@
for example, @expr{(4 x + 6) / 8 x} simplifies to @expr{(2 x + 3) / 4 x}.
Non-constant common factors are not found even by algebraic
-simplifications. To cancel the factor @expr{a} in
+simplifications. To cancel the factor @expr{a} in
@expr{(a x + a) / a^2} you could first use @kbd{j M} on the product
@expr{a x} to Merge the numerator to @expr{a (1+x)}, which can then be
-simplified successfully.
+simplified successfully.
@tex
\bigskip
@@ -22950,7 +22952,7 @@
@tindex esimplify
Calc is capable of performing some simplifications which may sometimes
be desired but which are not ``safe'' in all cases. The @kbd{a e}
-(@code{calc-simplify-extended}) address@hidden command
+(@code{calc-simplify-extended}) address@hidden command
applies the algebraic simplifications as well as these extended, or
``unsafe'', simplifications. Use this only if you know the values in
your formula lie in the restricted ranges for which these
@@ -23594,10 +23596,10 @@
@vindex IntegSimpRules
Another set of rules, stored in @code{IntegSimpRules}, are applied
every time the integrator uses algebraic simplifications to simplify an
-intermediate result. For example, putting the rule
+intermediate result. For example, putting the rule
@samp{twice(x) := 2 x} into @code{IntegSimpRules} would tell Calc to
convert the @code{twice} function into a form it knows whenever
-integration is attempted.
+integration is attempted.
One more way to influence the integrator is to define a function with
the @kbd{Z F} command (@pxref{Algebraic Definitions}). Calc's
@@ -26762,7 +26764,7 @@
been matched to something else the two values must be equal; if the
meta-variable is new then it is bound to the result of the expression.
This variable can then appear in later conditions, and on the righthand
-side of the rule.
+side of the rule.
In fact, @expr{v} may be any pattern in which case the result of
evaluating @expr{x} is matched to that pattern, binding any
meta-variables that appear in that pattern. Note that @code{let}
@@ -27516,7 +27518,7 @@
formula. The variable @code{AlgSimpRules} holds rules for this purpose.
The @kbd{a s} command will apply @code{EvalRules} and
@code{AlgSimpRules} to the formula, as well as all of its built-in
-simplifications.
+simplifications.
Most of the special limitations for @code{EvalRules} don't apply to
@code{AlgSimpRules}. Calc simply does an @kbd{a r AlgSimpRules}
@@ -27524,7 +27526,7 @@
simplifications. It then applies its own built-in simplifications
throughout the formula, and then repeats these two steps (along with
applying the default simplifications) until no further changes are
-possible.
+possible.
@cindex @code{ExtSimpRules} variable
@cindex @code{UnitSimpRules} variable
@@ -28959,9 +28961,9 @@
All current modes apply when an @samp{=>} operator is computed,
including the current simplification mode. Recall that the
formula @samp{arcsin(sin(x))} will not be handled by Calc's algebraic
-simplifications, but Calc's unsafe simplifications will reduce it to
+simplifications, but Calc's unsafe simplifications will reduce it to
@samp{x}. If you enter @samp{arcsin(sin(x)) =>} normally, the result
-will be @samp{arcsin(sin(x)) => arcsin(sin(x))}. If you change to
+will be @samp{arcsin(sin(x)) => arcsin(sin(x))}. If you change to
Extended Simplification mode, the result will be
@samp{arcsin(sin(x)) => x}. However, just pressing @kbd{a e}
once will have no effect on @samp{arcsin(sin(x)) => arcsin(sin(x))},
@@ -29579,7 +29581,7 @@
@kindex g O
@pindex calc-graph-output
The @kbd{g O} (@code{calc-graph-output}) command sets the name of the
-output file used by GNUPLOT. For some devices, notably @code{x11} and
+output file used by address@hidden For some devices, notably @code{x11} and
@code{windows}, there is no output file and this information is not
used. Many other ``devices'' are really file formats like
@code{postscript}; in these cases the output in the desired format
@@ -29651,7 +29653,7 @@
effect if the current device is @code{windows}.
The buffer called @samp{*Gnuplot Trail*} holds a transcript of the
-session with GNUPLOT. This shows the commands Calc has ``typed'' to
+session with address@hidden This shows the commands Calc has ``typed'' to
GNUPLOT and the responses it has received. Calc tries to notice when an
error message has appeared here and display the buffer for you when
this happens. You can check this buffer yourself if you suspect
@@ -33262,7 +33264,7 @@
Date forms are stored as @samp{(date @var{n})}, where @var{n} is
a real number that counts days since midnight on the morning of
-January 1, 1 AD. If @var{n} is an integer, this is a pure date
+January 1, 1 address@hidden If @var{n} is an integer, this is a pure date
form. If @var{n} is a fraction or float, this is a date/time form.
Modulo forms are stored as @samp{(mod @var{n} @var{m})}, where @var{m} is a
@@ -33770,7 +33772,7 @@
function is used by the @kbd{V S} vector-sorting command, and also
by Calc's algebraic simplifications to put the terms of a product into
canonical order: This allows @samp{x y + y x} to be simplified easily to
address@hidden x y}.
address@hidden x y}.
@end defun
@defun equal x y
@@ -35605,11 +35607,11 @@
@defvar calc-gregorian-switch
See @ref{Date address@hidden
-The variable @code{calc-gregorian-switch} is either a list of integers
+The variable @code{calc-gregorian-switch} is either a list of integers
@code{(@var{YEAR} @var{MONTH} @var{DAY})} or @code{nil}.
If it is @code{nil}, then Calc's date forms always represent Gregorian dates.
Otherwise, @code{calc-gregorian-switch} represents the date that the
-calendar switches from Julian dates to Gregorian dates;
+calendar switches from Julian dates to Gregorian dates;
@code{(@var{YEAR} @var{MONTH} @var{DAY})} will be the first Gregorian
date. The customization buffer will offer several standard dates to
choose from, or the user can enter their own date.
=== modified file 'etc/ChangeLog'
--- a/etc/ChangeLog 2012-10-26 14:42:05 +0000
+++ b/etc/ChangeLog 2012-11-22 08:39:27 +0000
@@ -1,3 +1,7 @@
+2012-11-22 Paul Eggert <address@hidden>
+
+ * NEWS: Document Calc changes for Gregorian calendar.
+
2012-10-26 Nicolas Goaziou <address@hidden>
* refcards/orgcard.tex: Fix keybindings about
=== modified file 'etc/NEWS'
--- a/etc/NEWS 2012-11-21 04:47:55 +0000
+++ b/etc/NEWS 2012-11-22 08:39:27 +0000
@@ -29,6 +29,20 @@
* Changes in Specialized Modes and Packages in Emacs 24.4
+** Calc
+
+*** Calc by default now uses the Gregorian calendar for all dates, and
+uses January 1, 1 AD as its day number 1. Previously Calc used the
+Julian calendar for dates before September 14, 1752, and it used
+December 31, 1 BC as its day number 1; the new scheme is more
+consistent with Calendar's calendrical system and day numbering.
+
+*** The new variable `calc-gregorian-switch' lets you configure the
+date when Calc switches from the Julian to the Gregorian calendar.
+Nil, the default value, means to always use the Gregorian calendar.
+The value (YEAR MONTH DAY) means to start using the Gregorian calendar
+on the given date.
+
+++
** New function `ses-rename-cell' to give SES cells arbitrary names.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r110980: Document Calc Gregorian in NEWS; fix manual a bit.,
Paul Eggert <=