diff --git a/lib/modules/Calendar.pmod/Gregorian.pmod b/lib/modules/Calendar.pmod/Gregorian.pmod index 2cf270882ecac6104e3ef347131c8ed65366e1fc..0a1094a24fd1b8016e678fcc887fb38843fd39c0 100644 --- a/lib/modules/Calendar.pmod/Gregorian.pmod +++ b/lib/modules/Calendar.pmod/Gregorian.pmod @@ -1,99 +1,3 @@ - -//! module Calendar -//! -//! This module implements calendar calculations, and base classes -//! for time units. -//! -//! example program: -//! <pre> -//! void write_month(object m) -//! { -//! object w; -//! object today; -//! -//! today=function_object(object_program(m))->Day(); -//! -//! write(sprintf(" %|28s\n", -//! Simulate.capitalize(m->name()+" ") -//! +m->year()->name())); -//! -//! w=m->day(1)->week(); -//! -//! write(" "); -//! foreach (Array.map(w->days(),w->day)->week_day_name(),string n) -//! write(sprintf("%3s ",n[0..2])); -//! write("\n"); -//! -//! do -//! { -//! array a; -//! object d; -//! a=Array.map(Array.map(w->days(),w->day), -//! lambda(object d,object m) -//! { if (d->month()!=m) return 0; else return d; },m); -//! -//! write(sprintf("%3s ",w->name())); -//! foreach (a,d) -//! if (d) -//! if (d!=today) write(sprintf(" %2d ",d->month_day())); -//! else write(sprintf(">%2d<",d->month_day())); -//! else write(" "); -//! -//! write("\n"); -//! w++; -//! } -//! while (w->day(0)->month()==m); -//! } -//! </pre> -//! call with, for example, -//! <tt>write_month(Calendar.Swedish.Month());</tt>. -//! -//! class time_unit -//! -//! method array(string) lesser() -//! Gives a list of methods to get lesser (shorter) time units. -//! ie, for a month, this gives back <tt>({"day"})</tt> -//! and the method <tt>day(mixed n)</tt> gives back that -//! day object. The method <tt>days()</tt> gives back a -//! list of possible argument values to the method <tt>day</tt>. -//! Concurrently, <tt>Array.map(o->days(),o->day)</tt> gives -//! a list of day objects in the object <tt>o</tt>. -//! -//! -//! Ie:<pre> -//! array(string) lesser() - gives back a list of possible xxx's. -//! object xxxs() - gives back a list of possible n's. -//! object xxx(mixed n) - gives back xxx n -//! object xxx(object(Xxx) o) - gives back the corresponing xxx -//! </pre> -//! -//! The list of n's (as returned from xxxs) are always in order. -//! -//! There are two n's with special meaning, 0 and -1. -//! 0 always gives the first xxx, equal to -//! my_obj->xxx(my_obj->xxxs()[0]), and -1 gives the last, -//! equal to my_obj->xxx(my_obj->xxxs()[-1]). -//! -//! To get all xxxs in the object, do something like -//! <tt>Array.map(my_obj->xxxs(),my_obj->xxx)</tt>. -//! -//! xxx(object) may return zero, if there was no correspondning xxx. -//! -//! method array(string) greater() -//! Gives a list of methods to get greater (longer) time units -//! from this object. For a month, this gives back <tt>({"year"})</tt>, -//! thus the method <tt>month->year()</tt> gives the year object. -//! -//! method object next() -//! method object prev() -//! method object `+(int n) -//! method object `-(int n) -//! method object `-(object x) -//! next and prev gives the logical next and previous object. -//! The <tt>+</tt> operator gives that logical relative object, -//! ie <tt>my_day+14</tt> gives 14 days ahead. -//! <tt>-</tt> works the same way, but can also take an object -//! of the same type and give the difference as an integer. //! //! submodule Gregorian //! time units: @@ -112,6 +16,16 @@ array(string) week_day_names= mapping week_day_mapping,month_mapping; +class _TimeUnit +{ + inherit Calendar._TimeUnit; + + program vYear=function_object(object_program(this_object()))->Year; + program vDay=function_object(object_program(this_object()))->Day; + program vMonth=function_object(object_program(this_object()))->Month; + program vWeek=function_object(object_program(this_object()))->Week; +} + //== Year ==================================================================== class Year @@ -123,15 +37,10 @@ class Year //! Greater units: none //! //! + inherit _TimeUnit; //-- variables ------------------------------------------------------ - object this=this_object(); - program vYear=function_object(object_program(this))->Year; - program vDay=function_object(object_program(this))->Day; - program vMonth=function_object(object_program(this))->Month; - program vWeek=function_object(object_program(this))->Week; - int y; array days_per_month; @@ -361,14 +270,9 @@ class Year class Month { + inherit _TimeUnit; //-- variables ------------------------------------------------------ - object this=this_object(); - program vYear=function_object(object_program(this))->Year; - program vDay=function_object(object_program(this))->Day; - program vMonth=function_object(object_program(this))->Month; - program vWeek=function_object(object_program(this))->Week; - int y; int m; @@ -414,12 +318,6 @@ class Month x->y==y && x->m==m; } - int `!=(object x) - { - write("foo\n"); - return !(this==x); - } - int `>(object x) { return @@ -444,16 +342,6 @@ class Month return this+(-n); } - object next() - { - return this+1; - } - - object prev() - { - return this-1; - } - //-- internal ------------------------------------------------------- int yday() @@ -525,14 +413,9 @@ class Month class Week { + inherit _TimeUnit; //-- variables ------------------------------------------------------ - object this=this_object(); - program vYear=function_object(object_program(this))->Year; - program vDay=function_object(object_program(this))->Day; - program vMonth=function_object(object_program(this))->Month; - program vWeek=function_object(object_program(this))->Week; - int y; int w; @@ -616,16 +499,6 @@ class Week return this+(-n); } - object next() - { - return this+1; - } - - object prev() - { - return this-1; - } - //-- internal ------------------------------------------------------- int yday() @@ -706,24 +579,15 @@ class Week class Day { -//-- variables ------------------------------------------------------ + inherit _TimeUnit; - object this=this_object(); - program vYear=function_object(object_program(this))->Year; - program vDay=function_object(object_program(this))->Day; - program vMonth=function_object(object_program(this))->Month; - program vWeek=function_object(object_program(this))->Week; +//-- variables ------------------------------------------------------ int y; int d; //-- standard methods ----------------------------------------------- - array(string) lesser() - { - return ({}); - } - array(string) greater() { return ({"year","month","week"}); @@ -798,16 +662,6 @@ class Day return this+(-n); } - object next() - { - return this+1; - } - - object prev() - { - return this-1; - } - //-- nonstandard methods -------------------------------------------- int julian_day() diff --git a/lib/modules/Calendar.pmod/Swedish.pmod b/lib/modules/Calendar.pmod/Swedish.pmod index fc5905e18d072034dc5c2a208b49150263430cc8..97cc47fa3e8d62d09bcb0e4a63b786fa89d09189 100644 --- a/lib/modules/Calendar.pmod/Swedish.pmod +++ b/lib/modules/Calendar.pmod/Swedish.pmod @@ -11,9 +11,13 @@ void create() "fredag","l�rdag","s�ndag"}); } +constant ISO_Week=::Week; +constant ISO_Year=::Year; +constant ISO_Day=::Day; + class Week { - inherit Calendar.ISO.Week; + inherit ISO_Week; string name() { @@ -23,7 +27,7 @@ class Week class Year { - inherit Calendar.ISO.Year; + inherit ISO_Year; array(array(string)) _namedays; mapping(string:int) _nameday_lookup; @@ -41,9 +45,11 @@ class Year array(array(string)) a; - if (!(a=namedays_cache[nameday_group(this)])) + // insert test for year here + if (!(a=namedays_cache[this->leap()+" "+this->leap_day()])) { - a=nameday_list(this); + // insert test for year here + a=namedays_1993; if (this->leap()) { @@ -53,7 +59,7 @@ class Year a[this->leap_day()..]; } - namedays_cache[nameday_group(this)]=a; + namedays_cache[this->leap()+" "+this->leap_day()]=a; } return _namedays=a; @@ -63,7 +69,7 @@ class Year { if (!_nameday_lookup && !(_nameday_lookup= - namedays_lookup_cache[nameday_group(this)])) + namedays_lookup_cache[this->leap()+" "+this->leap_day()])) { mapping m=([]); int i; @@ -82,7 +88,7 @@ class Year class Day { - inherit Calendar.ISO.Day; + inherit ISO_Day; array(string) names() { @@ -90,26 +96,11 @@ class Day } } -// --- swedish namedays, data and functions ------------------------------ +// --- namnsdagar, data ------------------------------------------------- mapping namedays_cache=([]); mapping namedays_lookup_cache=([]); -string nameday_group(object year) -{ - return (year->number()<1993)+":"+ - (year->leap())+":"+ - (year->leap_day()); -} - -array(array(string)) nameday_list(object year) -{ - if (year->number()<1993) - return namedays_1986; - else - return namedays_1993; -} - /** Name database from alma-1.0, @@ -246,183 +237,3 @@ array(array(string)) namedays_1993= ({"Adam"}), ({"Eva"}), ({}), ({"Stefan","Staffan"}), ({"Johannes","Hannes"}), ({"Abel","Set"}), ({"Gunl�g","�sl�g"}), ({"Sylvester"}), }); - - -array(array(string)) namedays_1986= -({ ({"Svea","Sverker"}), ({"Alfred","Alfrida"}), ({"Rut","Ritva"}), - ({"Hanna","Hannele"}), ({"Baltsar","Kasper"}), ({"August","Augusta"}), - ({"Erland","Erhard"}), ({"Gunnar","Gunder"}), ({"Sigurd","Sigmund"}), - ({"Hugo","Hagar"}), ({"Frideborg","Fridolf"}), ({"Knut"}), - ({"Felix","Felicia"}), ({"Laura","Liv"}), ({"Hjalmar","Hervor"}), - ({"Anton","Tony"}), ({"Hilda","Hildur"}), ({"Henrik","Henry"}), - ({"Fabian","Sebastian"}), ({"Agnes","Agneta"}), ({"Vincent","Veine"}), - ({"Emilia","Emilie"}), ({"Erika","Eira"}), ({"Paul","P�l"}), - ({"Bodil","Boel"}), ({"G�te","G�ta"}), ({"Karl","Karla"}), - ({"Valter","Vilma"}), ({"Gunhild","Gunilla"}), ({"Ivar","Joar"}), - ({"Max","Magda"}), ({"Marja","Mia"}), ({"Disa","Hj�rdis"}), - ({"Ansgar","Anselm"}), ({"Lisa","Elise"}), ({"Dorotea","Dora"}), - ({"Rikard","Ricky","Rigmor"}), ({"Berta","Bert","Bertram"}), - ({"Fanny","Sanny","Sonny"}), ({"Eugenia","Egon","Eira"}), - ({"Yngve","Yvette","Yvonne"}), ({"Evelina","Elaine","Evelyn"}), - ({"Agne","Alin","Alina"}), ({"Valentin","Valentina","Vally"}), - ({"Sigfrid","Sigbert","Sigbritt"}), ({"Julia","Juliana","Juliette"}), - ({"Alexandra","Sandor","Sandra"}), ({"Frida","Fride","Frode"}), - ({"Gabriella","Ella","Elna"}), ({"Hulda","Haldis","Haldo"}), - ({"Hilding","Hildeborg","Hildemar"}), ({"Martina","Tim","Tina"}), - ({"Torsten","Toivo","Torun"}), ({"Mattias","Matti","Mats"}), - ({"Sigvard","Sigvald","Sigvor"}), ({"Torgny","Torvald"}), - ({"Lage","Laila","Lave"}), ({"Maria","Marie","Mary"}), - ({"Albin","Alba","Alban"}), ({"Ernst","Erna","Ernfrid"}), - ({"Gunborg","Gunbritt","Gunvald"}), ({"Adrian","Adrienne","Astor"}), - ({"Tora","Toini","Tor"}), ({"Ebba","Ebon","Evonne"}), - ({"Ottilia","Petra","Petronella"}), ({"Filippa","Gunl�g","�sl�g"}), - ({"Torbj�rn","Torben","Torgun"}), ({"Edla","Edling","Ethel"}), - ({"Edvin","Diana","Edna"}), ({"Viktoria","Vibeke","Viking"}), - ({"Greger","Grels","Greta"}), ({"Matilda","Maud","Moa"}), - ({"Kristofer","Christel","Christer"}), ({"Herbert","Herta","Hervor"}), - ({"Gertrud","Gertie","G�lin"}), ({"Edvard","Eda","Eddie"}), - ({"Josef","James","Janet"}), ({"Joakim","Jockum","Kim"}), - ({"Bengt","Bengta","Benita"}), ({"Viktor","Vimar","V�ge"}), - ({"Gerda","Anngerd","Gerd"}), ({"Gabriel","Gabrielle","Gunni"}), - ({"Mary","Marion"}), ({"Emanuel","Emanuella","Immanuel"}), - ({"Rudolf","Rode","Rudi"}), ({"Malkolm","Elma","Elmer"}), - ({"Jonas","Jon","Jonna"}), ({"Holger","Olga"}), - ({"Ester","Estrid","Vasti"}), ({"Harald","Hadar","Hardy"}), - ({"Gudmund","Gudmar","Gunder"}), ({"Ferdinand","Gunvi","Gunvor"}), - ({"Ambrosius","Irene","Irina"}), ({"Nanna","Nancy","Nanny"}), - ({"Vilhelm","William","Willy"}), ({"Ingemund","Ingemo","Irma"}), - ({"Hemming","Heimer","Helmut"}), ({"Otto","Orvar","Ottar"}), - ({"Ingvar","Ingvald","Ingvor"}), ({"Ulf","Ylva","Yrsa"}), - ({"Julius","Gillis"}), ({"Artur","Aldor","Atle"}), - ({"Tiburtius","Ellen","Elly"}), ({"Olivia","Oliver","Ove"}), - ({"Patrik","Patricia","Percy"}), ({"Elias","Elis","Elise"}), - ({"Valdemar","Valdis","Volmar"}), ({"Olavus Petri","Olaus Petri"}), - ({"Amalia","Amelie","Amy"}), ({"Anselm","Annevi","Annvor"}), - ({"Albertina","Alida","Allan"}), ({"Georg","Georgina","J�rgen"}), - ({"Vega","Viggo","Viveka"}), ({"Markus","Marika","Mark"}), - ({"Teresia","Terese","Tessy"}), ({"Engelbrekt","Engelbert","Enok"}), - ({"Ture","Turid","Tuve"}), ({"Tyko","Toralf","Torulf"}), - ({"Mariana","Marianne","Marina"}), ({"Valborg","Maj","Maja"}), - ({"Filip","�sa","�se"}), ({"G�ta","G�rel","G�tmar"}), - ({"Monika","Majne","Mona"}), ({"Gotthard","Gotthild","Gotty"}), - ({"Sigmund","Sigge"}), ({"Gustava","Gullvi","Gullbritt"}), - ({"�ke","�ge","�got"}), ({"Jonathan","John","Johnny"}), - ({"Esbj�rn","Elvy","Essy"}), ({"M�rta","Meta","M�rit"}), - ({"Charlotta","Charlotte","Lotta"}), ({"Linnea","Linn","Lis"}), - ({"Halvard","Hallvor","Halvar"}), ({"Sofia","Sia","Sofie"}), - ({"Hilma","Helvi","Hilmer"}), ({"Rebecka","Renee","Rosita"}), - ({"Erik","Erk","Jerker"}), ({"Alrik","Alda","Altea"}), - ({"Karolina","Carola","Caroline"}), - ({"Konstantin","Conny","Konstatia"}), ({"Henning","Henny","P�l"}), - ({"Desideria","Dennis","Desiree"}), ({"Ragnvald","Ragnvi","Ragnvor"}), - ({"Urban","Una","Uno"}), ({"Vilhelmina","Vilma","Vilmar"}), - ({"Blenda","Beda","Britten"}), ({"Ingeborg","Ingabritt","Ingbritt"}), - ({"Kristi Himmelsf�rdsdag"}), ({"Baltsar","Bill","Billy"}), - ({"Fritjof","Majny","Majvi"}), ({"Isabella","Iris","Isa"}), - ({"Nikodemus","Nina","Ninni"}), ({"Rutger","Runa","Rune"}), - ({"Ingemar","Ingar","Ingmarie"}), ({"Holmfrid","Helfrid","Helfrida"}), - ({"Bo","Bodil","Boel"}), ({"Danmarks grundlagsdag"}), - ({"Gustav","Gusten","G�sta"}), ({"Robert","Robin","Ruben"}), - ({"Salomon","Sally"}), ({"B�rje","Belinda","Bj�rg"}), - ({"Svante","Sante","Sjunne"}), ({"Bertil","Berit","Berthold"}), - ({"Eskil","Eje","Evan"}), ({"Aina","Aino","Roine"}), - ({"H�kan","Hakon","Hakvin"}), ({"Justina","Jim","Jimmy"}), - ({"Axel","Axelia","Axelina"}), ({"Torborg","Torhild","Toril"}), - ({"Bj�rn","Bjarne","Bj�rne"}), ({"Germund","Jerry","Jill"}), - ({"Flora","Florence","Florentin"}), ({"Alf","Alvin","Alvina"}), - ({"Paulina","Pamela","Paulette"}), ({"Adolf","Adolfina","Ally"}), - ({"Johan","Jan"}), ({"David","Davida","Daisy"}), - ({"Rakel","Rafael","Ralf"}), ({"Selma","Selim","Selmer"}), - ({"Leo","Lola","Liselott"}), ({"Petrus","Peter","Petter"}), - ({"Elof","Elvira","Viran"}), ({"Aron","Arent","Arild"}), - ({"Rosa","Rose","Rosemarie"}), ({"Aurora","Andre","Aurelia"}), - ({"Ulrika","Ellika","Ulla"}), ({"Melker","Marja","Mirjam"}), - ({"Esaias","Elisiv","Esse"}), ({"Klas","Claudia","Klaus"}), - ({"Kjell","Kajsa","Kettil"}), ({"G�tilda","G�ran","J�rn"}), - ({"Anund","Anita","Ante"}), ({"Eleonora","Eleonor","Ellinor"}), - ({"Herman","Hanne","Hermine"}), ({"Joel","Joar","Jorunn"}), - ({"Folke","Fale","Fylgia"}), ({"Ragnhild","Ragni","Runo"}), - ({"Reinhold","Reine","Reino"}), ({"Alexis","Alex","Alice"}), - ({"Fredrik","Fred","Freddy"}), ({"Sara","Charles","Saga"}), - ({"Margareta","Margit","Margret"}), ({"Johanna","Jean","Jeanette"}), - ({"Magdalena","Magda","Madeleine"}), ({"Emma","Elena","Emmy"}), - ({"Kristina","Kerstin","Kristin"}), ({"Jakob","Jack"}), - ({"Jesper","Jessika","Jessie"}), ({"Marta","Marit","Marita"}), - ({"Botvid","Reidar","Reidun"}), ({"Olof","Ola","Olle"}), - ({"Algot","Margot","Vilgot"}), ({"Elin","Elon","Elina"}), - ({"Per","Peder","Pernilla"}), ({"Karin","Karen","K�re"}), - ({"Tage","Tanja","Truls"}), ({"Arne","Arna","Arnevi"}), - ({"Ulrik","Unn","Unni"}), ({"Sixten","S�ve","S�lve"}), - ({"Arnold","Annika","Annmari"}), ({"Sylvia","Silja","Silvia"}), - ({"Roland","Ronald","Ronny"}), ({"Lars","Lasse","Lorentz"}), - ({"Susanna","Sanna","Susanne"}), ({"Klara","Clarence","Clary"}), - ({"Hillevi","Hilja","Irja"}), ({"Ebbe","Eberhard","Efraim"}), - ({"Stella","Estelle","Stellan"}), ({"Brynolf","Benjamin","Benny"}), - ({"Verner","Verna","Veronika"}), ({"Helena","Helen","Helny"}), - ({"Magnus","Mogens","M�ns"}), ({"Bernhard","Berna","Bernt"}), - ({"Josefina","Josefin"}), ({"Henrietta","Harriet","Harry"}), - ({"Signe","Signar","Signy"}), ({"Bartolomeus","Carita","Rita"}), - ({"Lovisa","Louis","Louise"}), ({"�sten","Ejvind","�jvind"}), - ({"Rolf","Raoul","Rasmus"}), ({"Augustin","Gusti","Gurli"}), - ({"Hans","Hampus","Hasse"}), ({"Albert","Albrekt","Aste"}), - ({"Arvid","Arvida","Vidar"}), ({"Samuel","Sam","Solveig"}), - ({"Justus","Jane","Judit"}), ({"Alfhild","Alfons","Arja"}), - ({"Moses","Molly","My"}), ({"Adela","Adele","Adin"}), - ({"Sakarias","Siv","Sivert"}), ({"Regina","Gilbert","Gisela"}), - ({"Alma","Adils","Almar"}), ({"Augusta","Gunda","Gunde"}), - ({"Tord","Tordis","Torgil"}), ({"Dagny","Dag","Daga"}), - ({"Tyra","Tyr"}), ({"Ambj�rn","Stig","Styrbj�rn"}), - ({"Ida","Idar","Vida"}), ({"Sigrid","Siri","Solbritt"}), - ({"Eufemia","Cornelia","Cornelius"}), - ({"Hildegard","Hilbert","Hildebrand"}), ({"Alvar","Alva","Alve"}), - ({"Fredrika","Frej","Freja"}), ({"Agda","Jan","Jannika"}), - ({"Matteus","Majbritt","Majlis"}), ({"Maurits","Marlene","Moritz"}), - ({"Tekla","Trond","Tryggve"}), ({"Gerhard","Gert","Glenn"}), - ({"Signhild","Sanfrid","Signhild"}), ({"Enar","Einar","Eja"}), - ({"Dagmar","Donald","Douglas"}), ({"Lennart","Lena","Leonard"}), - ({"Mikael","Majken","Mikaela"}), ({"Helge","Heidi","H�rje"}), - ({"r","Ragna","Ragne"}), ({"Ludvig","Levi","Liv"}), - ({"Evald","Eila","Eilert"}), ({"Frans","Franciska","Frank"}), - ({"Bror","Brage","Bruno"}), ({"Jenny","Jennifer","Jens"}), - ({"Birgitta","Birgit","Britt"}), ({"Nils","Nilla","Nelly"}), - ({"Ingrid","Inger","Ingolf"}), ({"Helmer","Helmina","Helmy"}), - ({"Erling","Elvin","Elvina"}), ({"Valfrid","Ina","Inez"}), - ({"Teofil","Terje","tjelvar"}), ({"Manfred","Mandor","Manne"}), - ({"Hedvig","Hartvig","Hedda"}), ({"Fingal","Finn","Flemming"}), - ({"Antonietta","Anette","Tony"}), ({"Lukas","Lillemor","Lilly"}), - ({"Tore","Bojan Borghild"}), ({"Sibylla","Camilla","Kasper"}), - ({"Birger","Brita","Britta"}), ({"Seved","Sigvid","Ursula"}), - ({"S�ren","Severin"}), ({"Evert","Eivor","Elving"}), - ({"Inga","Ingalill","Ingert"}), ({"Amanda","Manda","Mandy"}), - ({"Sabina","Sebastian","Sussy"}), ({"Simon","Simeon","Simone"}), - ({"Viola","Vivi","Vivianne"}), ({"Elsa","Elsie","Ilse"}), - ({"Edit","Edgar","Edor"}), ({"Tobias","Tova","Tove"}), - ({"Hubert","Raymond","Roy"}), ({"Sverker","Nora","Nore"}), - ({"Eugen","Ebert","Egil"}), ({"Gustav Adolf","Gull","Gulli"}), - ({"Ingegerd","Ingel","Ingela"}), ({"Vendela","Vanda","Ville"}), - ({"Teodor","Tea","Ted"}), ({"Martin Luther","Mait","Martin"}), - ({"M�rten","Marion","Morgan"}), ({"Konrad","Kuno","Kurt"}), - ({"Kristian","Karsten","Kersti"}), ({"Emil","Milly","Mimmi"}), - ({"Leopold","Leif","Lilian"}), ({"Edmund","Elida","Elisa"}), - ({"Napoleon","Naemi","Naima"}), ({"Magnhild","Magna","Magne"}), - ({"Elisabet","Lisa","Lisbeth"}), ({"Pontus","Polly","Povel"}), - ({"Helga","Helle","Hilde"}), ({"Cecilia","Cilla","Cissi"}), - ({"Klemens","Ketty","Kitty"}), ({"Gudrun","Gullan","Gullvor"}), - ({"Katarina","Carina","Katrin"}), ({"Torkel","Torleif"}), - ({"Astrid","Asta","Astri"}), ({"Malte","Malvina","Mia"}), - ({"Sune","Sonja","Synn�ve"}), ({"Anders","Andrea","Andreas"}), - ({"Oskar","Ole","Ossian"}), ({"Beata","Beatrice","Betty"}), - ({"Lydia","Linda","Love"}), ({"Barbro","Barbara","Boris"}), - ({"Sven","Svend","Svenning"}), ({"Nikolaus","Niklas","nikolina"}), - ({"Agaton","Angela","Angelika"}), ({"Virginia","Vera","Vesta"}), - ({"Anna","Ann","Annie"}), ({"Malin","Majvor","Malena"}), - ({"Daniel","Dan","Daniela"}), ({"Alexander","Pia","Pierre"}), - ({"Lucia","Lisen","Lisette"}), ({"Sten","Stina","Sture"}), - ({"Gottfrid","Kaj","Kajsa"}), ({"Assar","Odd","Osvald"}), - ({"Inge","Ilona","Irmeli"}), ({"Abraham","Abdon","Gideon"}), - ({"Isak","Isidor","Isidora"}), ({"Israel","Gina","Gitte"}), - ({"Tomas","Tom","Tommy"}), ({"Natanael","Natalia","Natan"}), - ({"Adam","Ada","Adina"}), ({"Eva","Evita","Evy"}), - ({"Stefan","Staffan","Stefanie"}), ({"Johannes","Hannes","Johan"}), - ({"Abel","Abbe"}), ({"Set","Viva","Vivari"}), - ({"Sylvester","Sylve","Sylvi"})});