text:
Spanish/How To Conjugate Verbs

Present Indicative
The Present Indicative is the most basic (though not the easiest) and essential tense in Spanish. There are more than few dozen irregular verbs with varying degrees of irregularities. It should be noted that all the second person informal conjugations end with s.

-AR Verbs
-AR verbs are conjugated by removing the "-ar" from the infinitive and adding the endings.

Yo             -o     Nosotros                  -amos Tú            -as    Vosotros                 -áis Usted,él,ella  -a     Ustedes,ellos,ellas       -an

Hablar (to speak)
hablo  hablamos hablas habláis habla  hablan

-ER Verbs
Like the -AR verbs, -ER verbs are conjugated by removing the infinitive ending "-er" and adding the endings.

-o    -emos -es   -éis -e    -en

Beber (to drink)
bebo  bebemos bebes bebéis bebe  beben

Hacer (to make)
hago  hacemos haces haceis hace  hacen

-IR Verbs
-IR verbs are conjugated by removing the infinitive ending "-ir" and adding the endings.

-o    -imos -es   -ís -e    -en

Vivir (to live)
vivo  vivimos vives vivís vive  viven

Ser (to be)
soy   somos eres  sois es    son

Estar (to be)
estoy estamos estás estáis está  están

Ir (to go)
voy   vamos vas   vais va    van

Haber (to have)
he    hemos has   habéis ha/hay han/hay

First Person Singular Irregularity
Some verbs only have irregularity in the first person singular forms.

Verbs with a -cir and -cer endings also replace the c in -cir and -cer with 'zc' in the first person singular form.
 * conocer (to know) - conozco
 * traducir (to translate) - traduzco
 * conducir (to drive) - conduzco

Some verbs end in -go instead of the regular -o for the first person singular form, these are completely irregular.
 * poner (to put) - pongo
 * salir (to leave) - salgo

Also, some verbs end in -jo instead of -o for the first person singular.
 * escoger (to choose) - escojo
 * corregir (to correct) - correjo

Four verbs are uniquely irregular only in the first person singular forms:
 * saber (to know) - sé
 * caber (to fit) - quepo
 * dar (to give) - doy
 * ver (to see) - veo

Stem Changes
Some verbs change their stems when conjugated in these forms: yo, tú, él, ella, usted, ellos, ellas, and ustedes. There are four stem changes in the present tense o to ue, u to ue, e to ie, and e to i. The e to i change only occurs in -IR verbs. The easy way to memorize the change in which forms is called "The Boot." It must be pointed out, however, that using memory techniques to learn a language can prevent one from ever learning the language fluently. Children don't use "tricks" to learn a language (did you?). The way to learn a language is to socially interact with those who speak the language you wish to learn. And remember, never, ever, translate, as it will irreparably impair your ability to learn a new language.

O to Ue - Dormir (to sleep)
duermo   dormimos duermes  dormís duerme   duermen

U to Ue - Jugar (to play)
juego    jugamos juegas   jugáis juega    juegan

E to Ie - Empezar (to begin)
empiezo  empezamos empiezas empezáis empieza  empiezan

E to I - Pedir (to ask/TO ORDER)
pido     pedimos pides    pedís pide     piden

Imperfect
The Imperfect is the easiest tense to learn in Spanish because the conjugations are almost completely regular: there are 3 irregular verbs! In all conjugations of the Imperfect, the first person singular forms (yo) and the third person singular/second person polite forms are same. For example, "caminaba" can mean "he used to walk" or "I was walking."

-AR Verbs
-AR verbs are conjugated by removing the "-ar" and adding the following endings (note accent on nosotros form!):

-aba   -ábamos -abas  -abais -aba   -aban

Estudiar (to study)
estudiaba   estudiábamos estudiabas  estudiabais estudiaba   estudiaban

-ER and -IR Verbs
-ER and -IR Verbs are conjugated identically by removing the "-er" or "-ir" and adding the following endings (note accents on all forms!):

-ía   -íamos -ías  -íais -ía   -ían

Beber (to drink)
bebía   bebíamos bebías  bebíais bebía   bebían

Salir (to leave)
salía  salíamos salías  salíais salía   salían

Irregular Verbs
There are only 3 irregular verbs in the Imperfect tense: Ser, Ir, and Ver.

Ser (to be)
era   éramos eras  erais era   eran

Ir (to go)
iba   íbamos ibas  ibais iba   iban

Ver (to see)
veía   veíamos veías  veíais veía   veían

-AR Verbs
-AR verbs are conjugated by removing the "-ar" from the infinitive and adding the endings.

-é    -amos -aste   -asteis -ó    -aron

Comprar (to buy)
compré    compramos compraste comprasteis compró    compraron

-ER & IR Verbs
Like the -AR verbs, -ER & -IR verbs are conjugated by removing the infinitive ending "-er" or "-ir" and adding the endings.

-í    -imos -iste   -isteis -ió    -ieron

Comer (to eat)
comí      comimos comiste   comisteis comió    comieron

Vivir (to live)
viví  vivimos viviste vivisteis vivío  vivieron

Irregular Verbs
Note: Ir and Ser are identical in the Preterite

Ir (to go) and Ser (to be)
fui  fuimos fuiste  fuisteis fue fueron

Tener (to have)
tuve  tuvimos tuviste  tuvisteis tuvo  tuvieron

Haber (to have auxiliary)
hube  hubimos hubiste  hubisteis hubo  hubieron

Future
In Spanish, especially in Latin American countries, it is more usual to utilise the ir + infinitive verb form (like going to) than the future conjugation.

Example
Yo "Voy a comer" instead of "Comeré" Tu "Vas a comer" instead of "Comerás" El "Va a comer" instead of "Comerá" Nosotros "Vamos a comer" instead of "Comeremos" Vosotros "Vais a comer" instead of "Comeréis" Ellos "Van a comer" instead of "Comerán"

Still it is easy: Remember the present tense of verb "Haber" minus "h" and add to the infinitive form of the verb

The verb "Haber": he, has, ha, hemos, habéis, han

For future = é, ás, á, emos, éis, án

Example:Amar
Yo amaré Tu amarás El amará Nosotros amaremos Vosotros amaréis Ellos amarán

Temer
Yo temeré Tú temerás Él temerá Nosotros temeremos Vosotros temeréis Ellos temerán

Partir
Yo partiré .. partirás, partirá, partiremos, partiréis, partirán

An so on in many many verbs. There are exceptions but easy ones

Salir (exception it changes to saldr) Yo saldré, saldrás, saldrá, saldremos, saldréis, saldrán

Venir (exception it changes to vendr) Yo vendré, vendrás, vendrá, vendremos, vendréis, vendrán

Conditional
In this tense, the action is conditioned to something to happen. Use conditional for asking in polite form like in English with would. Or use it to form conditional expressions.

¿Vendrías a casa? = Would you like to come home? ¿Tomarías café? = Would you like to drink coffee? Comería si tubiera hambre = I would eat if I was hungry.

-ar, -er and -ir verbs
ía  iamos ías íais ía  ían

Amar amaría amaríamos amarías amaríais amaría amarían

Temer temería temeríamos temerías temeríais temería temerían

Partir partiría partiríamos partirías partiríais partiría partirían

These changes in the conditional tense apply even to the verbs Ser, Estar and Ir!

Exceptions

Tener (changes to tendr): tendría, tendrías, tendríamos, tendríais, tendrían Salir (changes to sald): saldría, saldrías, saldríamos, saldríais, saldrían and so on

Preterite Perfect
The meaning is not the same as in English: Something that has been done in the past but still important in the present or continue by the moment.

Format Haber verb + past participle of the verb

Examples that home (and still living today) Viví en esa casa = I lived in that home (not now) He tomado mucho = I had drunk a lot (now I'm full) Tomé mucho = I drank a lot (may be yesterday) Viví mucho tiempo = wrong tense unless it was a ghost talking Well usually in Latin America they almost never use this tense and mix the past perfect and simple past you have to adapt the meaning. Usually people from Spain use the tense properly but in Latin American to use this tense could show some fancy - elevated studies language that is not the normal rule or can be comic to some one from there.

Amar (to love) he amado hemos amado has amado habéis amado ha amado han amado

Tomar (to drink) he tomado hemos tomado has tomado habéis tomado ha tomado han tomado

and so on. There are no exceptions.

Conditional Perfect
same as formal commands

Commands
Commands are one of the easiest tenses to learn in Spanish because it has only few irregularities and there are only four forms (tú, usted, vosotros, and ustedes) instead of the regular six and relies on other conjugated forms.

-AR, -ER, and -IR verbs
For any type of verb, simply change the form of the verb to the él/ella/Ud. form. For vosotros commands, add a "d".

Cerrar (to close)
cierra cerrad

Traer (to bring)
trae traed

Irregular Tú Commands
There are eight irregular commands. They are as follows:

Ir (to go) - ve                       Venir (to come) - ven Ser (to be) - sé                      Tener (to have) - ten Hacer (to do/make) - haz              Decir (to say/tell) - di   Poner (to put/place) - pon             Salir (to get out) - sal

-AR verbs
For the -AR verbs, take the first person singular form (yo) and take off the -o and add the command endings to the stem.

-e   -en

Nadar (to swim)
I swim - Nado // You swim - Nades // He/she swims - Nade // we swim - nademos // they swim - naden //

-ER & -IR verbs
For the -ER and -IR verbs, take the first person singular form (yo) and take off the -o and add the command endings to the stem.

-a   -an

caber (to fit) - Irregular yo form quepo
quepa quepan

pedir (to ask for) - Stem change e to i
pida pidan

Double Changes
Verbs that end in -car, -gar, and -zar which changes their endings to -que, -gue, and -ce, respectively

secar (to dry)
Seque Sequen

jugar (to play) - Stem change u to ue
Juegue Jueguen

Ser (to be)
Sea   Sean

Estar (to be)
Esté  Estén

Ir (to go)
Vaya Vayan

Dar (to give)
Dé    Den

Saber (to know)
Sepa  Sepan

title: Spanish/How To Conjugate Verbs


text:
Ada Programming/Libraries/MultiPurpose/AdaCL

Filtering of text files
This functionality is used for example in creating the extended booch components. It is also used in conjunction with AdaCL.CGI to create dynamic web pages.

String tools
A Get_Line which really works. Raw String I/O. Search and Replace in strings. A special string type with support for Internationalization.

Process control
Execution of external programs (inclusive redirection of standard input and standard output) Wait for a specific process on asynchronous execution. Read and Write to the process standard input and standard output. See os.html for more details.

Command line parsing
A high level command line parser for gnu style command lines.

A secount command line parser with support for internationalisation

CGI
A thick binding to the Common Gateway Interface (CGI). This most complete of all Ada binding to the Common Gateway Interface (CGI) and the only binding to support file upload “multipart/form-data”.

Garbage collector
An optional thick binding to the Boehm-Demers-Weiser conservative garbage collector. Removes the need to deallocate memory.

Components
Extension kit for the Ada95 Booch Components. Stores limited objects. This too, eases up memory management.

Library links
Per Sandberg Björn Persson Olga Krischik
 * Author      : Martin Krischik

Process control
This little tool triggers a rescan of the scsi bus on Linux system. I need it for the scanner and the USB Compact-Flash card reader which are both hot pluggable.

 * scanscsi.ads (view) (download)
 * scanscsi-Main.adb (view) (download)

Wikibook

 * Ada Programming
 * Ada Programming/Libraries
 * Ada Programming/Libraries/Distributed

Ada Reference Manual
- none apply -

|AdaCL

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Ada Programming/Libraries/Container/Booch

Library containers

 * Bags

 * Collections
 * Plain
 * Ordered

 * Dequeues

 * Graphs
 * Directed
 * Undirected

 * Lists
 * Single
 * Double

 * Maps
 * Queues
 * Plain
 * Ordered

 * Rings
 * Sets
 * Stacks
 * Trees
 * AVL
 * Binary
 * Multiway

Library links

 * Author      : Simon Wright
 * Homepage    : http://booch95.sourceforge.net
 * Tutorial    : http://booch95.sourceforge.net/case-study.html
 * Project Info : http://sourceforge.net/projects/booch95
 * CVS Archive : http://sourceforge.net/cvs/?group_id=135616
 * Download    : http://sourceforge.net/project/showfiles.php?group_id=135616

Sample code
Read the project tutorial for full detail.

; ;  Cars Plate_Strings Ada.Strings.Bounded.Generic_Bounded_Length (10); Plate_String Plate_Strings.Bounded_String; Model_Strings Ada.Strings.Bounded.Generic_Bounded_Length (32); Model_String Model_Strings.Bounded_String; Car Plate : Plate_String; Model : Model_String; Registered : Ada.Calendar.Time; ; Cars;

BC.Containers.Collections.Bounded; Cars; My_Fleet_Combined Cars.Car; Abstract_Car_Containers BC.Containers (Cars.Car); Abstract_Car_Collections Abstract_Car_Containers.Collections; Fleets Abstract_Car_Collections.Bounded (Maximum_Size => 30); The_Fleet : Fleets.Collection; My_Fleet_Combined;

Wikibook

 * Ada Programming
 * Ada Programming/Libraries
 * Ada Programming/Libraries/Container

|Booch


text:
Ada Programming/Libraries/Interfaces

The Interfaces package helps in interfacing with other programming languages. Ada is one of the few languages where interfacing with other languages is part of the language standard. The language standard defines the interfaces for C, Cobol and Fortran. Of course any implementation might define further interfaces — GNAT, for example, defines an interface to C++.

Interfacing with other languages is actually provided by, and.

In Ada 2012 these clauses have an alternate form using "with" in place of "pragma."

Example
As an example, here is a complete program that queries the terminfo (terminal information) database on Unix systems to get the dimensions of the current terminal window. It interfaces with C language functions in the ncurses package, so it must be linked with ncurses (e.g. with the -lncurses switch) when it is compiled.

;  ;   ;   ;   ctest Interfaces.C;    int_array   (size_t  <>)   int  Pack; Int_Pointers  Pointers (      Index              => size_t,      Element            => int,      Element_Array      => int_array,      Default_Terminator => 0    ); Get_Terminal_Data (     terminal           : Interfaces.C.Strings.chars_ptr;       file_descriptor    : int;       error_code_pointer : Int_Pointers.Pointer    )  int Import => True, Convention => C, External_Name => "setupterm"; Get_Numeric_Value (name : Interfaces.C.Strings.chars_ptr) int Import => True, Convention => C, External_Name => "tigetnum"; Format (value : int) String result : String := int'Image (value); (if result(1) = ' ' then result(2..result'Last) else result); Format; error_code        :  int; error_code_pointer : Int_Pointers.Pointer := error_code'Access; Get_Terminal_Data (Interfaces.C.Strings.Null_Ptr, 1, error_code_pointer) = 0 Ada.Text_IO.Put_Line (       "Window size: " &        Format (Get_Numeric_Value (Interfaces.C.Strings.New_String ("cols"))) & "x" &         Format (Get_Numeric_Value (Interfaces.C.Strings.New_String ("lines")))      ); Ada.Text_IO.Put_Line ("Can't access terminal data"); ;  ctest;

