public static void assertEquals(double a, double b, DoubleReference failures) { if (a != b) { failures.doubleValue = failures.doubleValue + 1d; } }
public static void assertStringEquals(char [] a, char [] b, DoubleReference failures) { if (!stringsEqual(a, b)) { failures.doubleValue = failures.doubleValue + 1d; } }
public static double datetimegetYearFromDayNr(double dayNr, DoubleReference remainder) { double nrOfDays; bool done; double year; done = false; year = 1752d; for (; !done;) { if (datetimeisLeapYear(year, new datetimeSuccess())) { nrOfDays = 366d; } else { nrOfDays = 365d; } if (dayNr >= nrOfDays) { dayNr = dayNr - nrOfDays; year = year + 1d; } else { done = true; } } remainder.doubleValue = dayNr; return(year); }
public static void assertTrue(bool b, DoubleReference failures) { if (!b) { failures.doubleValue = failures.doubleValue + 1d; } }
public static double datetimegetMonthFromDayNr(double dayNr, double year, DoubleReference remainder) { double [] daysInMonth; bool done; double month; daysInMonth = datetimegetDaysInMonth(year); done = false; month = 1d; for (; !done;) { if (dayNr > daysInMonth[(int)(month)]) { dayNr = dayNr - daysInMonth[(int)(month)]; month = month + 1d; } else { done = true; } } remainder.doubleValue = dayNr; return(month); }
public static double test1() { DoubleReference failures; failures = new DoubleReference(); failures.doubleValue = 0d; assertTrue(isValidNorwegianPersonalIdentificationNumber("10061270707".ToCharArray()), failures); return(failures.doubleValue); }
public static double charToNumber(char c, DoubleReference failures) { double val; if (isNumber(c, 10d)) { val = getDecimalFromSingleDecimalDigit(c, 10d); } else { val = 0d; failures.doubleValue = failures.doubleValue + 1d; } return(val); }
public static double charToNumber(char c, DoubleReference failures) { double val; val = getDecimalFromSingleDecimalDigit(c, 10d); if (val > 0d && val <= 9d) { } else { failures.doubleValue = failures.doubleValue + 1d; } return(val); }
public static bool erGyldigOrgNummer(char [] orgnummer) { bool gyldig; double d1, d2, d3, d4, d5, d6, d7, d8, d9; double sum, rest, kontrollsiffer; DoubleReference failures; if (orgnummer.Length == 9d) { failures = new DoubleReference(); failures.doubleValue = 0d; d1 = charToNumber(orgnummer[0], failures); d2 = charToNumber(orgnummer[1], failures); d3 = charToNumber(orgnummer[2], failures); d4 = charToNumber(orgnummer[3], failures); d5 = charToNumber(orgnummer[4], failures); d6 = charToNumber(orgnummer[5], failures); d7 = charToNumber(orgnummer[6], failures); d8 = charToNumber(orgnummer[7], failures); d9 = charToNumber(orgnummer[8], failures); if (failures.doubleValue == 0d) { sum = d1 * 3d + d2 * 2d + d3 * 7d + d4 * 6d + d5 * 5d + d6 * 4d + d7 * 3d + d8 * 2d; rest = sum % 11d; kontrollsiffer = 11d - rest; if (rest != 1d && kontrollsiffer == d9) { gyldig = true; } else { gyldig = false; } } else { gyldig = false; } } else { gyldig = false; } return(gyldig); }
public static datetimeDate datetimedayToDate(double dayNr, datetimeSuccess success) { datetimeDate date; DoubleReference remainder; date = new datetimeDate(); success.success = true; remainder = new DoubleReference(); remainder.doubleValue = dayNr + 79623d; /* Days since 1752-01-01. Day 0: Thursday, 1970-01-01*/ /* Find year.*/ date.year = datetimegetYearFromDayNr(remainder.doubleValue, remainder); /* Find month.*/ date.month = datetimegetMonthFromDayNr(remainder.doubleValue, date.year, remainder); /* Find day.*/ date.day = 1d + remainder.doubleValue; return(date); }
public static bool isValidNorwegianPersonalIdentificationNumber(char [] fnummer) { bool gyldig; double d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11; datetimeDate aDatetimeDate; double k1, k2; DoubleReference failures; if (fnummer.Length == 11d) { failures = new DoubleReference(); failures.doubleValue = 0d; d1 = charToNumber(fnummer[0], failures); d2 = charToNumber(fnummer[1], failures); d3 = charToNumber(fnummer[2], failures); d4 = charToNumber(fnummer[3], failures); d5 = charToNumber(fnummer[4], failures); d6 = charToNumber(fnummer[5], failures); d7 = charToNumber(fnummer[6], failures); d8 = charToNumber(fnummer[7], failures); d9 = charToNumber(fnummer[8], failures); d10 = charToNumber(fnummer[9], failures); d11 = charToNumber(fnummer[10], failures); if (failures.doubleValue == 0d) { aDatetimeDate = getDateFromNorwegianPersonalIdentificationNumber(fnummer, failures); if (datetimeisValidDate(aDatetimeDate)) { if (failures.doubleValue == 0d) { k1 = d1 * 3d + d2 * 7d + d3 * 6d + d4 * 1d + d5 * 8d + d6 * 9d + d7 * 4d + d8 * 5d + d9 * 2d; k1 = k1 % 11d; if (k1 != 0d) { k1 = 11d - k1; } if (k1 == 10d) { failures.doubleValue = failures.doubleValue + 1d; } k2 = d1 * 5d + d2 * 4d + d3 * 3d + d4 * 2d + d5 * 7d + d6 * 6d + d7 * 5d + d8 * 4d + d9 * 3d + k1 * 2d; k2 = k2 % 11d; if (k2 != 0d) { k2 = 11d - k2; } if (k2 == 10d) { failures.doubleValue = failures.doubleValue + 1d; } if (k1 == d10 && k2 == d11 && failures.doubleValue == 0d) { gyldig = true; } else { gyldig = false; } } else { gyldig = false; } } else { gyldig = false; } } else { gyldig = false; } } else { gyldig = false; } return(gyldig); }
public static datetimeDate getDateFromNorwegianPersonalIdentificationNumber(char [] fnummer, DoubleReference failures) { datetimeDate aDatetimeDate; double individnummer; double day, month, year; double d1, d2, d3, d4, d5, d6, d7, d8, d9; aDatetimeDate = new datetimeDate(); d1 = charToNumber(fnummer[0], failures); d2 = charToNumber(fnummer[1], failures); d3 = charToNumber(fnummer[2], failures); d4 = charToNumber(fnummer[3], failures); d5 = charToNumber(fnummer[4], failures); d6 = charToNumber(fnummer[5], failures); d7 = charToNumber(fnummer[6], failures); d8 = charToNumber(fnummer[7], failures); d9 = charToNumber(fnummer[8], failures); if (failures.doubleValue == 0d) { individnummer = d7 * 100d + d8 * 10d + d9; day = d1 * 10d + d2; month = d3 * 10d + d4; year = d5 * 10d + d6; if (individnummer >= 0d && individnummer <= 499d) { year = year + 1900d; } else if (individnummer >= 500d && individnummer <= 749d && year >= 54d && year <= 99d) { year = year + 1800d; } else if (individnummer >= 900d && individnummer <= 999d && year >= 40d && year <= 99d) { year = year + 1900d; } else if (individnummer >= 500d && individnummer <= 999d && year >= 0d && year <= 39d) { year = year + 1900d; } else { failures.doubleValue = failures.doubleValue + 1d; } aDatetimeDate.year = year; aDatetimeDate.month = month; aDatetimeDate.day = day; } return(aDatetimeDate); }
public bool Equals(DoubleReference <TRef> other) => ReferenceEquals(ReferenceLeft, other.ReferenceLeft) && ReferenceEquals(ReferenceRight, other.ReferenceRight);