Commit 7213fd02 authored by peter@mysql.com's avatar peter@mysql.com
Browse files

Merge changes in docs do go further

parents 381d56bb 684bf18e
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -45,7 +45,10 @@ nick@nick.leippe.com
paul@central.snake.net
paul@teton.kitebird.com
peter@linux.local
peter@mysql.com
root@x3.internalnet
salle@geopard.(none)
salle@geopard.online.bg
sasha@mysql.sashanet.com
serg@serg.mysql.com
serg@sergbook.mysql.com
@@ -64,10 +67,8 @@ tonu@volk.internalnet
tonu@x153.internalnet
tonu@x3.internalnet
venu@work.mysql.com
walrus@mysql.com
worm@altair.is.lan
zak@balfor.local
zak@linux.local
salle@geopard.(none)
walrus@mysql.com
zgreant@mysql.com
salle@geopard.online.bg
+50 −3
Original line number Diff line number Diff line
@@ -31885,17 +31885,58 @@ mysql> SELECT EXP(2);
mysql> SELECT EXP(-2);
        -> 0.135335
@end example
@findex LOG()
@item LOG(X)
@findex LN()
@item LN(X)
Returns the natural logarithm of @code{X}:
@example
mysql> SELECT LN(2);
        -> 0.693147
mysql> SELECT LN(-2);
        -> NULL
@end example
This function was added in MySQL version 4.0.3.
It is synonymous with @code{LOG(X)} in MySQL.
@findex LOG()
@item LOG([B,]X)
When called with one parameter, this function returns the natural logarithm
of @code{X}:
@example
mysql> SELECT LOG(2);
        -> 0.693147
mysql> SELECT LOG(-2);
        -> NULL
@end example
If you want the log of a number @code{X} to some arbitrary base @code{B}, use
the formula @code{LOG(X)/LOG(B)}.
When called with two parameters, this function returns the logarithm of
@code{X} for an arbitary base @code{B}:
@example
mysql> SELECT LOG(2,65536);
        -> 16.000000
mysql> SELECT LOG(1,100);
        -> NULL
@end example
The arbitrary base option was added in MySQL version 4.0.3.
@code{LOG(B,X)} is equivalent to @code{LOG(X)/LOG(B)}.
@findex LOG2()
@item LOG2(X)
Returns the base-2 logarithm of @code{X}:
@example
mysql> SELECT LOG2(65536);
        -> 16.000000
mysql> SELECT LOG2(-100);
        -> NULL
@end example
@code{LOG2()} is useful for finding out how many bits a number would
require for storage.
This function was added in MySQL version 4.0.3.
In earlier versions, you can use @code{LOG(X)/LOG(2)} instead.
@findex LOG10()
@item LOG10(X)
@@ -49699,6 +49740,12 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
@itemize @bullet
@item
Fixed a bug that made the pager option in the mysql client non-functional.
Extended @code{LOG()} function to accept an optional arbitrary base parameter.
@xref{Mathematical functions}.
@item
Added @code{LOG2()} function (useful for finding out how many bits a number would require for storage).
@item
Added @code{LN()} natural logarithm function for compatibility with other databases. It is synonymous with @code{LOG(X)}.
@end itemize
+12 −3
Original line number Diff line number Diff line
@@ -16,9 +16,18 @@ round(5.64,1) round(5.64,2) round(5.64,-1) round(5.64,-2)
select abs(-10), sign(-5), sign(5), sign(0);
abs(-10)	sign(-5)	sign(5)	sign(0)
10	-1	1	0
select log(exp(10)),exp(log(sqrt(10))*2);
log(exp(10))	exp(log(sqrt(10))*2)
10.000000	10.000000
select log(exp(10)),exp(log(sqrt(10))*2),log(-1),log(NULL),log(1,1),log(3,9),log(-1,2),log(NULL,2);
log(exp(10))	exp(log(sqrt(10))*2)	log(-1)	log(NULL)	log(1,1)	log(3,9)	log(-1,2)	log(NULL,2)
10.000000	10.000000	NULL	NULL	NULL	2.000000	NULL	NULL
select ln(exp(10)),exp(ln(sqrt(10))*2),ln(-1),ln(0),ln(NULL);
ln(exp(10))	exp(ln(sqrt(10))*2)	ln(-1)	ln(0)	ln(NULL)
10.000000	10.000000	NULL	NULL	NULL
select log2(8),log2(15),log2(-2),log2(0),log2(NULL);
log2(8)	log2(15)	log2(-2)	log2(0)	log2(NULL)
3.000000	3.906891	NULL	NULL	NULL
select log10(100),log10(18),log10(-4),log10(0),log10(NULL);
log10(100)	log10(18)	log10(-4)	log10(0)	log10(NULL)
2.000000	1.255273	NULL	NULL	NULL
select pow(10,log10(10)),power(2,4);
pow(10,log10(10))	power(2,4)
10.000000	16.000000
+4 −1
Original line number Diff line number Diff line
@@ -8,7 +8,10 @@ select truncate(52.64,1),truncate(52.64,2),truncate(52.64,-1),truncate(52.64,-2)
select round(5.5),round(-5.5);
select round(5.64,1),round(5.64,2),round(5.64,-1),round(5.64,-2);
select abs(-10), sign(-5), sign(5), sign(0);
select log(exp(10)),exp(log(sqrt(10))*2);
select log(exp(10)),exp(log(sqrt(10))*2),log(-1),log(NULL),log(1,1),log(3,9),log(-1,2),log(NULL,2);
select ln(exp(10)),exp(ln(sqrt(10))*2),ln(-1),ln(0),ln(NULL);
select log2(8),log2(15),log2(-2),log2(0),log2(NULL);
select log10(100),log10(18),log10(-4),log10(0),log10(NULL);
select pow(10,log10(10)),power(2,4);
select rand(999999),rand();
select pi(),sin(pi()/2),cos(pi()/2),abs(tan(pi())),cot(1),asin(1),acos(0),atan(1);
+4 −4
Original line number Diff line number Diff line
@@ -74,13 +74,13 @@ static struct my_option my_long_options[] =
  {"version", 'V', "Output version information and exit",
   0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
  {"rnd1", 'r', "Set 1 part of rnd value for hash generator",
   (gptr*) &best_t1, (gptr*) &best_t1, 0, GET_ULONG, REQUIRED_ARG, 6657025L,
   (gptr*) &best_t1, (gptr*) &best_t1, 0, GET_ULONG, REQUIRED_ARG, 5075635L,
   0, 0, 0, 0, 0},
  {"rnd2", 'R', "Set 2 part of rnd value for hash generator",
   (gptr*) &best_t2, (gptr*) &best_t2, 0, GET_ULONG, REQUIRED_ARG, 6114496L,
   (gptr*) &best_t2, (gptr*) &best_t2, 0, GET_ULONG, REQUIRED_ARG, 1345933L,
   0, 0, 0, 0, 0},
  {"type", 't', "Set type of char table to generate",
   (gptr*) &best_type, (gptr*) &best_type, 0, GET_UINT, REQUIRED_ARG, 1, 0, 0,
   (gptr*) &best_type, (gptr*) &best_type, 0, GET_UINT, REQUIRED_ARG, 4, 0, 0,
   0, 0, 0},
  { 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
};
@@ -479,7 +479,7 @@ int main(int argc,char **argv)

  MY_INIT(argv[0]);

  start_value=1109118L;   /* mode=4903  add=3  type: 0 */
  start_value=3807640L;   /* mode=6971  add=3  type: 0 */
  if (get_options(argc,(char **) argv))
    exit(1);

Loading