Child Packages

 * Interfaces.C
 * Interfaces.C.Extensions (GNAT)
 * Interfaces.C.Pointers
 * Interfaces.C.Streams (GNAT)
 * Interfaces.C.Strings
 * Interfaces.CPP (GNAT)
 * Interfaces.COBOL
 * Interfaces.Fortran
 * Interfaces.OS2Lib (GNAT, OS/2)
 * Interfaces.OS2Lib.Errors (GNAT, OS/2)
 * Interfaces.OS2Lib.Synchronization (GNAT, OS/2)
 * Interfaces.OS2Lib.Threads (GNAT, OS/2)
 * Interfaces.Packed_Decimal (GNAT)
 * Interfaces.VxWorks (GNAT, VxWorks)
 * Interfaces.VxWorks.IO (GNAT, VxWorks)

Wikibook

 * Ada Programming
 * Ada Programming/Libraries
 * Ada Programming/Libraries/Standard
 * Ada Programming/Libraries/Ada
 * Ada Programming/Libraries/System

Ada 2005

|Interfaces

Programación en Ada/Unidades predefinidas/Interfaces

title: Ada Programming/Libraries/Interfaces


text:
Ada Programming/Libraries/Ada

The Ada package is only an anchor or namespace for Ada's standard library. Most compilers will not allow you to add new packages to the Ada hierarchy and even if your compiler allows it you should not do so since all package names starting with Ada. are reserved for future extensions.

List of language defined child units
The following library units (packages and generic subprograms) are descendents of the package Ada.

 * (Ada 2005) : This package is available since Ada 2005.
 * (Ada 2012) : This package is available since Ada 2012.

 * (Ada 2022)
 * This package is available since Ada 2022.

A – C

 * Ada.Assertions (Ada 2005)
 * Ada.Asynchronous_Task_Control
 * Ada.Calendar
 * Ada.Calendar.Arithmetic (Ada 2005)
 * Ada.Calendar.Formatting (Ada 2005)
 * Ada.Calendar.Time_Zones (Ada 2005)
 * Ada.Characters
 * Ada.Characters.Conversions (Ada 2005)
 * Ada.Characters.Handling
 * Ada.Characters.Latin_1
 * Ada.Command_Line
 * Ada.Complex_Text_IO (Ada 2005)
 * Ada.Containers (Ada 2005)
 * Ada.Containers.Bounded_Doubly_Linked_Lists (Ada 2012)
 * Ada.Containers.Bounded_Hashed_Maps (Ada 2012)
 * Ada.Containers.Bounded_Hashed_Sets (Ada 2012)
 * Ada.Containers.Bounded_Indefinite_Holders (Ada 2022)
 * Ada.Containers.Bounded_Multiway_Trees (Ada 2012)
 * Ada.Containers.Bounded_Ordered_Maps (Ada 2012)
 * Ada.Containers.Bounded_Ordered_Sets (Ada 2012)
 * Ada.Containers.Bounded_Priority_Queues (Ada 2012)
 * Ada.Containers.Bounded_Synchronized_Queues (Ada 2012)
 * Ada.Containers.Bounded_Vectors (Ada 2012)
 * Ada.Containers.Doubly_Linked_Lists (Ada 2005)
 * Ada.Containers.Generic_Array_Sort (Ada 2005 generic procedure)
 * Ada.Containers.Generic_Constrained_Array_Sort (Ada 2005 generic procedure)
 * Ada.Containers.Generic_Sort (Ada 2012)
 * Ada.Containers.Hashed_Maps (Ada 2005)
 * Ada.Containers.Hashed_Sets (Ada 2005)
 * Ada.Containers.Indefinite_Doubly_Linked_Lists (Ada 2005)
 * Ada.Containers.Indefinite_Hashed_Maps (Ada 2005)
 * Ada.Containers.Indefinite_Hashed_Sets (Ada 2005)
 * Ada.Containers.Indefinite_Ordered_Maps (Ada 2005)
 * Ada.Containers.Indefinite_Ordered_Sets (Ada 2005)
 * Ada.Containers.Indefinite_Vectors (Ada 2005)
 * Ada.Containers.Indefinite_Holders (Ada 2012)
 * Ada.Containers.Indefinite_Multiway_Trees (Ada 2012)
 * Ada.Containers.Multiway_Trees (Ada 2012)
 * Ada.Containers.Ordered_Maps (Ada 2005)
 * Ada.Containers.Ordered_Sets (Ada 2005)
 * Ada.Containers.Synchronized_Queue_Interfaces (Ada 2012)
 * Ada.Containers.Unbounded_Priority_Queues (Ada 2012)
 * Ada.Containers.Unbounded_Synchronized_Queues (Ada 2012)
 * Ada.Containers.Vectors (Ada 2005)

D – F

 * Ada.Decimal
 * Ada.Direct_IO
 * Ada.Directories (Ada 2005)
 * Ada.Directories.Hierarchical_File_Names (Ada 2012)
 * Ada.Directories.Information (Ada 2005)
 * Ada.Dispatching (Ada 2005)
 * Ada.Dispatching.EDF (Ada 2005)
 * Ada.Dispatching.Non_Preemptive (Ada 2012)
 * Ada.Dispatching.Round_Robin (Ada 2005)
 * Ada.Dynamic_Priorities
 * Ada.Environment_Variables (Ada 2005)
 * Ada.Exceptions
 * Ada.Execution_Time (Ada 2005)
 * Ada.Execution_Time.Interrupts (Ada 2012)
 * Ada.Execution_Time.Timers (Ada 2005)
 * Ada.Execution_Time.Group_Budgets (Ada 2005)
 * Ada.Finalization
 * Ada.Float_Text_IO
 * Ada.Float_Wide_Text_IO
 * Ada.Float_Wide_Wide_Text_IO (Ada 2005)

G – R

 * Ada.Integer_Text_IO
 * Ada.Integer_Wide_Text_IO
 * Ada.Integer_Wide_Wide_Text_IO (Ada 2005)
 * Ada.Interrupts
 * Ada.Interrupts.Names
 * Ada.IO_Exceptions
 * Ada.Iterator_Interfaces (Ada 2012)
 * Ada.Locales (Ada 2012)
 * Ada.Numerics
 * Ada.Numerics.Big_Numbers (Ada 2022)
 * Ada.Numerics.Big_Numbers.Big_Integers (Ada 2022)
 * Ada.Numerics.Big_Numbers.Big_Reals (Ada 2022)
 * Ada.Numerics.Complex_Arrays (Ada 2005)
 * Ada.Numerics.Complex_Elementary_Functions
 * Ada.Numerics.Complex_Types
 * Ada.Numerics.Discrete_Random
 * Ada.Numerics.Elementary_Functions
 * Ada.Numerics.Float_Random
 * Ada.Numerics.Generic_Complex_Arrays (Ada 2005)
 * Ada.Numerics.Generic_Complex_Elementary_Functions
 * Ada.Numerics.Generic_Complex_Types
 * Ada.Numerics.Generic_Elementary_Functions
 * Ada.Numerics.Generic_Real_Arrays (Ada 2005)
 * Ada.Numerics.Real_Arrays (Ada 2005)

R – S

 * Ada.Real_Time
 * Ada.Real_Time.Timing_Events (Ada 2005)
 * Ada.Sequential_IO
 * Ada.Storage_IO
 * Ada.Streams
 * Ada.Streams.Stream_IO
 * Ada.Strings
 * Ada.Strings.Bounded
 * Ada.Strings.Bounded.Hash (Ada 2005 generic function)
 * Ada.Strings.Bounded.Hash_Case_Insensitive (Ada 2012 generic function)
 * Ada.Strings.Bounded.Equal_Case_Insensitive (Ada 2012 generic function)
 * Ada.Strings.Bounded.Less_Case_Insensitive (Ada 2012 generic function)
 * Ada.Strings.Fixed
 * Ada.Strings.Fixed.Hash (Ada 2005 function)
 * Ada.Strings.Fixed.Hash_Case_Insensitive (Ada 2012 function)
 * Ada.Strings.Fixed.Equal_Case_Insensitive (Ada 2012 function)
 * Ada.Strings.Fixed.Less_Case_Insensitive (Ada 2012 function)
 * Ada.Strings.Hash (Ada 2005 function)
 * Ada.Strings.Hash_Case_Insensitive (Ada 2012 function)
 * Ada.Strings.Less_Case_Insensitive (Ada 2012 function)
 * Ada.Strings.Equal_Case_Insensitive (Ada 2012 function)
 * Ada.Strings.Maps
 * Ada.Strings.Maps.Constants
 * Ada.Strings.Unbounded
 * Ada.Strings.Unbounded.Hash (Ada 2005 generic function)
 * Ada.Strings.Unbounded.Hash_Case_Insensitive (Ada 2012 function)
 * Ada.Strings.Unbounded.Equal_Case_Insensitive (Ada 2012 function)
 * Ada.Strings.Unbounded.Less_Case_Insensitive (Ada 2012 function)
 * Ada.Strings.UTF_Encoding (Ada 2012)
 * Ada.Strings.UTF_Encoding.Conversions (Ada 2012)
 * Ada.Strings.UTF_Encoding.Strings (Ada 2012)
 * Ada.Strings.UTF_Encoding.Wide_Strings (Ada 2012)
 * Ada.Strings.UTF_Encoding.Wide_Wide_Strings (Ada 2012)
 * Ada.Strings.Wide_Bounded
 * Ada.Strings.Wide_Bounded.Wide_Hash (Ada 2005 function)
 * Ada.Strings.Wide_Fixed
 * Ada.Strings.Wide_Fixed.Wide_Hash (Ada 2005 function)
 * Ada.Strings.Wide_Hash (Ada 2005 generic function)
 * Ada.Strings.Wide_Maps
 * Ada.Strings.Wide_Maps.Wide_Constants
 * Ada.Strings.Wide_Unbounded
 * Ada.Strings.Wide_Unbounded.Wide_Hash (Ada 2005 function)
 * Ada.Strings.Wide_Wide_Bounded (Ada 2005)
 * Ada.Strings.Wide_Wide_Bounded.Wide_Wide_Hash (Ada 2005 generic function)
 * Ada.Strings.Wide_Wide_Fixed (Ada 2005)
 * Ada.Strings.Wide_Wide_Fixed.Wide_Wide_Hash (Ada 2005 function)
 * Ada.Strings.Wide_Wide_Hash (Ada 2005 generic function)
 * Ada.Strings.Wide_Wide_Maps (Ada 2005)
 * Ada.Strings.Wide_Wide_Maps.Wide_Wide_Constants (Ada 2005)
 * Ada.Strings.Wide_Wide_Unbounded (Ada 2005)
 * Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Hash (Ada 2005 function)
 * Ada.Synchronous_Barriers (Ada 2012)
 * Ada.Synchronous_Task_Control
 * Ada.Synchronous_Task_Control.EDF (Ada 2012)

