IP Library Granted Patent US 8,589,258
Granted Patent B2
US 8,589,258 · App. 11/531,750 · Granted Nov 19, 2013

Declining balance financial calculation with no remainder

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,589,258
App. No.
11/531,750
Granted
Nov 19, 2013
Kind
B2
Abstract

An amount is divided into equal portions (n) in a manner which eliminates rounding errors or remainders and has repeatable results.

Claims (28)

1. A computer system comprising a processor, a memory and an input output device wherein the memory stores computer executable instructions and the processor is adapted to execute computer executable instructions for dividing an amount, the computer executable instructions comprising:

identifying a plurality of partial balances, a sum of the plurality of partial balances equals a total balance;

setting a variable n equal to a quantity of the plurality of partial balances;

setting a temporary partial balance equal to a first partial balance in the plurality of partial balances;

setting a temporary total balance equal to the total balance;

setting a temporary amount equal to the amount;

(a) determining a ratio by dividing the partial balance by the temporary total balance;

(b) determining an allocation by multiplying the ratio and the temporary amount;

(c) adjusting the allocation to a desired number of decimal places;

(d) storing the adjusted allocation in the memory;

(e) upon performing operations (a)-(d), decrementing the variable n by one, setting the temporary partial balance equal to another partial balance in the plurality of partial balances, updating the temporary total balance by subtracting the first partial balance from the temporary total balance, and updating the temporary amount by subtracting the adjusted allocation from the temporary amount; and

repeating operations (a)-(e) until the variable n is less than one, wherein dividing the amount into portions relative to each of the plurality of partial balances results in the portions not summing to the amount, and wherein summing the adjusted allocations determined in operation (c) after repeating operations (a)-(e) until the variable n is less than one results in the amount.

2. The computer system of claim 1 , wherein adjusting the allocation to the desired number of decimal places further comprises one of the group comprising rounding the allocation or truncating the allocation.

3. The computer system of claim 1 , wherein repeating the operations (a)-(e) until the variable n is less than one further comprises repeating the operations (a)-(e) until the temporary amount is zero after subtracting the adjusted allocation from the temporary amount.

4. The computer system of claim 1 , further comprising calculating a sum of all the distinct stored adjusted allocations and determining whether the sum of the stored adjusted allocations equals the amount.

5. A computer-implemented method for dividing an amount, the method comprising computer-implemented operations for:

identifying, by a computer having a processor and a memory, a plurality of partial balances, a sum of the plurality of partial balances equals a total balance;

setting, by the computer, a variable n equal to a quantity of the plurality of partial balances;

setting, by the computer, a temporary partial balance equal to a first partial balance in the plurality of partial balances;

setting, by the computer, a temporary total balance equal to the total balance;

setting, by the computer, a temporary amount equal to the amount;

(a) determining, by the computer, a ratio by dividing the partial balance by the temporary total balance;

(b) determining, by the computer, an allocation by multiplying the ratio and the temporary amount;

(c) adjusting, by the computer, the allocation to a desired number of decimal places by rounding or truncating the allocation at the desired number of decimal places;

(d) storing, by the computer, the adjusted allocation in the memory;

(e) upon performing operations (a)-(d), decrementing, by the computer, the variable n by one, setting, by the computer, the temporary partial balance equal to another partial balance in the plurality of partial balances, updating, by the computer, the temporary total balance by subtracting the first partial balance from the temporary total balance, and updating, by the computer, the temporary amount by subtracting adjusted allocation from the temporary amount; and

repeating operations (a)-(e) until the variable n is less than one, wherein dividing the amount into portions relative to each of the plurality of partial balances results in the portions not summing to the amount, and wherein summing the adjusted allocations determined in operation (c) after repeating operations (a)-(e) until the variable n is less than one results in the amount.

6. The computer-implemented method of claim 5 , wherein the plurality of partial balances comprises individual purchase amounts; and wherein the amount comprises a tax on the total balance.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2007
From: SMITH, HOWARD
To: MICROSOFT CORPORATION
Reel/Frame 018701/0741 →