Mercurial > hg > octave-nkf
annotate scripts/time/is_leap_year.m @ 13856:d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
* addtodate.m: Add millisecond functionality. Update docstring and %!tests.
* calendar.m: Implement faster way to add '*' to day display. Update docstring.
* weekday.m: Use more modern coding stytle. Update docstring.
* asctime.m, clock.m, ctime.m, date.m, datenum.m, datestr.m, datevec.m,
eomday.m, etime.m, is_leap_year.m: Update docstring and/or use Octave formatting
spacing conventions for %!tests.
author | Rik <octave@nomad.inbox5.com> |
---|---|
date | Thu, 10 Nov 2011 13:35:08 -0800 |
parents | fd0a3ac60b0e |
children | 72c96de7a403 |
rev | line source |
---|---|
11523 | 1 ## Copyright (C) 1996-2011 John W. Eaton |
5596 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
5596 | 9 ## |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
5596 | 18 |
19 ## -*- texinfo -*- | |
11431
0d9640d755b1
Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
20 ## @deftypefn {Function File} {} is_leap_year () |
0d9640d755b1
Improve docstrings for all isXXX functions.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
21 ## @deftypefnx {Function File} {} is_leap_year (@var{year}) |
13856
d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
22 ## Return true if @var{year} is a leap year and false otherwise. If no |
d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
23 ## year is specified, @code{is_leap_year} uses the current year. |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
8920
diff
changeset
|
24 ## For example: |
5596 | 25 ## |
26 ## @example | |
27 ## @group | |
28 ## is_leap_year (2000) | |
29 ## @result{} 1 | |
30 ## @end group | |
31 ## @end example | |
13856
d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
32 ## @seealso{weekday, eomday, calendar} |
5596 | 33 ## @end deftypefn |
34 | |
35 ## Author: jwe | |
36 | |
37 function retval = is_leap_year (year) | |
38 | |
39 if (nargin > 1) | |
6046 | 40 print_usage (); |
5596 | 41 endif |
42 | |
43 if (nargin == 0) | |
44 t = clock (); | |
13856
d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
45 year = t(1); |
5596 | 46 endif |
47 | |
13856
d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
48 retval = (rem (year, 4) == 0 & rem (year, 100) != 0) | (rem (year, 400) == 0); |
5596 | 49 |
50 endfunction | |
7411 | 51 |
13856
d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
52 |
d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
53 %!assert (is_leap_year (2000), true) |
d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
54 %!assert (is_leap_year (1976), true) |
d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
55 %!assert (is_leap_year (1000), false) |
d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
56 %!assert (is_leap_year (1800), false) |
d490ca8ab1a5
Modernize function implementations and docstrings in scripts/time.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
57 %!assert (is_leap_year (1600), true) |
7411 | 58 |
59 %!error is_leap_year (1, 2); | |
60 |