OpenLLM-France/wikimedia huggingface dataset:
# Ada Programming/Attributes/'Extended Image
## Description

Returns the image of type STRING associated with a specified item as defined for the PUT procedure in TEXT_IO generic package appropriate for type T (e.g., TEXT_IO.INTEGER_IO(T) if T is an integer type). T may denote an integer, enumeration, floating point or fixed point type name. Named parameter notation may not be used. The parameters are:

### Item : T

    the item for which you want the image. Required.

### Width : Field := 0

    the minimum number of characters to be in the string that is returned.

### Base : Number_Base := 10

    the base in which the image is to be displayed.

### Based : Boolean := FALSE

    if TRUE, return the string in based format (e.g., 10#99#).

### Space_If_Positive : Boolean := FALSE

    if TRUE, a positive integer will be preceded by a blank in the string returned.
# Ada Programming/Attributes/'Extended Width
## Description

Returns the width for (sub)type T. T may be integer or enumeration type. All the parameters are optional. They are:

### Base : Number_Base := 10

    the base for which the width will be calculated.

### Based : Boolean := FALSE

    if TRUE, compute the width of the based format (e.g., 10#99#).

### Space_If_Positive : BOOLEAN := FALSE

    if TRUE, compute the width assuming that a positive integer will be preceded by a blank.
# Ada Programming/Attributes/'Fast Math
## Description

Standard'Fast_Math (Standard is the only allowed prefix) yields a static Boolean value that is True if pragma Fast_Math is active, and False otherwise.
# Ada Programming/Attributes/'Extended Wide Image
## Description

Returns the image of type WIDE_STRING associated with a specified item as defined for the PUT procedure in TEXT_IO generic package appropriate for type T (e.g., TEXT_IO.INTEGER_IO(T) if T is an integer type). T may denote an integer, enumeration, floating point or fixed point type name. Named parameter notation may not be used. The parameters are:

### Item : T

    the item for which you want the image. Required.

### Width : Field := 0

    the minimum number of characters to be in the string that is returned.

### Base : Number_Base := 10

    the base in which the image is to be displayed.

### Based : Boolean := FALSE

    if TRUE, return the string in based format (e.g., 10#99#).

### Space_If_Positive : Boolean := FALSE

    if TRUE, a positive integer will be preceded by a blank in the string returned.
# 9-1 History/list of Authors

We would like to thank everyone who has contributed to this book, who would like to wish you good luck with tour exams and your study of history in general.
Authors;
* Neutrinopenguin
* Qwerty number1
as well as many other authors, who can be identified from the pages edit history
# 9-1 Physics/Forces and their interactions
## Scalar and Vector quantities

Scalar quantities have magnitude only.
Vector quantities have magnitude and an associated direction. Vector quantities are often represented with an arrow. For example:
${\bar {v}}$ represents velocity and $v$ represents speed.

## Contact and non-contact forces

A force is an interaction that causes a change to occur. It is heavily connected to energy. A simpler way of understanding a force is that is a push or a pull that acts on an object due to the interaction with another object.
All forces are either:
* contact forces; the objects are physically touching
* non-contact forces; the objects are physically separated.

#### Contact forces

* Friction - the force that resists the motion of solid surfaces sliding against each other.
* Air resistance (drag) - (friction of the air) the force acting opposite to an object moving in a fluid (usually air).
* Tension - pulling force.
* Normal force - The force that the ground (or any surface) pushes back up with.

#### Non-contact forces

* Gravitational force - Force of attraction between objects of mass.
* Electrostatic force -
* Magnetic force -
All non-contact forces have a "field" or an invisible fabric that surrounds objects in the 3D world we live in.

### Gravity

Weight is the force acting on an object due to gravity. The force of gravity close to the Earth is due to the gravitational field around the Earth. If you suddenly ended up in deep space, there would be no such field and you wouldn't be glued to any floor; instead you would float. As such, the weight of an object depends on the gravitational field strength at the point where the object is:
$W=mg$
Which, if you remember studying direct proportionality in mathematics, would lead us to realise that weight and mass are directly proportional to each other.
The force of gravity between objects, or the weight, can be thought of as acting a central point or the object's centre of mass.
Weight can be measured using a Newton meter.

## Resultant forces

A number of forces acting on an object may be replaced by a single force that has the same effect as all the original forces acting together. This single force is known as the resultant force. When we calculate the resultant force we consider the forces acting ------- (horizontally) and | (vertically) separately. Forces are a vector and so would have a direction.

## Work done and energy transfer

$W={\bar {F}}s=\Delta E$

## Law of elasticity

Also known as Hooke's law, Hooke's law states that the extension (e) of the material is directly proportional to the load or applied force (F), given that the elastic limit of an elastic material is not exceeded.
$F=ke$
Elasticity can be defined as the ability of a substance to regain its original shape and size after being distorted by an external force.
# 9-1 Physics
## Foreword

9-1 Physics is a textbook designed to act as a free, reliable guide for students attempting the 9-1 Physics GCSE.
The table of contents has been structured around the AQA Specification.
This book is intended to be read chronologically.
We recommend that you are familiar with most of GCSE Mathematics as physics, like other sciences, relies on mathematics. Also, if you want to learn how to make the most of this textbook please read here.

## Energy

    Energy systems
    Conservation of energy
    Energy questions

## Electricity

    Current, Potential difference and resistance
    Series and parallel circuits
    Domestic uses and safety
    Energy transfers
    Static electricity
    Topic questions

## Particle model of matter

    Changes of state and the particle model
    Internal energy and energy transfers
    Particle model and pressure
    Topic questions

## Atomic Structure

    Atoms and isotopes
    Atoms and nuclear radiation
    Hazards and uses of radioactive emissions and of background radiation
    Nuclear fission and fusion
    Topic questions

## Forces

    Forces and their interactions
    Work done and energy transfer
    Forces and elasticity
    Moments, levers and gears
    Pressure and pressure differences in fluids
    Forces and motion
    Momentum
    Topic questions

## Waves

    Waves in air, fluids and solids
    Electromagnetic waves
    Black body radiation
    Topic questions

## Electromagnetism

    Permanent and induced magnetism, magnetic forces and fields
    The motor effect
    Induced potential, transformers and the National Grid (physics only)
    Topic questions

## Space Physics

    Solar system
    Red shift
    Topic questions

## Appendix

    Experimental thinking
    How to make the most from this book
    I've finished the book, where next?
    Authorship
# 9-1 Physics/Authors

Thank the following people for their work on providing this textbook:
- Neutrinopenguin.
If you would like your name here, please contact Neutrinopenguin and ask to help out (we would appreciate any help!).
# 9-1 Physics/Conservation of energy
## Heat Flow

Each year we spend millions of pounds heating our houses, but much of this heat escapes through our windows and roofs. We can use our understanding of temperature and heat flow to help us reduce our energy usage and save us money.

## Temperature

Temperature is a measurement of how hot something is using a chosen scale usually degrees Celsius, °C (but sometimes Fahrenheit, °F).
Heat is a measurement of energy on an absolute scale, always joules, J.
If there is a difference in temperature between an object and its surroundings then this results in the flow of heat energy from the hotter region to the cooler region.
If an object's temperature rises it is taking in heat energy. For example, if you take a can of cola out of the fridge it will soon warm up to room temperature because the can takes in heat energy from the air in the room.
If an object's temperature falls it is giving out heat energy. For example, a hot cup of tea will soon cool down. If you hold it in your hands you will feel the heat energy flowing from the cup into your hands.
# Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Integers

This language feature has been introduced in Ada 2022.
Ada.Numerics.Big Numbers.Big Integers is a unit of the Predefined Language Environment since Ada 2022.
# Ada Programming/Libraries/Ada.Interrupts.Names

This language feature is available from Ada 95 on.
Ada.Interrupts.Names is a unit of the Predefined Language Environment since Ada 95.

## See also
### Wikibook

* Ada Programming/Libraries/Ada

### External examples

* Search for examples of Ada.Interrupts.Names in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Interrupts.Names in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 95

* C.3.2: The Package Interrupts

#### Ada 2005

* C.3.2: The Package Interrupts

#### Ada 2012

* C.3.2: The Package Interrupts

### Open-Source Implementations

FSF GNAT
* Specification: a-intnam.ads
# Ada Programming/Libraries/Ada.Iterator Interfaces

This language feature has been introduced in Ada 2012.
Ada.Iterator_Interfaces is a unit of the Predefined Language Environment since Ada 2012.

## See also
### Wikibook

* Ada Programming/Libraries/Ada

### External examples

* Search for examples of Ada.Iterator_Interfaces in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Iterator_Interfaces in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 2012

* 5.5.1: User-Defined Iterator Types

### Open-Source Implementations

FSF GNAT
* Specification: a-iteint.ads
drake
* Specification: a-iteint.ads
# Ada Programming/Libraries/Ada.Numerics.Complex Arrays

This language feature is only available from Ada 2005 on.
Ada.Numerics.Complex_Arrays is a unit of the Predefined Language Environment since Ada 2005.

## See also
### Wikibook

* Ada Programming/Libraries/Ada

### External examples

* Search for examples of Ada.Numerics.Complex_Arrays in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Numerics.Complex_Arrays in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 2005

* G.3.2: Complex Vectors and Matrices

#### Ada 2012

* G.3.2: Complex Vectors and Matrices

### Open-Source Implementations

FSF GNAT
* Specification: a-nucoar.ads
drake
* Specification: numerics/a-nucoar.ads
# Ada Programming/Libraries/Ada.Integer Wide Text IO

This language feature is available from Ada 95 on.
Ada.Integer_Wide_Text_IO is a unit of the Predefined Language Environment since Ada 95.
Used for simple Input Output (IO) of integers in text format. The package is an instantiation of Ada.Wide_Text_IO.Integer_IO for the type Standard.Integer;

## See also
### Wikibook

* Ada Programming
* Ada Programming/Input Output
* Ada Programming/Libraries
* Ada Programming/Libraries/Ada
* Ada Programming/Libraries/Ada.Text IO

### External examples

* Search for examples of Ada.Integer_Wide_Text_IO in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Integer_Wide_Text_IO in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 95

* A.11: Wide Text Input-Output

#### Ada 2005

* A.11: Wide Text Input-Output and Wide Wide Text Input-Output

#### Ada 2012

* A.11: Wide Text Input-Output and Wide Wide Text Input-Output

### Open-Source Implementations

FSF GNAT
* Specification: a-iwteio.ads
# Ada Programming/Libraries/Ada.Interrupts

This language feature is available from Ada 95 on.
Ada.Interrupts is a unit of the Predefined Language Environment since Ada 95.

## Introduction

Sometimes it's necessary for your program to be able to catch and handle interrupts such as SIGINT, SIGTERM or SIGHUP, and for this we have the Ada.Interrupts package. Attaching handlers to interrupts can be done both statically and dynamically and, luckily, both methods are easy to grasp. The following program will show you both methods.

## Example

I've commented the program, so it should be fairly easy to understand what's going on. You can grab the entire program from this Git repository:
Git is available for all Linux distros. The commands to fetch Catch_Signals using Git and then compile it are:
The executable can now be found in the exe/ directory.
If you don't feel like using Git, the full source code can be copied from below. I will of course do my best to make sure that the code on this page matches the code in the Git repository, but since this is a wiki where anybody can make changes, I cannot guarantee the safety of running the code on this page, so use it with caution.
The program attach signal handlers to these interrupts:
* SIGHUP
* SIGINT
* SIGPWR
* SIGTERM
You can send those interrupts to the running program like this:
Where pid is the Process Id of the program.

### catch_signals.gpr

This file sets up compile options. It informs the compiler of the location of the source files and where to put the object and the executable files. You must, of course, create the exe and build directories, if you haven't cloned the Git repository.
catch_signals.gpr

### catch_signals.adb

This is the main program file. Not much happens here. We simply wait for an interrupt at the Process_Control.Wait statement.

### src/process_control.ads

In this file we define our interrupt handlers. For an example on how to dynamically attach an interrupt handler, take a look at the SIGHUP code.

### src/process_control.adb

Pay special attention to the Wait procedure where the SIGHUP interrupt is attached to the Handle_SIGHUP_Change_Handler procedure, and later re-attached to the Handle_SIGHUP_Shutdown procedure. This means that in order to kill the program using SIGHUP, you have to do kill -SIGHUP pid twice.

## See also
### Wikibook

* Ada Programming/Libraries/Ada

### External examples

* Search for examples of Ada.Interrupts in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Interrupts in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 95

* C.3.2: The Package Interrupts

#### Ada 2005

* C.3.2: The Package Interrupts

#### Ada 2012

* C.3.2: The Package Interrupts

### Open-Source Implementations

FSF GNAT
* Specification: a-interr.ads
* Body: a-interr.adb
drake
* Specification: tasking/a-interr.ads
* Body: tasking/a-interr.adb
# Ada Programming/Libraries/Ada.Locales

This language feature has been introduced in Ada 2012.
Ada.Locales is a unit of the Predefined Language Environment since Ada 2012.

## See also
### Wikibook

* Ada Programming/Libraries/Ada

### External examples

* Search for examples of Ada.Locales in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Locales in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 2012

* A.19: The Package Locales

### Open-Source Implementations

FSF GNAT
* Specification: a-locale.ads
* Body: a-locale.adb
drake
* Specification: environment/a-locale.ads
* Body: environment/a-locale.adb
# Ada Programming/Libraries/Ada.Numerics.Big Numbers.Big Reals

This language feature has been introduced in Ada 2022.
Ada.Numerics.Big Numbers.Big Reals is a unit of the Predefined Language Environment since Ada 2022.
# Ada Programming/Libraries/Ada.Integer Wide Wide Text IO

This language feature is only available from Ada 2005 on.
Ada.Integer_Wide_Wide_Text_IO is a unit of the Predefined Language Environment since Ada 2005.
Used for simple Input Output (IO) of integers in text format. The package is an instantiation of Ada.Wide_Wide_Text_IO.Integer_IO for the type Standard.Integer;

## See also
### Wikibook

* Ada Programming/Libraries/Ada

### External examples

* Search for examples of Ada.Integer_Wide_Wide_Text_IO in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Integer_Wide_Wide_Text_IO in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 2005

* A.11: Wide Text Input-Output and Wide Wide Text Input-Output

#### Ada 2012

* A.11: Wide Text Input-Output and Wide Wide Text Input-Output

### Open-Source Implementations

FSF GNAT
* Specification: a-izteio.ads
# Ada Programming/Libraries/Ada.Numerics

This language feature is available from Ada 95 on.
Ada.Numerics is a unit of the Predefined Language Environment since Ada 95.

## Specification
### π

    This language feature is only available from Ada 2005 on.

## See also
### Wikibook

* Ada Programming
* Ada Programming/Libraries

### External examples

* Search for examples of Ada.Numerics in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Numerics in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 95

* A.5: The Numerics Packages

#### Ada 2005

* A.5: The Numerics Packages

#### Ada 2012

* A.5: The Numerics Packages

#### Ada Issues

* AI95-00388-01 Add Greek pi to Ada.Numerics

### Open-Source Implementations

FSF GNAT
* Specification: a-numeri.ads
drake
* Specification: numerics/a-numeri.ads
# Algorithm Implementation/Linear Algebra
## Contents

* Determinant of a Matrix
* Tridiagonal matrix algorithm
# Algorithm Implementation/Graphs/Maximum flow/Edmonds-Karp
## MATLAB

This code is the direct transcription in MATLAB language of the pseudocode shown in the Wikipedia article of the Edmonds-Karp algorithm.
# Algorithm Implementation/Graphs/Shortest path

In JavaScript:
The above example is using a binary heap as a priority queue to ensure the running complexity:
# Algorithm Implementation/Hashing

Hashing algorithms are generically split into three sub-sets:

## Indexing Algorithms

    generally used to quickly find items, using lists called "hash tables".

## Checksums

    often used for simple data checking, to detect any accidental bit errors during communication—we discuss them in an earlier chapter, Checksums.

## Message Digests

    a cryptographically secure one-way function, and many are closely examined for their security in the computer security field.

## Indexing Algorithms
### Jenkins one-at-a-time hash

The "Jenkins One-at-a-time hash", from an article by Bob Jenkins in Dr. Dobb's September 1997.
C:
Java:
See Data Structures/Hash Tables#Choosing a good hash function for more details on the "Jenkins One-at-a-time hash".

### other hash functions for hash tables

Other popular hash functions for hash tables include: other Jenkins hash functions, CityHash, and MurmurHash. It may be desirable to use a keyed hash function to resist "hash flooding": modern implementations use SipHash for this purpose; others use a "universal" hash function.

## Checksums and Cyclic Redundancy Checks

See Algorithm Implementation/Checksums.

## Message Digests

The state-of-the-art for message digests and what is considered secure change frequently. The US NSA holds algorithm contests and select the winners as SHAs, the "Secure Hashing Algorithms".
* MD5 (RFC 1321) and its predecessors MD2 and MD4 are all broken. They are now both obsolete and insecure.
* SHA0/SHA1 (FIPS-180-1) are partially broken. They are obsolete and considered insecure against well-funded opponents since 2005.
* SHA-2 is not yet considered broken, but is vulnerable to length extension attacks.
* SHA-3 (Keccak) is not vulnerable to length extension attacks.
** KangarooTwelve is an extremely parallelized (hence very fast) version of Keccak. It is not vetted by the NSA, but the authors believe it is as secure as SHA-3.
** BLAKE is a hash function that made it to the final round of the SHA-3 contest. The BLAKE2b variant is widely used and considered secure (as of 2020). It also has an extremely parallelized version called BLAKE3.
Although these algorithms can be implemented directly from the specification, as with other forms of cryptography it is usually safer and faster to use a thoroughly-reviewed open-source library.

## Further reading

* see Data Structures/Hash Tables for perhaps the most common application of hashing.
* The Microsoft FCIV (File Checksum Integrity Verifier)
* Running the FCIV Utility from VBA
* String Hashing in VBA
* File Hashing in VBA
# Algorithm Implementation/Linear Algebra/Tridiagonal matrix algorithm

All the provided implementations of the tridiagonal matrix algorithm assume that the three diagonals, a (below), b (main), and c (above), are passed as arguments.
${\begin{bmatrix}b_{0}&c_{0}&0&0&0&\cdots &0&0\\a_{1}&b_{1}&c_{1}&0&0&\cdots &0&0\\0&a_{2}&b_{2}&c_{2}&0&\cdots &0&0\\0&0&a_{3}&b_{3}&c_{3}&\cdots &0&0\\\vdots &\vdots &\ddots &\ddots &\ddots &\ddots &\ddots &\vdots \\0&0&0&\cdots &a_{n-3}&b_{n-3}&c_{n-3}&0\\0&0&0&\cdots &0&a_{n-2}&b_{n-2}&c_{n-2}\\0&0&0&\cdots &0&0&a_{n-1}&b_{n-1}\\\end{bmatrix}}\cdot {\begin{bmatrix}x_{0}\\x_{1}\\x_{2}\\x_{3}\\\vdots \\x_{n-3}\\x_{n-2}\\x_{n-1}\\\end{bmatrix}}={\begin{bmatrix}d_{0}\\d_{1}\\d_{2}\\d_{3}\\\vdots \\d_{n-3}\\d_{n-2}\\d_{n-1}\\\end{bmatrix}}$

## Haskell

note that the function takes in a subdiagonal list (as) whose first element (index 0) is on row 1, which is why we shift the index in the convenience accessors so we can call it "a(1)" anyway.

## C

The following is an example of the implementation of this algorithm in the C programming language.
The following variant preserves the system of equations for reuse on other inputs. Note the necessity of library calls to allocate and free scratch space - a more efficient implementation for solving the same tridiagonal system on many inputs would rely on the calling function to provide a pointer to the scratch space.

## C++

The following C++ function will solve a general tridiagonal system (though it will destroy the input vector c and d in the process). Note that the index $i$ here is zero based, in other words $i=0,1,\dots ,N-1$ where $N$ is the number of unknowns. Note that, save for the printing of text in the main function, this code is valid C as well as C++.

## Python

Note that the index $i$ here is zero-based, in other words $i=0,1,\dots ,N-1$ where $N$ is the number of unknowns.
Another way

## Fortran 90

Note that the index $i$ here is one based, in other words $i=1,2,\dots ,n$ where $n$ is the number of unknowns.
Sometimes it is undesirable to have the solver routine overwrite the tridiagonal coefficients (e.g. for solving multiple systems of equations where only the right side of the system changes), so this implementation gives an example of a relatively inexpensive method of preserving the coefficients.
This subroutine offers an option of overwriting d or not.

## References

* ↑ /App9/tdma.f90
# Applied A-Level ICT/Unit 7/Activity 1
## Security

If they mention logins and passwords write about these. You should also mention the Data Protection Act.
# Applied Ecology
## Main Contents

* Introduction
* Conservation Management
* Habitat Creation
* Agro-Ecological Systems
* Wetland Engineering
* Disease Transmission
* Breeding and Reintroduction of Rare Species
* Environmental Valuation
* Nature Tourism
* The Endangered Resources
* New Societies and Cultures
* Case Studies
       Asian Rainforest Politics
       British Limestone Grasslands