Arduino-RTC
Real-Time Clock (RTC) library for Arduino
Main Page
Related Pages
Classes
Files
File List
File Members
is_leap_year.cpp
Go to the documentation of this file.
1
/*
2
* (C)2012 Michael Duane Rice All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are
6
* met:
7
*
8
* Redistributions of source code must retain the above copyright notice, this
9
* list of conditions and the following disclaimer. Redistributions in binary
10
* form must reproduce the above copyright notice, this list of conditions
11
* and the following disclaimer in the documentation and/or other materials
12
* provided with the distribution. Neither the name of the copyright holders
13
* nor the names of contributors may be used to endorse or promote products
14
* derived from this software without specific prior written permission.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
* POSSIBILITY OF SUCH DAMAGE.
27
*/
28
29
#include <stdlib.h>
30
31
unsigned
char
32
is_leap_year
(
int
year)
33
{
34
div_t d;
35
36
// Year must be divisible by 4 to be a leap year
37
if
(year & 3)
return
0;
38
39
// If theres a remainder after division by 100, year is not
40
// divisible by 100 or 400
41
d = div(year, 100);
42
if
(d.rem)
return
1;
43
44
// If the quotient is divisible by 4, then year is divisible by 400
45
return
((d.quot & 3) == 0);
46
}
is_leap_year
unsigned char is_leap_year(int year)
Definition:
is_leap_year.cpp:32
src
Hardware
AVR
is_leap_year.cpp
Generated on Sat Oct 14 2017 03:08:57 for Arduino-RTC by
1.8.11