# Love calculator (just for fun)

> For entertainment only: a love compatibility score from 0 to 100 made from two names. The same pair always gets the same score; it predicts nothing.

انٹرایکٹو صورت: https://www.calcopenly.com/ur/everyday/love-compatibility-calculator
موضوع: روزمرہ کے کیلکولیٹر

The score is a hash, not a measurement. The calculator keeps only the letters of both names, lowercases them, sorts the pair so the order doesn't matter, runs the 32-bit FNV-1a hash over the result and takes the remainder after dividing by 101, which gives a whole number from 0 to 100. The verdicts cover 0–20, 21–40, 41–60, 61–80 and 81–100.

The result is for entertainment only and does not predict anything about a real relationship. The same two names always get the same score, so Romeo and Juliet get 54% ("Worth a date") every time, in either order and any mix of capitals.

Every letter feeds the hash, so a nickname, a middle name or a surname gives an unrelated score.

## اندراجات

- **First name**
- **Second name**

## نتائج

- Match score — بنیادی نتیجہ
- Verdict

## فارمولا

$$
\text{score} = \operatorname{FNV\text{-}1a}_{32}(\text{sorted lowercase letters}) \bmod 101
$$

## حل شدہ مثالیں

### Romeo and Juliet

- First name: Romeo
- Second name: Juliet
- **Match score: 54%**
- **Verdict: Worth a date**
- جانچ کا ماخذ: ⁨Python 3.8 FNV-1a of b'juliet+romeo' = 174137891; mod 101 = 54⁩

### Order, case and punctuation don't matter

- First name: juliet!
- Second name:  ROMEO 
- **Match score: 54%**
- جانچ کا ماخذ: ⁨Same normalized key 'juliet+romeo' as above⁩

### Ada and Charles

- First name: Ada
- Second name: Charles
- **Match score: 95%**
- **Verdict: Match made in the stars**
- جانچ کا ماخذ: ⁨Python 3.8 FNV-1a of b'ada+charles' = 1687705348; mod 101 = 95⁩

### Elizabeth and Darcy

- First name: Elizabeth
- Second name: Darcy
- **Match score: 36%**
- **Verdict: Some spark**
- جانچ کا ماخذ: ⁨Python 3.8 FNV-1a of b'darcy+elizabeth' = 613105083; mod 101 = 36⁩

### Accented letters hash as UTF-8

- First name: Zoë
- Second name: Zoë
- **Match score: 71%**
- جانچ کا ماخذ: ⁨Python 3.8 FNV-1a of 'zoë+zoë'.encode('utf-8') = 1747526412; mod 101 = 71⁩

## سوالات

### How does this love calculator work?

It turns the letters of two names into a number with a fixed formula. The letters are lowercased, the two names are sorted into a pair, and the pair is hashed with 32-bit FNV-1a and reduced modulo 101 to a score from 0 to 100. Nothing about the people themselves goes in, so the score is entertainment and carries no meaning.

### Can a love calculator predict a relationship?

No. The score comes from the spelling of two names and says nothing about compatibility. What does predict relationship quality is how each partner experiences the relationship: in a 2020 PNAS study pooling 43 longitudinal couples datasets from 29 laboratories, perceived partner commitment, appreciation, sexual satisfaction, perceived partner satisfaction and conflict were the top predictors, and relationship-specific measures explained up to 45% of the variance in relationship quality at the start of the studies.

### Why do the same names always get the same score?

Because a hash is deterministic: the same input always gives the same output. The names are normalized first, so "Romeo" and "Juliet" or "juliet!" and " ROMEO " both become juliet+romeo and score 54. Adding a surname or using a nickname changes the letters and gives an unrelated score.

### Do accented and non-Latin names work?

Yes. Any Unicode letter counts, including accented letters and non-Latin scripts, and the letters are hashed as UTF-8 bytes, so Zoë and Zoë score 71. Digits, spaces and punctuation are ignored, and a name with no letters at all gets an error.

### “⁨Love calculator (just for fun)⁩” کتنا درست ہے؟

درستی آپ کی درج کردہ قدروں اور طریقے کے مفروضوں پر منحصر ہے۔ اعشاری حساب 50 بامعنی ہندسے استعمال کرتا ہے، مگر تخمینے، عددی طریقے اور ماخذ کا ڈیٹا کم درست ہو سکتے ہیں؛ دکھائی گئی قدروں کو راؤنڈ کرنے سے یہ حدود ختم نہیں ہوتیں۔ آزاد ذرائع کی حل شدہ مثالوں سے جانچ: 5۔ مثلاً، “⁨Romeo and Juliet⁩” کو ⁨Python 3.8 FNV-1a of b'juliet+romeo' = 174137891; mod 101 = 54⁩ سے جانچا جاتا ہے۔

### اس طریقے کا ماخذ کیا ہے؟

IETF draft — The FNV non-cryptographic hash algorithm (Fowler, Noll, Vo).

## ماخذ

- [IETF draft — The FNV non-cryptographic hash algorithm (Fowler, Noll, Vo)](https://datatracker.ietf.org/doc/html/draft-eastlake-fnv)

_تفریح کے لیے۔ اس نتیجے کی کوئی سائنسی بنیاد نہیں ہے۔_
