Base Currency
When expressed in plain English, an exchange rate is conveyed using a sentence "One USD can be converted to 1.3579 SGD", or "1.3579 SGD can buy One USD". The currency after the word "One" is always called the "Base Currency". (USD is the Base Currency in those sentences).
Currency Pair Interpretation
In the forex market, a currency pair can be written in the form of USD/SGD, USD.SGD, USD:SGD, or even USDSGD. They all mean "1 USD = ? SGD" and the first currency (USD) is the Base Currency (because it is after "1").
If you switch the pair around, SGD/USD would mean "1 SGD = ? USD", in which SGD is the Base Currency.
Textbook conventions are reversed
Every textbook I've read, including High School and College Textbooks in the US, Chartered Financial Analyst materials, and some Wikipedia pages writes pairs in the completely opposite way. USD/SGD in textbook means "? USD per 1 SGD", while in the forex market, USD/SGD means "1 USD to ? SGD".
In textbooks, a slash "/" means per (due to conventions in high school maths), while in the forex market, a slash (or other symbol) means to.
In other words, without additional information, you cannot tell if USD/SGD has USD as Base or SGD as Base.
For the remaining part below, assume the Forex convention, ignore the textbook convention. i.e. the first Currency is always the Base
Direct vs Indirect Quote
For each pair, there is a more popular way to quote. For example, everybody in the Forex market only quotes USD/SGD. Nobody quotes SGD/USD. Same the EUR/USD, nobody quotes USD/EUR.
The retail banking FX is different. Local banks publishes Direct Quotes. It means that "Foreign Currency is always Base Currency", i.e. How much SGD (Local) does it cost to buy One USD (Foreign = Base). So if banks in Singapore says "Rate of EUR is 1.4962, Rate for MYR is 0.35657", it means "EUR/SGD is 1.4962, MYR/SGD is 0.35657".
Formula for Futures
Remember this fact: For Country A and Country B, if country A has lower interest rate than country B, Country A's currency is expected to "appreciate".
Another fact: An increase in an exchange rate (forex market convention) means a appreciation in of Base Currency. So if USD/CAD increases, it means that USD appreciates, because USD is the base.
Forward Rate = Spot Rate x [(1 + Interest_A) / (1 + Interest_B)]
So if the Forward Rate and Spot Rate are in the the forex market convention (and not textbook convention), and the pair is USD/CAD, USD interest rate is 0.25% and CAD interest rate is 0.75%, you can infer that Forward Rate for USD/CAD should be higher than Spot Rate because USD has lower interest rate. So Interest_A is 0.75% and Interest_B is 0.25%.
So the correct formula for the forex market is
USD/CAD_Forward = USD/CAD_Spot x [(1 + Interest_CAD) / (1 + Interest_USD)]
It is meaningless to remember formulas in the form of "Domestic" and "Foreign", because you could be living in Singapore and trading EUR/USD.
Only use interest rate from Central banks and Exchange Rates from brokers
This means you do not use the interest rate quoted by retail bank. Brokers can give FX quotes in 0.02% spread. Midpoint of a huge retail spread does not work.
Confirm with real futures quotes
Look at http://www.cmegroup.com/market-data/delayed-quotes/fx.html to see actual futures price to confirm if your formula works. Note that almost every pair for CME Futures has "Foreign as Base". "Canadian Dollar Futures" represents CAD/USD instead of the more popular USD/CAD.