2
* @progname givens_gender.ll
4
* @author Jim Eggert (eggertj@ll.mit.edu)
9
Given name gender report program.
10
This program prints a list of all given names of people, tagged by one
15
M? Males and persons of unknown gender
16
F? Females and persons of unknown gender
17
B? Males, females, and persons of unknown gender
19
Very few names should be marked as B. Check them carefully and you
20
may find some database gender errors. You may be able to help resolve
21
unknown genders for those names tagged M? and F?.
23
If you want to sort the report by name only, do
24
sort +1b -2b report > report.sort
25
If you want to sort the report by gender and name, do
26
sort report > report.sort
28
If you want to find a person with a specific given name and gender,
29
use givens_gender_finder.
31
by Jim Eggert (eggertj@ll.mit.edu)
32
Version 1 (19 April 1995) requires LifeLines 3.0.1 or later.
40
print("Collecting names...")
42
forindi(person,pnum) {
43
/* if (gt(pnum,300)) { break() } */
44
if (male(person)) { set(a,15) set(m,2) }
45
elsif (female(person)) { set(a,10) set(m,3) }
46
else { set(a,6) set(m,5) }
47
extractnames(inode(person),names,nnames,isurname)
48
forlist(names,name,iname) {
49
if (ne(iname,isurname)) {
50
if (l,lookup(namestable,name)) {
52
insert(namestable,save(name),add(l,a))
57
insert(namestable,sname,a)
58
enqueue(nameslist,sname)
64
setel(codelist, 6,"? ")
65
setel(codelist,10,"F ")
66
setel(codelist,15,"M ")
67
setel(codelist,16,"F? ")
68
setel(codelist,21,"M? ")
69
setel(codelist,25,"B ")
70
setel(codelist,31,"B? ")
71
print("done\nPrinting ", d(namescount)," names...")
72
while(name,dequeue(nameslist)) {
73
getel(codelist,lookup(namestable,name))