T – U

 * Ada.Tags
 * Ada.Tags.Generic_Dispatching_Constructor (generic function)
 * Ada.Task_Attributes
 * Ada.Task_Identification
 * Ada.Task_Termination (Ada 2005)
 * Ada.Text_IO
 * Ada.Text_IO.Bounded_IO (Ada 2005)
 * Ada.Text_IO.Complex_IO
 * Ada.Text_IO.Decimal_IO (Nested package of )
 * Ada.Text_IO.Editing
 * Ada.Text_IO.Enumeration_IO (Nested package of Ada.Text_IO)
 * Ada.Text_IO.Fixed_IO (Nested package of )
 * Ada.Text_IO.Float_IO (Nested package of )
 * Ada.Text_IO.Integer_IO (Nested package of )
 * Ada.Text_IO.Modular_IO (Nested package of )
 * Ada.Text_IO.Text_Streams
 * Ada.Text_IO.Unbounded_IO (Ada 2005)
 * Ada.Unchecked_Conversion (generic function)
 * Ada.Unchecked_Deallocate_Subpool (Ada 2012 generic procedure)
 * Ada.Unchecked_Deallocation (generic procedure)

W – Z

 * Ada.Wide_Characters (Ada 2005)
 * Ada.Wide_Characters.Handling (Ada 2012)
 * Ada.Wide_Text_IO
 * Ada.Wide_Text_IO.Wide_Bounded_IO (Ada 2005)
 * Ada.Wide_Text_IO.Complex_IO
 * Ada.Wide_Text_IO.Decimal_IO (Nested package of )
 * Ada.Wide_Text_IO.Editing
 * Ada.Wide_Text_IO.Enumeration_IO (Nested package of )
 * Ada.Wide_Text_IO.Fixed_IO (Nested package of )
 * Ada.Wide_Text_IO.Float_IO (Nested package of )
 * Ada.Wide_Text_IO.Integer_IO (Nested package of )
 * Ada.Wide_Text_IO.Modular_IO (Nested package of )
 * Ada.Wide_Text_IO.Text_Streams
 * Ada.Wide_Text_IO.Wide_Unbounded_IO (Ada 2005)
 * Ada.Wide_Wide_Characters (Ada 2005)
 * Ada.Wide_Wide_Characters.Handling (Ada 2012)
 * Ada.Wide_Wide_Text_IO (Ada 2005)
 * Ada.Wide_Wide_Text_IO.Wide_Wide_Bounded_IO (Ada 2005)
 * Ada.Wide_Wide_Text_IO.Complex_IO (Ada 2005)
 * Ada.Wide_Wide_Text_IO.Decimal_IO (Nested package of )
 * Ada.Wide_Wide_Text_IO.Editing (Ada 2005)
 * Ada.Wide_Wide_Text_IO.Enumeration_IO (Nested package of )
 * Ada.Wide_Wide_Text_IO.Fixed_IO (Nested package of )
 * Ada.Wide_Wide_Text_IO.Float_IO (Nested package of )
 * Ada.Wide_Wide_Text_IO.Integer_IO (Nested package of )
 * Ada.Wide_Wide_Text_IO.Modular_IO (Nested package of )
 * Ada.Wide_Wide_Text_IO.Text_Streams (Ada 2005)
 * Ada.Wide_Wide_Text_IO.Wide_Wide_Unbounded_IO (Ada 2005)

List of implementation defined child units
The Reference Manual allows compiler vendors to add extensions to the Standard Libraries. However, these extensions cannot be directly children of the package Ada, only grandchildren—for example.

Currently, only the implementation defined library units of the GNAT compiler are listed here. You can help Wikibooks by adding implementation dependent packages of other compilers:

 * GNAT : Extended package implemented by GNAT.
 * ObjectAda : Extended package implemented by ObjectAda.
 * APEX : Extended package implemented by IBM/Rational APEX.

A – K

 * Ada.Characters.Latin_9 (GNAT)
 * Ada.Characters.Wide_Latin_1 (GNAT)
 * Ada.Characters.Wide_Latin_9 (GNAT)
 * Ada.Characters.Wide_Wide_Latin_1 (GNAT)
 * Ada.Characters.Wide_Wide_Latin_9 (GNAT)
 * Ada.Command_Line.Environment (GNAT)
 * Ada.Command_Line.Remove (GNAT)
 * Ada.Direct_IO.C_Streams (GNAT)
 * Ada.Exceptions.Is_Null_Occurrence (GNAT child function)
 * Ada.Exceptions.Traceback (GNAT)

L – Q

 * Ada.Long_Float_Text_IO (GNAT)
 * Ada.Long_Float_Wide_Text_IO (GNAT)
 * Ada.Long_Integer_Text_IO (GNAT)
 * Ada.Long_Integer_Wide_Text_IO (GNAT)
 * Ada.Long_Long_Float_Text_IO (GNAT)
 * Ada.Long_Long_Float_Wide_Text_IO (GNAT)
 * Ada.Long_Long_Integer_Text_IO (GNAT)
 * Ada.Long_Long_Integer_Wide_Text_IO (GNAT)
 * Ada.Numerics.Long_Complex_Elementary_Functions (GNAT)
 * Ada.Numerics.Long_Complex_Types (GNAT)
 * Ada.Numerics.Long_Elementary_Functions (GNAT)
 * Ada.Numerics.Long_Long_Complex_Elementary_Functions (GNAT)
 * Ada.Numerics.Long_Long_Complex_Types (GNAT)
 * Ada.Numerics.Long_Long_Elementary_Functions (GNAT)
 * Ada.Numerics.Short_Complex_Elementary_Functions (GNAT)
 * Ada.Numerics.Short_Complex_Types (GNAT)
 * Ada.Numerics.Short_Elementary_Functions (GNAT)

R – Z

 * Ada.Sequential_IO.C_Streams (GNAT)
 * Ada.Short_Float_Text_IO (GNAT)
 * Ada.Short_Float_Wide_Text_IO (GNAT)
 * Ada.Short_Integer_Text_IO (GNAT)
 * Ada.Short_Integer_Wide_Text_IO (GNAT)
 * Ada.Short_Short_Integer_Text_IO (GNAT)
 * Ada.Short_Short_Integer_Wide_Text_IO (GNAT)
 * Ada.Streams.Stream_IO.C_Streams (GNAT)
 * Ada.Strings.Unbounded.Text_IO (GNAT)
 * Ada.Strings.Wide_Unbounded.Wide_Text_IO (GNAT)
 * Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO (GNAT)
 * Ada.Text_IO.C_Streams (GNAT)
 * Ada.Wide_Text_IO.C_Streams (GNAT)
 * Ada.Wide_Wide_Text_IO.C_Streams (GNAT)

Wikibook

 * Ada Programming
 * Ada Programming/Libraries
 * Ada Programming/Libraries/Standard
 * Ada Programming/Libraries/System
 * Ada Programming/Libraries/Interfaces

Ada Reference Manual
|Ada Ada

title: Ada Programming/Libraries/Ada


text:
Ada Programming/Libraries/GNAT

The GNAT package hierarchy defines several units for general purpose programming provided by the GNAT compiler. It is distributed along with the compiler and uses the same license.

GNAT-4-ObjectAda is a project for porting the GNAT library to the ObjectAda compiler.

Child packages

 * GNAT.Array_Split
 * GNAT.AWK
 * GNAT.Bounded_Buffers
 * GNAT.Bounded_Mailboxes
 * GNAT.Bubble_Sort
 * GNAT.Bubble_Sort_A
 * GNAT.Bubble_Sort_G
 * GNAT.Calendar
 * GNAT.Calendar.Time_IO
 * GNAT.Case_Util
 * GNAT.CGI
 * GNAT.CGI.Cookie
 * GNAT.CGI.Debug
 * GNAT.Command_Line
 * GNAT.Compiler_Version
 * GNAT.CRC32
 * GNAT.Ctrl_C
 * GNAT.Current_Exception
 * GNAT.Debug_Pools
 * GNAT.Debug_Utilities
 * GNAT.Directory_Operations
 * GNAT.Directory_Operations.Iteration
 * GNAT.Dynamic_HTables
 * GNAT.Dynamic_Tables
 * GNAT.Exception_Actions
 * GNAT.Exceptions
 * GNAT.Exception_Traces
 * GNAT.Expect
 * GNAT.Float_Control
 * GNAT.Heap_Sort
 * GNAT.Heap_Sort_A
 * GNAT.Heap_Sort_G
 * GNAT.HTable
 * GNAT.IO
 * GNAT.IO_Aux
 * GNAT.Lock_Files
 * GNAT.MD5
 * GNAT.Memory_Dump
 * GNAT.Most_Recent_Exception
 * GNAT.OS_Lib
 * GNAT.Perfect_Hash_Generators
 * GNAT.Regexp
 * GNAT.Registry
 * GNAT.Regpat
 * GNAT.Secondary_Stack_Info
 * GNAT.Semaphores
 * GNAT.Signals
 * GNAT.Sockets
 * GNAT.Sockets.Constants
 * GNAT.Sockets.Linker_Options
 * GNAT.Sockets.Thin
 * GNAT.Source_Info
 * GNAT.Spelling_Checker
 * GNAT.Spitbol
 * GNAT.Spitbol.Patterns
 * GNAT.Spitbol.Table_Boolean new
 * GNAT.Spitbol.Table_Integer
 * GNAT.Spitbol.Table_VString new
 * GNAT.Strings
 * GNAT.String_Split
 * GNAT.Table
 * GNAT.Task_Lock
 * GNAT.Threads
 * GNAT.Traceback
 * GNAT.Traceback.Symbolic
 * GNAT.Wide_String_Split

Wikibook

 * Ada Programming
 * Ada Programming/Libraries

|GNAT

title: Ada Programming/Libraries/GNAT


text:
Ada Programming/Libraries/System

Description
The System package is a standard library package provided with each Ada implementation. It includes implementation and system configuration-dependent definitions. The System package contains a standard set of language-defined (but implementation-dependent) types and named numbers.

Types

 * Name
 * Address
 * Priority (also Interrupt_Priority and Any_Priority since Ada 95)
 * Bit_Order (since Ada 95)

Constants
The following named numbers may be set by pragmas. These pragmas may only be used at the start of compilation:
 * System_Name
 * Storage_Unit
 * Memory_Size

The following named numbers are set by the implementation:

 * Null_Address (since Ada 95)
 * Default_Priority (since Ada 95)
 * Default_Bit_Order (since Ada 95)
 * MIN_INT — the smallest value of all predefined integer types (negative).
 * MAX_INT — the largest value of all predefined integer types (positive).
 * MAX_BINARY_MODULUS — the largest power of allowed as the modulus for modular types.
 * MAX_NONBINARY_MODULUS — the largest value allowed as the modulus for modular types.
 * MAX_BASE_DIGITS — the largest number of significant decimal digits in a floating point declaration.
 * MAX_DIGITS — the largest number of significant decimal digits in a floating point declaration without a range specification. This value is at most as large as the previous one.
 * MAX_MANTISSA — the largest possible number of binary digits in the mantissa of fixed point values.
 * FINE_DELTA — The smallest delta allowed in a fixed point value (given a range constraint of -1.0 to 1.0).
 * TICK — the clock period (in seconds).

Standard System packages
The six untagged System packages are from the ISO/IEC 8652:1995(E) standard.

 * (Ada 2012) : This package is available since Ada 2012.

 * (Ada 2022)
 * This package is available since Ada 2022.

 * System
 * System.Address_To_Access_Conversions
 * System.Atomic_Operations (Ada 2022)
 * System.Atomic_Operations.Exchange (Ada 2022)
 * System.Atomic_Operations.Integer_Arithmetic (Ada 2022)
 * System.Atomic_Operations.Modular_Arithmetic (Ada 2022)
 * System.Atomic_Operations.Test_And_Set (Ada 2022)
 * System.Machine_Code
 * System.Multiprocessors (Ada 2012)
 * System.Multiprocessors.Dispatching_Domains (Ada 2012)
 * System.RPC
 * System.Storage_Elements
 * System.Storage_Pools
 * System.Storage_Pools.Subpools (Ada 2012)

