File: GOALS

package info (click to toggle)
libmath-bigint-perl 1.9993-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,064 kB
  • ctags: 405
  • sloc: perl: 9,770; pascal: 6,115; makefile: 2
file content (32 lines) | stat: -rw-r--r-- 1,333 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
This file contains a short description of what the goals of this project are,
building guidelines etc. This was born after discussions with John Peacock, who
provided helpfull feedback.

* KISS - Keep It Simple, Stupid!
* Favour correctness over speed
* Make your code maintable, so avoid Copy&Paste, unclear constructs, read-only
  code and special hacks whenever possible
* Optimize more for the average case than the worst, while trying to avoid 
  performance hits for the worst case.
  The average case is more for longer numbers than short, based on the
  assumption that if you wanted to add 1 and 2 _fast_ together, you wouldn't
  use BigInt nor Perl, now would you? ;)
  (Or in other words: Time saved in one case of a large number may be
  multitudes of what you can waste on a small number)
* Make subclassing as easy and painless as possible. This means clean
  inheritance and overload section, no C&P code etc.
* Keep the interface as consistent and easy as possible.

Secondary goals:
* Make mixing of classes work, like in:
	$x = Math::BigFloat->new(10);
	$y = Math::BigInt->new(2);
	$z = $x / $y;			# $z = Math::BigFloat = 5
* Make auto-upgrading/downgrading work

  See also BUGS.

Please send me test-reports, your experiences with this and your ideas - I love
to hear about my work!

Tels <http://bloodgate.com/>