%% %% This is file `babel-ca-islamic.tex', %% generated with the docstrip utility. %% %% The original source files were: %% %% babel.dtx (with options: `ca-islamic') %% %% %% Copyright (C) 2012-2023 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. %% %% %% This file is part of the Babel system. %% -------------------------------------- %% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status "maintained". %% %% The Current Maintainer of this work is Javier Bezos. %% %% The list of derived (unpacked) files belonging to the distribution %% and covered by LPPL is defined by the unpacking scripts (with %% extension |.ins|) which are part of the distribution. %% \ExplSyntaxOn \def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))} \def\bbl@cs@gregleap#1{% (\bbl@fpmod{#1}{4} == 0) && (!((\bbl@fpmod{#1}{100} == 0) && (\bbl@fpmod{#1}{400} != 0)))} \def\bbl@cs@jd#1#2#3{% year, month, day \fp_eval:n{ 1721424.5 + (365 * (#1 - 1)) + floor((#1 - 1) / 4) + (-floor((#1 - 1) / 100)) + floor((#1 - 1) / 400) + floor((((367 * #2) - 362) / 12) + ((#2 <= 2) ? 0 : (\bbl@cs@gregleap{#1} ? -1 : -2)) + #3) }} \def\bbl@ca@islamic#1-#2-#3\@@#4#5#6{} \def\bbl@cs@isltojd#1#2#3{ % year, month, day ((#3 + ceil(29.5 * (#2 - 1)) + (#1 - 1) * 354 + floor((3 + (11 * #1)) / 30) + 1948439.5) - 1) } \@namedef{bbl@ca@islamic-civil++}{\bbl@ca@islamicvl@x{+2}} \@namedef{bbl@ca@islamic-civil+}{\bbl@ca@islamicvl@x{+1}} \@namedef{bbl@ca@islamic-civil}{\bbl@ca@islamicvl@x{}} \@namedef{bbl@ca@islamic-civil-}{\bbl@ca@islamicvl@x{-1}} \@namedef{bbl@ca@islamic-civil--}{\bbl@ca@islamicvl@x{-2}} \def\bbl@ca@islamicvl@x#1#2-#3-#4\@@#5#6#7{% \edef\bbl@tempa{% \fp_eval:n{ floor(\bbl@cs@jd{#2}{#3}{#4})+0.5 #1}}% \edef#5{% \fp_eval:n{ floor(((30*(\bbl@tempa-1948439.5)) + 10646)/10631) }}% \edef#6{\fp_eval:n{ min(12,ceil((\bbl@tempa-(29+\bbl@cs@isltojd{#5}{1}{1}))/29.5)+1) }}% \edef#7{\fp_eval:n{ \bbl@tempa - \bbl@cs@isltojd{#5}{#6}{1} + 1} }} \def\bbl@cs@umalqura@data{56660, 56690,56719,56749,56778,56808,% 56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,% 57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,% 57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,% 57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,% 58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,% 58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,% 58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,% 58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,% 59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,% 59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,% 59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,% 60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,% 60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,% 60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,% 60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,% 61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,% 61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,% 61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,% 62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,% 62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,% 62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,% 63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,% 63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,% 63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,% 63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,% 64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,% 64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,% 64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,% 65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,% 65401,65431,65460,65490,65520} \@namedef{bbl@ca@islamic-umalqura+}{\bbl@ca@islamcuqr@x{+1}} \@namedef{bbl@ca@islamic-umalqura}{\bbl@ca@islamcuqr@x{}} \@namedef{bbl@ca@islamic-umalqura-}{\bbl@ca@islamcuqr@x{-1}} \def\bbl@ca@islamcuqr@x#1#2-#3-#4\@@#5#6#7{% \ifnum#2>2014 \ifnum#2<2038 \bbl@afterfi\expandafter\@gobble \fi\fi {\bbl@error{Year~out~of~range}{The~allowed~range~is~2014-2038}}% \edef\bbl@tempd{\fp_eval:n{ % (Julian) day \bbl@cs@jd{#2}{#3}{#4} + 0.5 - 2400000 #1}}% \count@\@ne \bbl@foreach\bbl@cs@umalqura@data{% \advance\count@\@ne \ifnum##1>\bbl@tempd\else \edef\bbl@tempe{\the\count@}% \edef\bbl@tempb{##1}% \fi}% \edef\bbl@templ{\fp_eval:n{ \bbl@tempe + 16260 + 949 }}% month~lunar \edef\bbl@tempa{\fp_eval:n{ floor((\bbl@templ - 1 ) / 12) }}% annus \edef#5{\fp_eval:n{ \bbl@tempa + 1 }}% \edef#6{\fp_eval:n{ \bbl@templ - (12 * \bbl@tempa) }}% \edef#7{\fp_eval:n{ \bbl@tempd - \bbl@tempb + 1 }}} \ExplSyntaxOff \bbl@add\bbl@precalendar{% \bbl@replace\bbl@ld@calendar{-civil}{}% \bbl@replace\bbl@ld@calendar{-umalqura}{}% \bbl@replace\bbl@ld@calendar{+}{}% \bbl@replace\bbl@ld@calendar{-}{}} \endinput %% %% End of file `babel-ca-islamic.tex'.