GNAT System packages

 * System.Address_Image
 * System.Assertions
 * System.Memory
 * System.Partition_Interface
 * System.Task_Info
 * System.WCh_Cnv
 * System.WCh_Con

The following 200 odd packages form the GNAT runtime environment. They are mentioned here as a reference for advanced users. Normal GNAT users should ignore them because they are internal units of the runtime system.

 * System.Address_Operations
 * System.Arith_64
 * System.AST_Handling
 * System.Aux_DEC
 * System.Bit_Ops
 * System.Boolean_Array_Operations
 * System.Compare_Array_Signed_8
 * System.Compare_Array_Unsigned_8
 * System.Compare_Array_Signed_16
 * System.Compare_Array_Signed_32
 * System.Compare_Array_Signed_64
 * System.Case_Util
 * System.Compare_Array_Unsigned_16
 * System.Compare_Array_Unsigned_32
 * System.Compare_Array_Unsigned_64
 * System.Checked_Pools
 * System.CRC32
 * System.CRTL
 * System.Direct_IO
 * System.Error_Reporting
 * System.Exceptions
 * System.Exception_Table
 * System.Exn_Int
 * System.Exn_LLF
 * System.Exn_LLI
 * System.Exp_Int
 * System.Exp_LLI
 * System.Exp_LLU
 * System.Exp_Mod
 * System.Exp_Uns
 * System.Fat_Flt
 * System.Fat_Gen
 * System.Fat_LFlt
 * System.Fat_LLF
 * System.Fat_SFlt
 * System.File_Control_Block
 * System.File_IO
 * System.Finalization_Implementation
 * System.Finalization_Root
 * System.Fore
 * System.Generic_Vector_Operations
 * System.Global_Locks
 * System.HIE_Back_End
 * System.HTable
 * System.Img_BIU
 * System.Img_Bool
 * System.Img_Char
 * System.Img_Dec
 * System.Img_Enum
 * System.Img_Int
 * System.Img_LLB
 * System.Img_LLD
 * System.Img_LLI
 * System.Img_LLU
 * System.Img_LLW
 * System.Img_Real
 * System.Img_Uns
 * System.Img_WChar
 * System.Img_WIU
 * System.Interrupt_Management.Operations
 * System.Interrupts
 * System.Interrupt_Management
 * System.IO
 * System.Mantissa
 * System.Machine_State_Operations
 * System.Memory_Copy
 * System.OS_Interface
 * System.OS_Primitives
 * System.Pack_03
 * System.Pack_05
 * System.Pack_06
 * System.Pack_07
 * System.Pack_09
 * System.Pack_10
 * System.Pack_11
 * System.Pack_12
 * System.Pack_13
 * System.Pack_14
 * System.Pack_15
 * System.Pack_17
 * System.Pack_18
 * System.Pack_19
 * System.Pack_20
 * System.Pack_21
 * System.Pack_22
 * System.Pack_23
 * System.Pack_24
 * System.Pack_25
 * System.Pack_26
 * System.Pack_27
 * System.Pack_28
 * System.Pack_29
 * System.Pack_30
 * System.Pack_31
 * System.Pack_33
 * System.Pack_34
 * System.Pack_35
 * System.Pack_36
 * System.Pack_37
 * System.Pack_38
 * System.Pack_39
 * System.Pack_40
 * System.Pack_41
 * System.Pack_42
 * System.Pack_43
 * System.Pack_44
 * System.Pack_45
 * System.Pack_46
 * System.Pack_47
 * System.Pack_48
 * System.Pack_49
 * System.Pack_50
 * System.Pack_51
 * System.Pack_52
 * System.Pack_53
 * System.Pack_54
 * System.Pack_55
 * System.Pack_56
 * System.Pack_57
 * System.Pack_58
 * System.Pack_59
 * System.Pack_60
 * System.Pack_61
 * System.Pack_62
 * System.Pack_63
 * System.Parameters
 * System.Pool_Global
 * System.Pool_Local
 * System.Pool_Size
 * System.Powten_Table
 * System.Program_Info
 * System.Pure_Exceptions
 * System.Restrictions
 * System.Rident
 * System.Scalar_Values
 * System.Secondary_Stack
 * System.Sequential_IO
 * System.Shared_Storage
 * System.Soft_Links
 * System.Soft_Links.Tasking
 * System.String_Ops_Concat_3
 * System.String_Ops_Concat_4
 * System.String_Ops_Concat_5
 * System.Stack_Checking
 * System.Standard_Library
 * System.Stack_Checking.Operations
 * System.Stream_Attributes
 * System.String_Compare
 * System.String_Ops
 * System.Tasking.Async_Delays
 * System.Tasking.Entry_Calls
 * System.Tasking.Protected_Objects
 * System.Task_Primitives.Operations
 * System.Tasking.Restricted.Stages
 * System.Tasking.Debug
 * System.Tasking.Initialization
 * System.Tasking
 * System.Task_Primitives
 * System.Tasking.Queuing
 * System.Tasking.Rendezvous
 * System.Tasking.Restricted
 * System.Tasking.Stages
 * System.Tasking.Utilities
 * System.Tasking.Task_Attributes
 * System.Task_Primitives.Interrupt_Operations
 * System.Tasking.Protected_Objects.Entries
 * System.Tasking.Protected_Objects.Operations
 * System.Tasking.Protected_Objects.Single_Entry
 * System.Traceback
 * System.Traces
 * System.Traceback_Entries
 * System.Traces.Tasking
 * System.Unsigned_Types
 * System.Vax_Float_Operations
 * System.Val_Bool
 * System.Val_Char
 * System.Val_Dec
 * System.Val_Enum
 * System.Val_Int
 * System.Val_LLD
 * System.Val_LLI
 * System.Val_LLU
 * System.Val_Real
 * System.Val_Uns
 * System.Val_Util
 * System.Val_WChar
 * System.Vectors.Boolean_Operations
 * System.Vectors
 * System.Version_Control
 * System.VMS_Exception_Table
 * System.WCh_JIS
 * System.WCh_StW
 * System.WCh_WtS
 * System.Wid_Bool
 * System.Wid_Char
 * System.Wid_Enum
 * System.Wid_LLI
 * System.Wid_LLU
 * System.Wid_WChar
 * System.WWd_Char
 * System.WWd_Enum
 * System.Wwd_WChar

Wikibook

 * Ada Programming
 * Ada Programming/Libraries
 * Ada Programming/Libraries/Standard
 * Ada Programming/Libraries/Ada
 * Ada Programming/Libraries/Interfaces

Ada 2005 Reference Manual

|System

title: Ada Programming/Libraries/System


text:
Cryptography/Goals of Cryptography

Crytography is the science of secure communication in the presence of third parties (sometimes called "adversaries").

Modern cryptographers and cryptanalysts work in many areas including
 * data confidentiality
 * data integrity
 * authentication
 * forward secrecy
 * end-to-end auditable voting systems
 * digital currency

Classical cryptography focused on "data confidentiality"—keeping pieces of information secret, i.e. of designing technical systems such that an observer can infer as few as possible - optimally none - information from observing the system. The motivation for this is that the owner of the system wants to prevent the observer from taking advantage (e.g. monetary, influential, emotional) of the possible intelligence.

This secrecy or hiding is achieved by removing contextual information from the system's observable state and/or behaviour, without which the observer cannot gain intelligence about the system.

Examples
The term is very often used in conjunction in the context of message exchange between two entities, but of course not restricted to this case.

Hiding System State Alone
It may be advantageous for an ATM machine to hide the information as to how much cash is still available in the machine. It may e.g. only disclose the information that no more bank notes are available from it to the holder of a valid debit card.

Hiding Communication Content
Two companies doing business with each other may not wish to disclose the information on pricing of their products to third parties tapping into their communications.

Hiding the Fact of Communicating
Well known entities with well known fields of activity may wish to hide the fact that they are communicating at all since an observer aware of their fields of activity may already from the fact of some communication happening, be able to infer information.

Crittografia/Obiettivi della crittografia

title: Cryptography/Goals of Cryptography


text:
Radiation Oncology/Breast/Early breast

 * Management of the breast
 * Partial breast irradiation
 * Management of the axilla and IM nodes

title: Radiation Oncology/Breast/Early breast


text:
User:Frazzydee~enwikibooks/Vandalism

Greetings. I've noticed some vandalism coming from your IP address. Any further vandalism will be reverted. Please cease to continue your atrocious behavior, or your IP address will be recorded on the Vandalism in progress page. Website defacement is a crime in numerous countries, and you can rest assured that if you do not stop vandalizing pages after being warned, you will likely be blocked. Trying to evade this IP block to continue vandalising is useless, since somebody will report you to your ISP.

We've all worked hard to make Wikipedia what it is today. A study by IBM showed that the majority of vandalism on wikipedia is repaired within the next 5 minutes, so your actions are feckless, and only serve to put you at risk. If you have any questions, feel free to leave a note on my talk page.

If you decide to change your behavior, your contributions will be greatly appreciated- regardless of what your previous behavior was.

title: User:Frazzydee~enwikibooks/Vandalism


text:
User talk:24.16.75.24

Hello, I've noticed that you've been blanking pages here. Please stop or you will be banned. Thanks. -- [[User:Bobdoe|Bobdoe (Silence)]] 00:40, 23 Nov 2004 (UTC)

title: User talk:24.16.75.24


text:
Cryptography/Symmetric Ciphers

A symmetric key cipher (also called a secret-key cipher, or a one-key cipher, or a private-key cipher, or a shared-key cipher) Shared_secretis one that uses the same (necessarily secret) key to encrypt messages as it does to decrypt messages.

Until the invention of asymmetric key cryptography (commonly termed "public key / private key" crypto) in the 1970s, all ciphers were symmetric. Each party to the communication needed a key to encrypt a message; and a recipient needed a copy of the same key to decrypt the message. This presented a significant problem, as it required all parties to have a secure communication system (e.g. face-to-face meeting or secure courier) in order to distribute the required keys. The number of secure transfers required rises impossibly, and wholly impractically, quickly with the number of participants.

Formal Definition
Any cryptosystem based on a symmetric key cipher conforms to the following definition:
 * M : message to be enciphered
 * K : a secret key
 * E : enciphering function
 * D : deciphering function
 * C : enciphered message. C := E(M, K)
 * For all M, C, and K, M = D(C,K) = D(E(M,K),K)

Reciprocal Ciphers
Some shared-key ciphers are also "reciprocal ciphers." A reciprocal cipher applies the same transformation to decrypt a message as the one used to encrypt it. In the language of the formal definition above, E = D for a reciprocal cipher.

An example of a reciprocal cipher is Rot 13, in which the same alphabetic shift is used in both cases.

The xor-cipher (often used with one-time-pads) is another reciprocal cipher.

Reciprocal ciphers have the advantage that the decoding machine can be set up exactly the same as the encoding machine -- reciprocal ciphers do not require the operator to remember to switch between "decoding" and "encoding".

Symmetric Cypher Advantages
Symmetric key ciphers are typically much less computational overhead Overhead_(computing) than Asymmetric ciphers, sometimes this difference in computing overhead per character can be several orders of magnitude. As such they are still used for bulk encryption of files and data streams for online applications.

Use
To set up a secure communication session Session_key between two parties the following actions take place Transport_Layer_Security:
 * 1) Alice tells Bob (in cleartext) that she wants a secure connection.
 * 2) Bob generates a single use (session), public/private (asymmetric) key pair (Kpb Kpr).
 * 3) Alice generates a single use (session) symmetric key. This will be the shared secret (Ks).
 * 4) Bob sends Alice the public key (Kpb).
 * 5) Alice encrypts her shared session key Ks with the Public key Kpb  Ck := E(Ks, Kpb) and sends it to Bob
 * 6) Bob decrypts the message with his private key to obtains the shared session key  Ks := D(Ck, Kpr)
 * 7) Now Alice and Bob have a shares secret (symmetric key) to secure communication on this connection for this session
 * 8) Either party can encrypt a message simply by C := E(M, Ks) and decrypt is by M = D(C,K) = D(E(M,Ks),Ks)

