| 1 | Author: Hovinen (early 2002), edits by Saunders (2003Jan) |
|---|
| 2 | |
|---|
| 3 | Class names: |
|---|
| 4 | |
|---|
| 5 | In general: Most class names now follow the Java/Smalltalk |
|---|
| 6 | MyClass style. Abbreviations have been removed in most cases. |
|---|
| 7 | |
|---|
| 8 | Field::randIter -> Field::RandIter |
|---|
| 9 | |
|---|
| 10 | sparsemat* -> SparseMatrix* |
|---|
| 11 | |
|---|
| 12 | diagonal -> Diagonal |
|---|
| 13 | hilbert -> Hilbert |
|---|
| 14 | etc. |
|---|
| 15 | |
|---|
| 16 | There are two notable exceptions: The wrapper of GMP long |
|---|
| 17 | integers is "integer", and field elements are represented by |
|---|
| 18 | "element". |
|---|
| 19 | |
|---|
| 20 | ParamModular was first renamed LargeModular, since it works |
|---|
| 21 | over a modulus of arbitrary size. Corresponding SmallModular |
|---|
| 22 | (word size modulus) and TinyModular (half-word size modulus) |
|---|
| 23 | were planned. All of this has become Modular<element>, for |
|---|
| 24 | basic element types of the various sizes, including unsigned |
|---|
| 25 | and floating types. For example Modular<uint32>. |
|---|
| 26 | |
|---|
| 27 | Class methods: |
|---|
| 28 | |
|---|
| 29 | In general: I have standardized everything on the Java |
|---|
| 30 | studlycaps style, e.g. MyClass::myMethod |
|---|
| 31 | |
|---|
| 32 | The names Blackbox_archetype::applyin and |
|---|
| 33 | Blackbox_archetype::applyTransposein have been changed to |
|---|
| 34 | BlackboxArchetype::applyIn and |
|---|
| 35 | BlackboxArchetype::applyTransposeIn, respectively. |
|---|
| 36 | |
|---|
| 37 | Header files: |
|---|
| 38 | |
|---|
| 39 | All header files that previously used '_' to separate words |
|---|
| 40 | use '-' now as '-' is easier to type. More generally the |
|---|
| 41 | header file named first-second-third.h can be expected to |
|---|
| 42 | contain a declaration of class FirstSecondThird. |
|---|
| 43 | |
|---|
| 44 | The archetype header files have been moved into directories |
|---|
| 45 | containing objects of those archetypes and are all now named |
|---|
| 46 | "archetype.h", "abstract.h", and "envelope.h". |
|---|
| 47 | |
|---|
| 48 | Header files are now installed into a tree matching that of |
|---|
| 49 | the source code as opposed to a single, flat directory. So, |
|---|
| 50 | for example, one now includes LinBox/blackbox/archetype.h as |
|---|
| 51 | opposed to LinBox/blackbox-archetype.h |
|---|
| 52 | |
|---|
| 53 | Miscellanae: |
|---|
| 54 | |
|---|
| 55 | In the random iterator interface, the operator () has been |
|---|
| 56 | replaced by a function random accepting a single argument -- |
|---|
| 57 | an element type into which the random element should be |
|---|
| 58 | placed. This eliminates the potential for memory leaks. |
|---|
| 59 | |
|---|
| 60 | The blackbox container class now requires that a field be |
|---|
| 61 | passed, as it no longer retrieves the field from the black |
|---|
| 62 | box. |
|---|
| 63 | |
|---|
| 64 | Some terms composed of more than one word are considered to be |
|---|
| 65 | compound words and do not have internal capitalization, e.g. Blackbox |
|---|
| 66 | (vs. BlackBox) and minpoly (vs. minPoly). |
|---|
| 67 | |
|---|
| 68 | Frozen design: |
|---|
| 69 | |
|---|
| 70 | These files are frozen and require team consensus for changes. |
|---|
| 71 | |
|---|
| 72 | field-archetype.h |
|---|
| 73 | blackbox-archetype.h |
|---|
| 74 | element-archetype.h |
|---|
| 75 | randiter-archetype.h |
|---|