# 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/ta/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)

_பொழுதுபோக்கிற்காக. இந்த முடிவுக்கு அறிவியல் அடிப்படை இல்லை._