This is the Basis for Diffie–Hellman Diffie_Hellman_key_exchange key exchange Key exchange and its more advanced successors Transport_Layer_Security.

Examples

 * DES
 * DES3
 * AES
 * TwoFish
 * BlowFish
 * Idea
 * Chameleon

title: Cryptography/Symmetric Ciphers


text:
User talk:199.223.129.4

Thanks for the sugar suggestion. I've updated the whole wheat bread recipe. --damiano 02:01, 23 Nov 2004 (UTC)

title: User talk:199.223.129.4


text:
Cookbook:Pad Thai

This is a family recipe, so it may not be accurate. It is still delicious, though.

Ingredients

 * ½ pound (225 g) rice noodles
 * ¼ cup (60 ml) fish sauce
 * 3+ tablespoons (50 ml) white vinegar (or rice vinegar)
 * ¼ cup plus 1 tablespoon (75 ml) tamarind juice
 * ¼ cup and 1 tablespoon (75 ml) palm sugar (or granulated sugar)
 * 4 tablespoons (60 ml) vegetable oil
 * 2 cloves garlic, chopped
 * 2 tablespoons (30 ml) dried red chili pepper flakes (or to taste)
 * ½ pound (225 g) of shrimp, tofu, chicken, squid, or beef (or a combination thereof)
 * Assorted vegetables (e.g., shredded carrots, white onions, red or green peppers)
 * 2 eggs
 * 4 chopped green onions
 * ¾ pound (340 g) bean sprouts
 * ¾ cup (175 ml) chopped unroasted peanuts

Optional

 * Wedge of lime (garnish)
 * Cilantro (coriander) leaves (garnish)

Procedure

 * 1) Soak the noodles in warm water for about 20 minutes and strain. Alternatively, pour boiling water over the noodles and let them sit for 7 minutes.)
 * 2) Mix the fish sauce with the vinegar, sugar and tamarind juice together in a small bowl.
 * 3) Heat the vegetable oil in a wok on high, and brown the chopped garlic and chili peppers for a minute.
 * 4) Cook the meats/tofu in oil, until they are browned (6–8 minutes).
 * 5) Add assorted veggies and cook until tender.
 * 6) Add noodles. Crack the eggs over the noodles, allow them to cook, and then mix them up.
 * 7) Add the fish sauce mix into the wok, mix it all up and turn the heat down to medium.
 * 8) Add the chopped green onions and bean sprouts, then stir fry for 2 more minutes.
 * 9) Serve on a large plate or bowl. Garnish with chopped peanuts and, optionally, chopped cilantro or coriander and a wedge of lime.

Notes, tips, and variations

 * A squirt of ketchup can be used instead of tamarind for a quick-and-easy variation.
 * Chop cilantro/coriander and mix it with the noodles and other ingredients at the last minute. Take care not to overcook it, or it will become slimy.

title: Cookbook:Pad Thai


text:
Talk:Tamil/Introduction

 * Which Tamil

[Someone needs to make it clear on whether this is Tamil from Tamil Nadu in India, or Tamil from Sri Lanka. There are of course similarities, but enough of a difference to confuse readers who don't know which one they are dealing with here.]
 * I don't think there are several Tamil languages. Yann 07:28, 23 Nov 2004 (UTC)
 * Response: My mother-in-law is Sri Lankan Tamil. I tried to learn some basics, but didn't realise the Tamil books I bought were from Tamil Nadu - and were quite different from the Tamil she speaks.

 * Tamil! National Language of India?

Tamil is not the national language of India, as I know. --sanat 07:02, Apr 14, 2005 (UTC)

In India, Hindi is the national language, and Tamil is one of the 15 recognised official languages. In Sri Lanka, Sinhala and Tamil are the 2 national/official languages. -- Atif.Hussain

 * Hindi is not the national language. It is a candidate for national language according to the constitution. The trial period has always been extended.

 * 3500 years?

The Tamil article on Wikipedia says the oldest known works in Tamil are from 300BC, which suggests 2300 years rather than 3500. -- Dannyyee 11:50, 14 Apr 2005 (UTC)

Some of the oldest scriptures dates back to 300 BC. But it not neccessarliy mean that Tamil did not exist prior to that. So "Tamil has been around for about 3500 years", is not an exaggeration. -- [User : Prathip S A. 19:47, 25th May 2005 (IST)

Only one Tamil
Friends,

There is nothing like Tamil from India and Tamil from Sri lanka. Orgin of Tamil is from Tamil Nadu, A south east state of India. Few thousands of Tamil people were migrated to Srilanka from Tamilnadu about 200 years back to work in the tea estates.

jp, jp@tamil.in

Indian & Sri Lankan Tamils
To jp, jp@tamil.in,

you are very confused, you are refering to the indian tamils in the sri lankan estates, they are conpletly different from sri lankan tamils who in sri lanka for more then 200 years.

please get your facts correct first

bye : KR

 * why don't you guys quit bitching in public. Tamil is a great language that is thousands of years old. Variations are quite understandable. Take pride in it

npov removal
is there any reason for this to be here?? I cannot find anything npov about this ?? so can i remove it?? - suren
 * I agree, removed the tag. --Derbeth talk 09:12, 7 February 2006 (UTC)

title: Talk:Tamil/Introduction


text:
Latin/Lesson 3-Passive

See discussion for a tutorial on the passive voice and how to use it in Latin, including external links which explain future, imperfect, and present indicative passive verb forms.

I consider commercial textbooks to be inadequate, so I do not believe that this article can wait.

Here are the conjugations for the imperfect passive tenses. The basic rules for going to passive are the following ones.

1. In the first person, add -r if the active ending is a vowel, otherwise change the final constant to an -r. Examples:
 * paro (I prepare) → paror (I am being prepared)
 * aperiebam (I was opening) → aperiebar (I was being opened)
 * defendemus (we will defend) → defendemur (we will be defended)
 * tenebimus (we will hold) → tenebimur (we will be held)

2. In the third person, add -ur. Examples:
 * parat (he prepares) → paratur (he is being prepared)
 * aperiebat (he was opening) → aperiebatur (he was being opened)
 * defendent (they will defend) → defendentur (they will be defended)
 * tenebunt (they will hold) → tenebuntur (they will be held)

3. In the second person, things get more complicated. For the plural, replace "tis" with "mini". Note the exception in "ferre", where "fertis" becomes "ferimini". In the word "ferre", the "rm" letter combination consistently gets separated (ferimus instead of fermus, ferimur instead of fermur and ferimini instead of fermini). For the singular present, take out the active ending, add the thematic vowel (a from -are, e from -ere, i from -ire and nothing from -re, as in ferre) of the verb's infinitive ending and add -ris. Examples:
 * paras (you prepare) → pararis (you are being prepared)
 * tenes (you are holding) → teneris (you are being held)
 * defendis (you are defending) → defenderis (you are being defended)
 * audis (you are listening) → audiris (you are being listened to)
 * defendetis (you will defend) → defendemini (you are being defended)
 * amabis (you will love) → amaberis (you will be loved)

Note the -eris ending in the future passive. The future active bo, bis, bit, bimus, bitis, bunt looks like the third conjugation so the passive bor, beris, bitur, bimur, bimini, buntur looks like the third conjugation. The imperfect passive is bar, baris, batur, bamur, bamini, bantur.

title: Latin/Lesson 3-Passive


text:
Talk:Latin/Lesson 3-Passive

Untitled
See (external) for a table of the passive voice.

(Please feel free to use Google when this textbook doesn't cover something.)

See also: (external--sister project) for usage of the passive voice.

Now let's discuss the Wikipedia entry: "When the subject is the agent or actor of the verb, the verb is said to be in the active voice. When the subject is patient, target or undergoer of the action, it is said to be in the passive voice. For example, "The cat ate the mouse" is active, but "The mouse was eaten by the cat" is passive.

In a passive voice sentence, the subject and the direct object switch places. The direct object is promoted to subject, and the subject is demoted to a complement (that may be left out).

In English, the passive voice is a periphrastic construction, i .e. it's modelled using an ad hoc phrase structure with a different word order, an auxiliary verb and a participle of the main verb. In other languages, such as Latin, the passive voice is simply marked on the verb as an inflection."

Always form words in the passive voice based on the present_stem, and then inflect it using the personal ending. Memorize the infinitives first, starting with the 3rd conjugation.

What is meant by the usage of "inflect" (I know it's a verb)?
In a Slashdot article, it was commented that using Wikipedia, and by extension Wikibooks requires "Wikipedia thinking"--in other words, concepts may be introduced in several different ways, by several different people--some more trustworthy than others.

In this instance, inflect is the generic verb for either conjugating a verb or declining a noun. In this chapter, we discuss conjugating verbs into the passive voice, because to conjugate is to work with infinitives. Conjugating into the passive voice uses a different set of infinitives.

Exercise # 1: Change active infinitives to passive infinitives.  Exercise # 2: List personal endings 10 times for sureity. Exercise # 3: See whether you can conjugate. Check your answers, and ask for help on the reference desk if you need it.

title: Talk:Latin/Lesson 3-Passive


text:
User talk:Jose ignacio villar~enwikibooks

Hola Jose, encantado de conocer a otro wikiversitario. Me presento y te comento que tengas cuidado al editar porque estamos migrando la wikiversidad al nuevo dominio. Espero que lo hayamos hecho hoy antes de que se trastornen sus contenidos en ambos dominios. Saludos. --Javier Carro 14:57, 23 Nov 2004 (UTC)

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called Jose ignacio villar. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Jose ignacio villar~enwikibooks that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:17, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 05:06, 19 April 2015 (UTC)


text:
OC Photography Program/Digital Photography

Camera Type
Camera type if important depending on what you are looking to get out of your camera. Before buying a camera really think about what you want to accomplish with your camera as well as where you think you want to take your photography interest in the months to come.

MegaPixel
How do the megapixels affect your image?

A megapixel represents one million independent points of color/brightness/hue/luminosity ect. The more pixels that are used to represent an image, the sharper and more distinct that image will become when printed. A digital camera usually captures 72 pixels per inch (which can be altered later to suit the requirements of the print) and in turn, its 'image size' is a factor of the 'megapixels' that camera is capable of recording.

What size prints can I get from the many different range in megapixels?

Term:ppi=points/pixels per inch

My camera just made me an image whose dimensions are 3488x2616 or 9 124 608 pixels. Its a 9.1 megapixel camera, and 48.444 inches by 36.333 inches are the dimensions of the 72 ppi capture. What a photographer needs to know about digital images, is that while 72 ppi are fine for display on the computer screen, its absolute garbage for a print. A minimum of 200 ppi are required for any acceptability of quality, and 300 ppi the minimum required for photographic quality.

You could print any image up to six feet across... but it wont be pretty. One must always consider how close the viewer will be to the final print when its on display... The farther the image, the less aparent points/pixels will become.

To figure out how big a quality print your camera can make, you need only convert the PPI to at least above 200, and higher if possible.

Image Formats

 * Jpeg (Joint Picture Experts Group) Format is the major format that is used buy Point & Shoot(or Compact Digital) cameras and is an option on most [Digital SLR] Cameras. It is a compressed form of bitmap image.
 * Tiff (Tagged Image File Format) is available on some high end Point & Shoot cameras as a replacement for Raw format.

 * Raw (.RAW, .CRW(Canon), .CR2(Canon), .NEF(Nikon), .PEF(Pentax) .DNG(Adobe)) This format is the digital equivalent of a film negative, and is designed for high end cameras like Prosumer Point & Shoot and Digital SLR Cameras, Raw format enables adjusts in more ways than conventional Tiff or Jpeg images and consists of data direct from the cameras sensor with little to no in-camera processing applied, available adjustments include Exposure, Color Temperature, Sharpness, Brightness, Contrast, Gamma and others.

Digital Noise
What is digital noise?

Digital noise is created from heat generated by the cameras CCD(sensor). Digital noise or Image Noise (often shortened to just 'noise') can also be caused by a buildup of charge on the CCD. It usually occurs when using long exposure times or high ISO settings. The amount of noise varies greatly with different models of camera but is not usually a problem at ISO 400 or lower, or when using shutter speeds of under 2.5 seconds.

How to avoid it?

There are a few ways to avoid buildup of noise:
 * Use as low an ISO setting as practical
 * Use as short an exposure time (shutter speed) as conditions permit
 * Try not to underexpose dark areas of the image

How to fix it

The simplest way to fix noise is by avoiding it all together. If your camera has a 'noise reduction' option in the menu, turn it on for long exposures. Image manipulation software such as Adobe Photoshop and Jasc Paintshop Pro have noise reduction filters available, but these tend to introduce a degree of blurriness into the image.

Digital Darkroom Applications
Photoshop

PaintShop Pro

ULead PhotoImpact (low cost, intuitive)

The Gimp (absolutly free, highly recommended)

Darktable is an open source photography workflow application and RAW developer. A virtual lighttable and darkroom for photographers. It manages your digital negatives in a database, lets you view them through a zoomable lighttable and enables you to develop raw images and enhance them.

Photoshop Elements (cheaper version of photoshop)


text:
User talk:Perl~enwikibooks/Fahrenheit 451/resources

Wow..i hope this page works...


text:
User:FyreWolfe

El lobo del fuego.

title: User:FyreWolfe


text:
Ada Programming/Building

Ada programs are usually easier to build than programs written in other languages like C or C++, which frequently require a makefile. This is because an Ada source file already specifies the dependencies of its source unit. See the with keyword for further details.

Building an Ada program is not defined by the Reference Manual, so this process is absolutely dependent on the compiler. Usually the compiler kit includes a make tool which compiles a main program and all its dependencies, and links an executable file.

Building with various compilers

 * This list is incomplete. You can help Wikibooks by adding the build information for other compilers.

Alire
Alire is a build tool and package manager which automatically manages package dependencies including downloading the needed build tools. It is based on the GNAT compiler.

You can create a new project with :

Alire supports most of the GNAT feature mentioned below as well as the same IDE and code editors.

GNAT
With GNAT, you can run this command:

gnat make

If the file contains a procedure, gnatmake will generate an executable file with the procedure as main program. Otherwise, e.g. a package, gnatmake will compile the unit and all its dependencies.

GNAT command line
gnatmake can be written as one word  or two words. For a full list of gnat commands just type  without any command options. The output will look something like this:

GNAT 3.4.3 Copyright 1996-2004 Free Software Foundation, Inc. List of available commands GNAT BIND              gnatbind GNAT CHOP              gnatchop GNAT CLEAN             gnatclean GNAT COMPILE           gnatmake -c -f -u GNAT ELIM              gnatelim GNAT FIND              gnatfind GNAT KRUNCH            gnatkr GNAT LINK              gnatlink GNAT LIST              gnatls GNAT MAKE              gnatmake GNAT NAME              gnatname GNAT PREPROCESS        gnatprep GNAT PRETTY            gnatpp GNAT STUB              gnatstub GNAT XREF              gnatxref Commands FIND, LIST, PRETTY, STUB and XREF accept project file switches -vPx, -Pprj and -Xnam=val

For further help on the option just type the command (one word or two words — as you like) without any command options.

GNAT IDE
The GNAT toolchain comes with an IDE called GPS, included with recent releases of the GPL version of GNAT. GPS features a graphical user interface.

Emacs includes (Ada Mode), and GNAT plugins for KDevelop and Vim (Ada Mode) are available.

Vim Ada Mode is maintained by The GNU Ada project.

GNAT with Xcode
Apple's free (gratis) IDE, Xcode, uses the LLVM compiler with the Clang front-end, and does not support Ada: however, in Xcode 4.3 for OS X Lion and later versions, the command line tools (assembler, linker etc) which are required to use GNAT are an optional component of Xcode and must be specially installed.

Rational APEX
Rational APEX is a complete development environment comprising a language sensitive editor, compiler, debugger, coverage analyser, configuration management and much more. You normally work with APEX running a GUI.

APEX has been built for the development of big programs. Therefore the basic entity of APEX is a subsystem, a directory with certain traits recognized by APEX. All Ada compilation units have to reside in subsystems.

You can define an export set, i.e. the set of Ada units visible to other subsystems. However for a subsystem A to gain visibility to another subsystem B, A has to import B. After importing, A sees all units in B's export set. (This is much like the with-clauses, but here visibility means only potential visibility for Ada: units to be actually visible must be mentioned in a with-clause of course; units not in the export set cannot be used in with-clauses of Ada units in external subsystems.)

Normally subsystems should be hierarchically ordered, i.e. form a directed graph. But for special uses, subsystems can also mutually import one another.

For configuration management, a subsystem is decomposed in views, subdirectories of the subsystem. Views hold different development versions of the Ada units. So actually it's not subsystems which import other subsystems, rather subsystem views import views of other subsystems. (Of course, the closure of all imports must be consistent — it cannot be the case that e.g. subsystem (A, view A1) imports subsystems (B, B1) and (C, C1), whereas (B, B1) imports (C, C2)).

A view can be defined to be the development view. Other views then hold releases at different stages.

Each Ada compilation unit has to reside in a file of its own. When compiling an Ada unit, the compiler follows the with-clauses. If a unit is not found within the subsystem holding the compile, the compiler searches the import list (only the direct imports are considered, not the closure).

Units can be taken under version control. In each subsystem, a set of histories can be defined. An Ada unit can be taken under control in a history. If you want to edit it, you first have to check it out — it gets a new version number. After the changes, you can check it in again, i.e. make the changes permanent (or you abandon your changes, i.e. go back to the previous version). You normally check out units in the development view only; check-outs in release views can be forbidden.

You can select which version shall be the active one; normally it is the one latest checked in. You can even switch histories to get different development paths. e.g. different bodies of the same specification for different targets.

ObjectAda
ObjectAda is a set of tools for editing, compiling, navigating and debugging programs written in Ada. There are various editions of ObjectAda. With some editions you compile programs for the same platform and operating systems on which you run the tools. These are called native. With others, you can produce programs for different operating systems and platforms. One possible platform is the Java virtual machine.

These remarks apply to the native Microsoft Windows edition. You can run the translation tools either from the IDE or from the command line.

Whether you prefer to work from the IDE, or from the command line, a little bookkeeping is required. This is done by creating a project. Each project consists of a number of source files, and a number of settings like search paths for additional Ada libraries and other dependences. Each project also has at least one target. Typically, there is a debug target, and a release target. The names of the targets indicate their purpose. At one time you compile for debugging, typically during development, at other times you compile with different settings, for example when the program is ready for release. Some (all commercial?) editions of ObjectAda permit a Java (VM) target.

DEC Ada for VMS
DEC Ada is an Ada 83 compiler for VMS. While “DEC Ada” is probably the name most users know, the compiler is now called “HP Ada”. It had previously been known also by names of "VAX Ada" and "Compaq Ada".

DEC Ada uses a true library management system — so the first thing you need to do is create and activate a library:

ACS Library Create [MyLibrary] ACS Set Library [MyLibrary]

When creating a library you already set some constraints like support for Long_Float or the available memory size. So carefully read

HELP ACS Library Create *

Then next step is to load your Ada sources into the library:

ACS Load [Source]*.ada

The sources don't need to be perfect at this stage but syntactically correct enough for the compiler to determine the packages declared and analyze the statements. Dec Ada allows you to have more than one package in one source file and you have any filename convention you like. The purpose of  is the creation of the dependency tree between the source files.

Next you compile them:

ACS Compile *

Note that compile take the package name and not the filename. The wildcard * means all packages loaded. The compiler automatically determines the right order for the compilation so a make tool is not strictly needed.

Last but not least you link your file into an

ACS Link /Executable=[Executables]Main.exe Main

On large systems you might want to break sources down into several libraries — in which case you also need

ACS Merge /Keep *

to merge the content of the current library with the library higher up the hierarchy. The larger libraries should then be created with:

ACS Library Create /Large

This uses a different directory layout more suitable for large libraries.

DEC Ada IDE
Dec Ada comes without an IDE, however the DEC LSE as well as the Ada Mode of the Vim text editor support DEC Ada.

Compiling our Demo Source
Once you have downloaded our example programs, you might wonder how to compile them.

Unless you use Alire, you need to extract the sources. Use your favorite zip tool to achieve that. On extraction, a directory with the same name as the filename is created. Beware: WinZip might also create a directory equaling the filename, so Windows users need to be careful using the right option, otherwise they end up with wikibook-ada-1_2_0.src\wikibook-ada-1_2_0.

Once you extracted the files, you will find all sources in wikibook-ada-1_2_0/Source. You could compile them right there. For your convenience, we also provide ready-made project files for the following IDEs (If you find a directory for an IDE not named, it might be in the making and not actually work).

Alire
Alire is the simplest way to compile the sample code if you use Windows, macOS or Linux. With Alire, you don't even need to download and extract the source, as Alire will do everything for you. All you need to do after the installation of Alire itself is execute the following command in a terminal or CMD window:

Example for Unix like operating systems

This will download all samples ordered by chapter. To then, for example, build and execute the first sample code from the Basic Ada chapter you type:

Example for Unix like operating systems

GNAT
You will find multi-target GNAT Project files and a multi-make Makefile file in wikibook-ada-2_0_0/GNAT. For i686 Linux and Windows, you can compile any demo using:

gnat make -P project_file

You can also open them inside the GPS with

gps -P project_file

For other target platform it is a bit more difficult since you need to tell the project files which target you want to create. The following options can be used:

 * style ("Debug", "Release"): you can define if you like a debug or release version so you can compare how the options affect size and speed.
 * os ("Linux", "OS2", "Windows_NT", "VMS") : choose your operating system. Since there is no Ada 2005 available for OS/2 don't expect all examples to compile.
 * target ("i686", "x86_64", "AXP"): choose your CPU — "i686" is any form of 32bit Intel or AMD CPU, "x86_64" is an 64 bit Intel or AMD CPU and if you have an "AXP" then you know it.

Remember to type all options as they are shown. To compile a debug version on x86-64 Linux you type:

gnat make -P project_file -Xstyle=Debug -Xos=Linux -Xtarget=x86_64

As said in the beginning there is also a makefile available that will automatically determine the target used. So if you have a GNU make you can save yourself a lot of typing by using:

make project

or even use

make all

to make all examples in debug and release in one go.

Each compile is stored inside its own directory which is created in the form of wikibook-ada-2_0_0/GNAT/OS-Target-Style. Empty directories are provided inside the archive.

Rational APEX
APEX uses the subsystem and view directory structure, so you will have to create those first and copy the source files into the view. After creating a view using the architecture model of your choice, use the menu option "Compile -> Maintenance -> Import Text Files". In the Import Text Files dialog, add "wikibook-ada-2_0_0/Source/*.ad?" to select the Ada source files from the directory you originally extracted to. Apex uses the file extensions .1.ada for specs and .2.ada for bodies — don't worry, the import text files command will change these automatically.

To link an example, select its main subprogram in the directory viewer and click the link button in the toolbar, or "Compile -> Link" from the menu. Double-click the executable to run it. You can use the shift-key modifier to bypass the link or run dialog.

ObjectAda command-line
The following describes using the ObjectAda tools for Windows in a console window.

Before you can use the ObjectAda tools from the command line, make sure the PATH environment variable lists the directory containing the ObjectAda tools. Something like

set path=%path%;P:\Programs\Aonix\ObjectAda\bin

A minimal ObjectAda project can have just one source file. like the Hello World program provided in

To build an executable from this source file, follow these steps (assuming the current directory is a fresh one and contains the above mentioned source file):

 * Register your source files:

X:\some\directory> adareg hello_world_1.adb

This makes your sources known to the ObjectAda tools. Have a look at the file UNIT.MAP created by adareg in the current directory if you like seeing what is happening under the hood.

 * Compile the source file:

X:\some\directory> adacomp hello_world_1.adb Front end of hello_world_1.adb succeeded with no errors.

 * Build the executable program:

X:\some\directory> adabuild hello_world_1 ObjectAda Professional Edition Version 7.2.2: adabuild Copyright (c) 1997-2002 Aonix. All rights reserved. Linking... Link of hello completed successfully

Notice that you specify the name of the main unit as argument to adabuild, not the name of the source file. In this case, it is Hello_World_1 as in

Hello_World_1

More information about the tools can be found in the user guide Using the command line interface, installed with the ObjectAda tools.

Wikibook

 * Ada Programming
 * Ada Programming/Installing

title: Ada Programming/Building


text:
Trigonometry/Double-Angle Formulas

Double angle formulae for cos and sine:

 * $$\cos(2a)=2\cos^2(a)-1$$

 * $$\sin(2a)=2\cos(a)\sin(a)$$

What Are the Double-Angle Formulae?
The Double-Angle formulas express the cosine and sine of twice an angle in terms of the cosine and sine of the original angle. We are going to derive them from the addition formulas for sine and cosine. The formulae are:
 * $$\cos(2a)=2\cos^2(a)-1$$

and
 * $$\sin(2a)=2\cos(a)\sin(a)$$

It is well worth practising the derivation so that you can do it quickly and easily. Then you will not need to remember the formulae, since you can get them quickly from the addition formulas for sine and cosine. It is also good to practice the derivation because being more fluent with the algebra will make you better at other algebra used with trigonometry.

Did we make a typo in these formulae? Check they at least make sense.
 * We know that $$\sin(0)=0$$ and $$\cos(0)=1$$ . Try those values out. Do the formulae work?
 * $$-1\le\cos(\theta)\leq 1$$ and $$-1\le\sin(\theta)\le 1$$ . Are the formulae consistent with that?
 * Make up your own additional 'spot check' to check the formulae

If we put $$\alpha=2a$$ we immediately get
 * $$\cos(\alpha)=2\cos^2\bigl(\tfrac{\alpha}{2}\bigr)-1$$

Check it. Do you agree? Or rearranging:
 * $$\cos\bigl(\tfrac{\alpha}{2}\bigr)=\sqrt\frac{\cos(\alpha)+1}{2}$$

So, if we know the cosine of $$90^\circ$$ (we do, it is zero), we can compute the cosine of $$45^\circ$$ and $$22.5^\circ$$ and $$11.25^\circ$$ and so on.
 * $$\cos(45^\circ)=\sqrt\frac{\cos(90^\circ)+1}{2}=\sqrt\frac{1}{2}$$

 * $$\cos(22.5^\circ)=\sqrt\frac{\cos(45^\circ)+1}{2}=\sqrt\frac{\sqrt\frac{1}{2}+1}{2}$$

 * $$\cos(11.25^\circ)=\sqrt\frac{\cos(22.5^\circ)+1}{2}=\sqrt\frac{\sqrt\frac{\sqrt\frac{1}{2}+1}{2}+1}{2} $$

Proofs for Double Angle Formulae
We'll prove the double angle formulae from the addition formulae. Recall that:
 * $$\cos(a+b)=\cos(a)\cos(b)-\sin(a)\sin(b)$$

Putting $$b=a$$ in the above formula yields:

 * $$\cos(2a)$$
 * $$=\cos(a+a)$$
 * $$=\cos(a)\cos(a)-\sin(a)\sin(a)$$
 * $$=\cos^2(a)-\sin^2(a)$$
 * }
 * $$=\cos^2(a)-\sin^2(a)$$
 * }
 * $$=\cos^2(a)-\sin^2(a)$$
 * }

So:
 * $$\cos(2a)=\cos^2(a)-\sin^2(a)$$

Compare this with the "Pythagorean Theorem" expressed in terms of sine and cosine. Notice the double angle formula above has a minus not a plus, otherwise it would be saying $$\cos(2a)=1$$, which would mean cos was 1 for all values of t, which we know is not true.

In terms of just cosine or just sine
The formula
 * $$\cos(2a)=\cos^2(a)-\sin^2(a)$$

isn't yet quite where we want it. We want to get rid of the sine term and express it all in terms of cosine. To do that we use the disguised "Pythagorean Theorem".
 * $$\cos^2(a)+\sin^2(a)=1$$

which is the same as:
 * $$-\sin^2(a)=\cos^2(a)-1$$

so
 * $$\cos(2a)=\cos^2(a)-\sin^2(a)=\cos^2(a)+\cos^2(a)-1=2\cos^2(a)-1$$

so
 * $$\cos(2a)=2\cos^2(a)-1$$

which is what we wanted.

We could, if we had preferred, have used the disguised Pythagorean theorem to replace the $$\cos^2(a)$$ in terms of $$\sin^2(a)$$

Do that now, in other words express:
 * $$\cos(2a)$$

in terms of $$\sin(a)$$
 * Check your answer, particularly to make sure that you have all the minus signs right.

Double angle formula for sine
Now we will get the double angle formula for sine, this time using the addition formula for sine.
 * $$\sin(a+b)=\sin(a)\cos(b)+\sin(b)\cos(a)$$

Check that we've quoted the addition formula correctly, and then put $$b=a$$ in the above

So:
 * $$\sin(2a)$$
 * $$=\sin(a+a)$$
 * $$=\sin(a)\cos(a)+\sin(a)\cos(a)$$
 * $$=2\cos(a)\sin(a)$$
 * }
 * $$=2\cos(a)\sin(a)$$
 * }
 * $$=2\cos(a)\sin(a)$$
 * }
 * $$\sin(2a)=2\cos(a)\sin(a)$$

Unlike the formula for cosine the substitutions to get $$\sin(2a)$$ just in terms of $$\sin(a)$$ would involve square roots, so we're not going to do that. The above formula is usually the nicest form to work with.

Treble and Higher Angles
Using the above procedures twice, and the Pythagorean theorem where appropriate, we find
 * $$\sin(3a)=3\sin(a)-4\sin^3(a)$$
 * $$\cos(3a)=4\cos^3(a)-3\cos(a)$$

By repeating the procedure, we can find formulae for $$\sin(na)$$ and $$\cos(na)$$ for any integer n. The formulas do however get rather long.

It is not really worthwhile remembering these formulae. They are not used often, and can either be looked up in tables of formulae or calculated when you need them. It is quite good for practising algebra to derive them yourself, so....

Derive the formulas for $$\sin(3\alpha)$$ and $$\cos(3\alpha)$$ yourself.

Double and Treble Angles for Tangents
By using $$\tan(a)=\frac{\sin(a)}{\cos(a)}$$, it can be worked out that:

 * $$\tan(2a)=\frac {2\tan(a)}{1-\tan^2(a)}$$

 * $$\tan(3a)=\frac {3\tan(a)-\tan^3(a)}{1-3\tan^2(a)}$$

Like the formulas for $$\sin(3\alpha)$$ and $$\cos(3\alpha)$$, these formulae aren't often useful, but again it is good to be able to work them out yourself.

Derive the formulas for $$\tan(2x)$$ and $$\tan(3x)$$ yourself.

 * If you don't get 'the right answer,' don't panic. It takes time and practice to become fluent at algebraic manipulations. Here, where you know the right answer, you can work through your steps and try and find for yourself where you went wrong. Very often it is a sign error somewhere, adding a value instead of subtracting, and then everything from that point on is wrong. You can use the trick of putting in actual values for $$x$$ (and calculating with a calculator) to check for the place where the first error creeps in.

title: Trigonometry/Double-Angle Formulas


text:
Radiation Oncology/Contraindications

Contraindications to Radiation Therapy

Collagen vascular diseases
It is a commonly held notion that collagen vascular diseases--such as lupus, scleroderma, Sjogren's, etc.--are an absolute contraindication to radiotherapy since the effects on normal tissue would be greater, and even severe.

Collagen vascular diseases include: rheumatoid arthritis, scleroderma, Raynaud's, lupus erythematosus, Sjogren's, polymyositis.

Several studies, however, claim that it is safe to give high dose radiation in these patients:
 * Mayo Clinic; 2012 (1980-2005) PMID 22340665 -- "Acute and late toxicities of radiotherapy for patients with discoid lupus erythematosus: a retrospective case-control study." (Patel AB, Radiat Oncol. 2012 Feb 16;7:22. doi: 10.1186/1748-717X-7-22.)
 * Retrospective review and matched case control. 12 patients with discoid lupus erythematosus, 15 RT courses. Median F/U 2.6 years (0 - 15 years)
 * Acute toxicity: 67% any grade, 13% grade 3+. Acute dermatological toxicity 53%.
 * Late toxicity: 58% any grade, 23% grade 3+. Late dermatological toxicity 42% grade 1-2, no grade 3+. No difference between DLE and control treatments
 * Conclusion: Findings do not suggest increased risk of toxicity to skin or other organs in patients with DLE

 * Mayo Clinic, 2008 PMID 18164848 -- "Systemic lupus erythematosus, radiotherapy, and the risk of acute and chronic toxicity: the Mayo Clinic Experience." (Pinn ME, Int J Radiat Oncol Biol Phys. 2008 Jun 1;71(2):498-506. doi: 10.1016/j.ijrobp.2007.10.014. Epub 2007 Dec 31.)
 * Retrospective. 21 patients with SLE, 34 courses of EBRT and 1 prostate implant. Discoid lupus excluded. Median F/U 5.6 years
 * Outcome: 5- year chronic toxicity grade 1+ was 45%; 10-year was 56%. 5-year grade 3+ was 28%; 10-year was 40%. Toxicity correlated with SLE renal involvement, absence of photosensitivity, absence of arthritis, and presence of malar rash
 * Conclusion: Risk of toxicity was moderate but not prohibitive of the use of RT. More advanced SLE may be at increased risk for chronic toxicity

 * Review; 2007 PMID 18035210 -- "Radiotherapy in setting of collagen vascular disease." (Wo J, Int J Radiat Oncol Biol Phys. 2007 Dec 1;69(5):1347-53.)
 * Published results remain controversial
 * Close involvement of rheumatologists. Consider initiating NSAID prior to treatment

 * Yale; 2001 PMID 11769860 — "Breast-conserving therapy in the setting of collagen vascular disease." (Chen AM, Cancer J. 2001 Nov-Dec;7(6):480-91.)
 * 36 pts (17-RA, 4-SD, 4-Raynaud, 5-Lupus, 2-Sjogren, 4-polymyositis). Median total dose 64 Gy.
 * Matched to control patients. Median f/u 12.5 yrs. No significant difference in acute complications (14% vs 8%). A significant difference was noted for late complications (17% vs 3%). When analyzed by specific disease, the difference disappeared in all but the scleroderma group.
 * Conclusion:Higher incidence of complications for scleroderma but not other collagen vascular diseases.

 * U.Pittsburgh; 1998 PMID 9499258 — "Radiotherapy for malignancies associated with lupus: case reports of acute and late reactions." (Rakfal SM, Am J Clin Oncol. 1998 Feb;21(1):54-7.)
 * 6 pts with Lupus (5-SLE, 1-discoid) treated with RT (4-breast, 1-Hodgkin's, 1-thymoma). With f/u of 7-121 months, none of the patients had severe acute or late skin or subcutaneous complications.
 * Conclusion: No severe acute or late reactions in patients with Lupus after radiotherapy

 * Iowa; 1993 PMID 8490925 -- "Acute and late reactions to radiation therapy in patients with collagen vascular diseases." (Ross JG, Cancer. 1993 Jun 1;71(11):3744-52.)
 * 61 pts with CVD (39-RA, 13-Lupus, 4-scleroderma, 4-dermatomyositis, 1-polymyositis). Matched to control patients.
 * No significant difference in acute (11% vs 7%) or late (10% vs 7%) complications. 3 pts with CVD had fatal complications vs none in the control group. RA was associated with a slight increase in late complications; SLE was associated with a slight increase in acute reactions. No significant acute or late reactions were noted in patients with scleroderma, dermato- or poly-myositis.
 * Conclusion: there was no increase in complications for patients with CVD

Inherited Hypersensitivity Syndromes

 * Some patients with these syndromes may exhibit abnormally severe normal tissue reactions
 * Ataxia-Telangiectasia is the most striking example
 * RT doses may need to be adjusted accordingly

 * Ataxia-Telangiectasia: profound sensitivity
 * Ataxia-Telangiectasia-Like Disorder
 * Nijmegen Breakage Syndrome
 * Fanconi Anemia
 * Nevoid Basal Cell Carcinoma Syndrome / Gorlin Syndrome: marked skin sensitivity
 * Cockayne Syndrome: slight hypersensitivity
 * Down's Syndrome
 * Gardner's Syndrome
 * Usher's Syndrome

title: Radiation Oncology/Contraindications


text:
String Theory

=Contents=
 * Introduction
 * Supersymmetry
 * Two-Dimensional Conformal Field Theory
 * String Quantization
 * The Free String
 * String Interactions
 * String Field Theory Compactifications
 * Orbifolds and Orientifolds
 * T-Duality
 * T-Duality
 * M-theory

=Notation= The metric has signature $$(+,-,-,-,...)$$.

Greek letters from the middle of the alphabet $$(\mu,\nu,...)$$ denote coordinates in spacetime. Roman letters taken from the beginning of the alphabet $$(a,b,...)$$ denote coordinates on the worldsheet.

The metric is denoted $$g_{\mu \nu}$$. In the case where there is a metric of spacetime and a metric of the worldsheet, the worldsheet metric is denoted $$h_{a b}$$

A lower-case $$d$$ is the number of dimensions. An upper-class $$D$$ represents the number of spacial dimensions.

=The Free String=

The Heterotic String Theories
=String Interactions=

=String Field Theory=

=Compactification=

=Orbifolds and Orientifolds=

=T-Duality=

=D-branes=

=M-Theory=

title: String Theory


text:
Radiation Oncology/Breast/Phyllodes

Overview
The term phyllodes tumor, which was previously known as cystosarcoma phyllodes, refers to a group of lesions with varying metastatic potential. These tumors are quite rare. The word "phyllodes" derives from the Greek word for "leaf" and is used because the tumor has a leaf-like, lobulated appearance when sectioned.

These tumors are often very large and grow rapidly. Median age of presentation is 45 yrs, which is 20 yrs later than fibroadenomas.

Pathologically, has both epithelial and stromal components. Both must be present. It's the stromal component that has the metastatic potential.

Can be classified as benign, borderline, or malignant. This classification is based on the tumor margins (pushing=benign, infiltrative=malignant), mitotic activity, and overgrowth of stroma (which is probably the most important feature).

Lymph node metastases are rare.

Distant metastases are usually to the lung, as is the pattern seen in sarcomas.

Prognostic factors:
 * local recurrence - 15% overall. low LR rates with tumors < 2cm, but there is no correlation between size and LR.
 * distant mets - large size predicts metastatic spread. histologic type is prognostic. 10% DM rate overall, 20% in malignant lesions. LR does not predict DM.
 * regional spread - lymph node involvement in 10% overall

Disease free survival:
 * 96%, 74%, and 66% for benign, borderline, malignant tumors (Reinfuss et al)

Surgery:
 * Local recurrence is high with positive margins. Require wide local excision.  For benign lesions that were suspected to be fibroadenomas and excised without wide margins, a watch and wait approach is feasible.  Borderline/malignant tumors should be re-excised if there are positive margins. Mastectomy has no benefit over breast conserving surgery, but mastectomy can be done when the cosmetic outcome of a lumpectomy would be poor due to a large tumor in a small breast.  No need for axillary dissection.

Local recurrence can be treated with additional surgery.

For metastatic disease, chemotherapy is palliative.

Chemotherapy may be used in malignant types, using similar agents to those used for sarcomas.

The role of radiotherapy is unclear.

Pathology:
 * Ward & Evans / MDACC; 1986 PMID 3019505 — "Cystosarcoma phyllodes. A clinicopathologic study of 26 cases." (Ward RM, Cancer. 1986 Nov 15;58(10):2282-9.)
 * 26 pts. Evaluated pathologic factors for correlation with outcome
 * Described "stromal overgrowth" associated with metastatic disease and cancer-related death.

Literature

 * Harvard; 2019 (2000-2015) PMID 31814215 -- "Local recurrence after breast-conserving therapy for phyllodes tumors: A 15-year retrospective review." (Cervoni GE, Breast J. 2019 Dec 9. doi: 10.1111/tbj.13707. [Epub ahead of print])
 * Retrospective. 69 patients (48 benign, 13 borderline, 8 malignant). Median F/U 5 years
 * Local recurrence: benign 4%, borderline 0%, malignant 38% (SS). None of patients who received RT had a recurrence.

 * Rare Cancer Network; 2008 (1971-2003) PMID 17931796 — "Phyllodes tumor of the breast." (Belkacemi Y, Int J Radiat Oncol Biol Phys. 2008 Feb 1;70(2):492-500.)
 * Retrospective. 443 pts, international. 85% breast conservation, 15% mastectomy. 64% benign, 18% borderline, 18% malignant. Adjuvant RT in 9%. Median F/F 8.8 yrs.
 * Outcome: LR in 19%, DM in 3.4%. If benign 11%, borderline 29%, malignant 28%. Good prognostic factors include younger age, small size, benign vs borderline/malignant histology, ≤ 5 mitoses, no atypia, no stromal overgrowth, no necrosis
 * For pts with borderline or malignant tumor: RT associated with decreased LR, and TM associated with improved results. Benign tumors have excellent outcome with surgery alone. Recurences salvaged 92% with total mastectomy.
 * Conclusion: for borderline/malignant tumors, TM better than BCS. Consider adjuvant RT based on histologic criteria.

 * City of Hope; 2008 (1964-2005) PMID 18234448 -- "Malignant phyllodes tumor of the breast: local control rates with surgery alone." (Pezner RD, Int J Radiat Oncol Biol Phys. 2008 Jul 1;71(3):710-3. Epub 2008 Jan 30.)
 * Retrospective. Review of IMPAC National Oncology Database. 478 patients with malignant phyllodes tumor, from 130 hospitals. No RT given. Median F/U 5.3 years
 * Outcome: 5-year LC lumpectomy 79%, mastectomy 91%.
 * LC By size: lumpectomy <2 cm 91%, 2-5 cm 85%, >5cm 59%; mastectomy 100%, 95%, 5-10 cm 88%, 10-20 cm 85%
 * Conclusion: Adjuvant RT should be offered for tumors >2 cm treated with lumpectomy, and >10 cm treated with mastectomy

 * SEER; 2006 (1983-2002) PMID 16998937 — "Malignant phyllodes tumor of the female breast: association of primary therapy with cause-specific survival from the Surveillance, Epidemiology, and End Results (SEER) program." (Macdonald OK, Cancer. 2006 Nov 1;107(9):2127-33.)
 * 821 pts. Median f/u 5.7 yrs. Cause-specific survival of 91%, 89%, 89% at 5/10/15 yrs. Mastectomy in 52%, breast conservation (BCS) in 48%.
 * BCS associated with improved CSS. Adjuvant RT associated with decreased CSS.
 * Conclusion: mastectomy was not found to provide a benefit in CSS. The role of adjuvant RT is uncertain.

 * MD Anderson; 2002 PMID 11013364 -- "Primary treatment of cystosarcoma phyllodes of the breast." (Chaney AW, Cancer. 2000 Oct 1;89(7):1502-11.)
 * Retrospective. 101 patients (benign 58%, indeterminate 12%, malignant 30%). Stromal overgrowth 29%. Surgery lumpectomy 47% or mastectomy 53%. SM- in 99%, RT in 6%
 * Outcome: 10-year LC 8%, DM 13%. 10-year OS benign 79% vs. malignant 42%
 * Conclusion: Local failure low, if adequately resected disease, don't need adjuvant RT. If stromal overgrowth, chance of distant failure and should consider chemotherapy

Review

 * England (2001) - PMID 11423590 Full Text — "Phyllodes tumours." (Parker SJ, Postgrad Med J. 2001 Jul;77(909):428-35.)

title: Radiation Oncology/Breast/Phyllodes


text:
Cryptography/Random number generation

The generation of random numbers is essential to cryptography. One of the most difficult aspect of cryptographic algorithms is in depending on or generating, true random information. This is problematic, since there is no known way to produce true random data, and most especially no way to do so on a finite state machine such as a computer.

There are generally two kinds of random number generators: non-deterministic random number generators, sometimes called "true random number generators" (TRNG), and deterministic random number generators, also called pseudorandom number generators (PRNG).

Many high-quality cryptosystems use both -- a hardware random-number generator to periodically re-seed a deterministic random number generator.

Quantum mechanical theory suggests that some physical processes are inherently random (though collecting and using such data presents problems), but deterministic mechanisms, such as computers, cannot be. Any stochastic process (generation of random numbers) simulated on a computer, however, is not truly random, but only pseudorandom.

Within the limitations of pseudorandom generators, any quality pseudorandom number generator must:

 * have a uniform distribution of values, in all dimensions
 * have no detectable pattern, ie generate numbers with no correlations between successive numbers
 * have a very long cycle length
 * have no, or easily avoidable, weak initial conditions which produce patterns or short cycles

Methods of Pseudorandom Number Generation
Keeping in mind that we are dealing with pseudorandom number generation (i.e. numbers generated from a finite state machine, as a computer), there are various ways to randomly generate numbers.

In C and C++ the function rand returns a pseudo-random integer between zero and RAND_MAX (internally defined constant), defined with the srand function; otherwise it will use the default seed and consistently return the same numbers when the program is restarted. Most such libraries have short cycle lengths and are not usable for cryptographic purposes.

"Numerical Recipes in C" reviews several random number generators and recommends a modified version of the DES cypher as their highest quality recommended random number generator. "Practical Cryptography" (Ferguson and Schneier) recommend a design they have named Fortuna; it supersedes their earlier design called Yarrow.

Methods of nondeterministic number generation
As of 2004, the best random number generators have 3 parts: an unpredictable nondeterministic mechanism, entropy assessment, and conditioner. The nondeterministic mechanism (also called the entropy source) generates blocks of raw biased bits. The entropy assessment part produces a conservative estimate of the min-entropy of some block of raw biased bits. The conditioner (also called a whitener, an unbiasing algorithm, or a randomness extractor) distills the block of raw bits into a much smaller block of conditioned output bits -- an output block of bits half the size of the estimated entropy (in bits) of the raw biased bits -- eliminating any systematic bias. If the estimate is good, the conditioned output bits are unbiased full-entropy bits even if the nondeterministic mechanism degrades over time. In practice, the entropy assessment is the difficult part.

title: Cryptography/Random number generation


text:
Talk:Cryptography/Random number generation

Why
This page should open with an explanation of why encryption specifically depends on the use of random numbers. And not how it depends on them.

A counterexample could be explored, such as use of an an OTP whereby a certain key is chosen (or calculated) for a plaintext that is designed to yield the ciphertext of. No random numbers are used here, and the OTP still provides perfect encryption. Even though an obvious reason this might not work is that the key cannot be preexchanged (if that is necessary), that does not explain why random numbers are necessitated by cryptography. Poppafuze 05:59, 22 October 2006 (UTC)

Request for graphs
If anyone with access to Maple, Mathematica, etc. could make graphs of all the functions used in the article -- that is, arctan(x), (1/2) + (1/π) * arctan(x), f(x)=x^(3/2), and f(x)=x^2+c -- and place them in logically, I would really appreciate it. It's late now, so I'm stopping for the night, but I would like to add (or like someone to add) a section on using modular groups to generate random numbers. Unforunately, those two methods of random number generation are the only two that I'm familiar with, but if anyone is familiar with more, please feel free to add them. --Iamunknown 06:49, 24 Nov 2004 (UTC)

Newton's method
Moved from Cryptography/Random number generation

Why don't the Pseudorandom number generator and http://c2.com/cgi/wiki?PseudoRandomNumberGenerator articles mention this "Newton's method on a non-converging function" pseudo-random number generator?

I moved the following "Newton's Method" method of generating "random" numbers to the talk page, because I suspect it is *not* a good method of generating pseudorandom numbers. I would be fascinated to know why anyone thinks it is a good method. --DavidCary 06:44, 8 October 2007 (UTC)

Using Newton's Method and Arctangent
First, remember that the arctangent function is defined for all x in the reals, and is mapped for all f(x) less than π/2 but greater than the -π/2.

{arctan(x) ∈ R: -π/2 < x < π/2} (1)

One common trait of random number generators is a domain mapped to all reals greater than or equal to 0 but less than or equal to 1. To do so, we take the arctangent function, and modify it:

0 < 1/2 + (1/π)*arctan(x) < 1 (2)

Now, the graph of this particular function reveals a smooth, continuous function defined for all reals. This function does not generate pseudorandom numbers by itself. It merely scales them to any number mapped greater than or equal to 0 but less than or equal to 1. (Note: although it is beyond the scope of this text, probability theory shows that this function, with well-formed input, indeed converges to a set with a standard distribution.)

The most used input for this modified arctangent function such that it is a useful stochastic process is, surprisingly, Newton's method for any function that does not converge.

For any value of a function that the condition for convergence for Newton's method fails, the value x resultant from each successive iteration of Newton's method is completely independent (logistically speaking) from the number previously! And when that number is fed into our modified arctangent function, it is mapped to any real greater than or equal to 0 and less than or equal to 1!

Note
Some functions are more suitable choices for our purposes than others. For example, |f(xi+1)|>|f(xi)| for each iteration of the function f(x)=x3/2. One choice often used is the function f(x)= x2+c where c>0.


text:
User:Splat

Planned Wikipedia Articles
 * Charles Martin Loeffler
 * Franz Liszt

Planned Wikibooks
 * Cultural Anthropology / IB Cultural Anthropology
 * IB Music / Music History
 * Advanced Algebra / IB Math 3 & 4
 * Economics / IB Economics
 * IB Biology
 * Introduction to Psychology / IB Psychology

title: User:Splat


text:
Template:Donate

The Wikimedia Foundation is a non-profit organization that depends on your voluntarism and donations to operate. If you find Wikibooks or other projects hosted by the Wikimedia Foundation useful, please volunteer or make a donation. Your donations primarily helps to purchase server equipment, launch new projects, and develop MediaWiki—the software that makes Wikibooks possible.

title: Template:Donate