OpenLLM-France/wikimedia huggingface dataset:
# YafaRay/Printable version

The current, editable version of this book is available in Wikibooks, the open-content textbooks collection, at
https://en.wikibooks.org/wiki/YafaRay

# Scenes with Explanations

All the scenes are written in the xml format yafaray uses. Use the text editor of your own choice to, for instance, replace parts of your own scene with parts provided here.
How do I add my own scene? Your entry doesn't have to be perfect in any way. Other people can fill in the gaps.
* Render settings
** simple Preview
* Area light
** single Area light

# How do I add my own scene?

If you think you have a useful/interesting scene you want to share with the rest of the world, just add it. On top of every Wikibooks page you should see a 'edit this page' link. Just click on it when you are in the 'YafaRay: Scenes with Explanations' page and give your scene an appropriate place/name. After you save the page (always preview it first, of course), you can click on your scene name and put your scene on the empty page you are linked to.
If you are not sure about anything, just look at how other pages are made.
# YafaRay/Scenes with Explanations

All the scenes are written in the xml format yafaray uses. Use the text editor of your own choice to, for instance, replace parts of your own scene with parts provided here.
How do I add my own scene? Your entry doesn't have to be perfect in any way. Other people can fill in the gaps.
* Render settings
** simple Preview
* Area light
** single Area light
# Yesod web framework

Yesod ("Foundation" in Hebrew) is a free and open-source web framework based on Haskell for productive development of type-safe, REST model based (where URLs identify resources, and HTTP methods identify transitions), high performance web applications, developed by Michael Snoyman et al.
Yesod is based on templates, to generate instances for listed entities, and dynamic content process functions through Template Haskell constructs called QuasiQuotes whose content is translated to code expressions by metaprogramming instructions.
The templates admit code expression interpolations in web language snippets, making them fully type-checked at compile-time.
Yesod divides its functionality in separate libraries, so you may choose your {database, html rendering, forms, etc} functionality library of your choice.

## MVC architecture

* Controller
* View
* Model
# Ada Programming/Libraries/Ada.Calendar.Arithmetic

This language feature is only available from Ada 2005 on.
Ada.Calendar.Arithmetic 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.Calendar.Arithmetic in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Calendar.Arithmetic in: Stack Overflow, comp.lang.ada or any Ada related page.

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

* 9.6.1: Formatting, Time Zones, and other operations for Time

#### Ada 2012

* 9.6.1: Formatting, Time Zones, and other operations for Time

### Open-Source Implementations

FSF GNAT
* Specification: a-calari.ads
* Body: a-calari.adb
drake
* Specification: calendar/a-calari.ads
* Body: calendar/a-calari.adb
# Ada Programming/Keywords/xor
## Logical operator
### Boolean operator on arrays

The xor operation is applied to each boolean inside the array.

### Bitwise operator

The operator xor could be used with modular types and also with boolean arrays to perform bitwise operations.

## See also
### Wikibook

* Ada Programming
* Ada Programming/Keywords
* Ada Programming/Operators

### Ada 95 Reference Manual

* 2.9 Reserved Words (Annotated)
* 4.4 Expressions (Annotated)
* 4.5.1 Logical Operators and Short-circuit Control Forms (Annotated)
* Annex P (informative) Syntax Summary (Annotated)

### Ada 2005 Reference Manual

* 2.9 Reserved Words (Annotated)
* 4.4 Expressions (Annotated)
* 4.5.1 Logical Operators and Short-circuit Control Forms (Annotated)
* Annex P (informative) Syntax Summary (Annotated)

### Ada Quality and Style Guide

* 3.1.3 Capitalization
* 10.6.3 Bit Operations on Modular Types
Ada Operators :
| and | and then | > | + | abs | & |
| or | or else | >= | - | mod | |
| xor | = | < | * | rem | in |
| not | /= | <= | ** | / | not in |
# Ada Programming/Libraries
## Predefined Language Libraries

Ada's built-in library is provided by three root library units: Ada, Interfaces, and System; other library units are children of these. The library is quite extensive and well-structured. These chapters too are more reference like. Most specifications included in them have been obtained from the reznikmm/adalib repository.
The package Standard contains all predefined identifiers in the language.
* Standard
* Ada
* Interfaces
* System
Ada 83 had a much smaller library and did not yet have this library structure. These root libraries were introduced in Ada 95 to inhibit a name pollution. To preserve compatibility, there exist renamings of all Ada 83 library units XXX as Ada.XXX respectively System.XXX; see RM J.1: Renamings of Library Units. Contrary to the names in the root hierarchies, the original Ada 83 names XXX are not protected – they may be reused for user-defined library units.

## Implementation-Defined Language Libraries

Every Ada implementation has as an extension of the predefined Ada library. One example is the library provided by the GNAT implementation.
* GNAT

## Other Language Libraries

Other libraries which are not part of the standard but freely available.
* Multi Purpose
* Container Libraries
* GUI Libraries
* Distributed Objects
* Database
* Web Programming
* Input/Output

## See also
### Wikibook

* Ada Programming

### Ada Reference Manual

* Annex A (normative) Predefined Language Environment (Annotated)

### Resources

* A collection of Tools and Libraries maintained by the Ada Resource Association.
* The collection of crates of Alire, a package manager for Ada libraries and applications in source form.
# Ada Programming/Libraries/Ada.Calendar

This language feature is available from Ada 95 on.
Ada.Calendar 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.Calendar in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Calendar in: Stack Overflow, comp.lang.ada or any Ada related page.

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

* 9.6: Delay Statements, Duration, and Time

#### Ada 2005

* 9.6: Delay Statements, Duration, and Time

#### Ada 2012

* 9.6: Delay Statements, Duration, and Time

### Open-Source Implementations

FSF GNAT
* Specification: a-calend.ads
* Body: a-calend.adb
drake
* Specification: calendar/a-calend.ads
* Body: calendar/a-calend.adb
# Ada Programming/Libraries/Ada.Calendar.Formatting

This language feature is only available from Ada 2005 on.
Ada.Calendar.Formatting 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.Calendar.Formatting in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Calendar.Formatting in: Stack Overflow, comp.lang.ada or any Ada related page.

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

* 9.6.1: Formatting, Time Zones, and other operations for Time

#### Ada 2012

* 9.6.1: Formatting, Time Zones, and other operations for Time

### Open-Source Implementations

FSF GNAT
* Specification: a-calfor.ads
* Body: a-calfor.adb
drake
* Specification: calendar/a-calfor.ads
* Body: calendar/a-calfor.adb
# Ada Programming/Libraries/Ada.Asynchronous Task Control

This language feature is available from Ada 95 on.
Ada.Asynchronous_Task_Control 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.Asynchronous_Task_Control in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Asynchronous_Task_Control in: Stack Overflow, comp.lang.ada or any Ada related page.

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

* D.11: Asynchronous Task Control

#### Ada 2005

* D.11: Asynchronous Task Control

#### Ada 2012

* D.11: Asynchronous Task Control

### Open-Source Implementations

FSF GNAT
* Specification: a-astaco.ads
* Body: a-astaco.adb
drake
* Specification: tasking/a-astaco.ads
# Ada Programming/Libraries/Ada.Calendar.Time Zones

This language feature is only available from Ada 2005 on.
Ada.Calendar.Time_Zones 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.Calendar.Time_Zones in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Calendar.Time_Zones in: Stack Overflow, comp.lang.ada or any Ada related page.

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

* 9.6.1: Formatting, Time Zones, and other operations for Time

#### Ada 2012

* 9.6.1: Formatting, Time Zones, and other operations for Time

### Open-Source Implementations

FSF GNAT
* Specification: a-catizo.ads
* Body: a-catizo.adb
drake
* Specification: calendar/a-catizo.ads
* Body: calendar/a-catizo.adb
# Analog and Digital Conversion/Sampling and Reconstruction
## Relationship Between A & D

Analog and digital signals both transmit information, and on occasion both signals can be used to transmit the same information. Sometimes digital information can be put through a machine called a "modulator" so that they can be transmitted over an analog network. Similarly, sometimes analog signals need to be digitized, to travel over a digital network. The modern telephone system, for instance, received analog signals from the handset, that are then turned into digital signals for transmission over a digital, fiber-optic network. Digital information stored on DVDs and CDs need to be converted to analog music and video signals, for use on analog TVs and Stereos. Both types of signals are highly useful, and they have moments where they each excel. However, there are plenty of times when we need to convert from one to the other, and that conversion process will be the primary focus of this wikibook.

## Samplers

A device that converts an analog signal to a digital signal is called a sampler. There are other names for samplers, including "Analog to Digital Converters". This is usually abbreviated as ADC, A2D, A/D, or other similar abbreviations. The important point is that analog signals are converted into a digital equivalent, according to some particular rule.
The process of sampling, by necessity, causes a loss of information. If we are only sampling at particular times, for instance, all the information between those two times is lost. Also, because digital signals have less accuracy than analog signals, the sampled values may not even be expressed correctly. The effects of sampling on a signal have a number of names including "Sampling noise", "sampling error", or "converted signal degradation". While this may sound like a terrible situation, there are methods to decreasing this error, and we will discuss them in this book.

## Reconstructers

Similar to samplers, but performing the exact opposite task, are Reconstructors. Reconstructors are frequently also known as "Reconstruction Circuits", or "Digital to Analog Converters". The later is frequently abbreviated as DAC, D2A, D/A, or other similar abbreviations.
Because digital signals don't have the same accuracy as analog signals, the reconstructed analog signal will have a certain amount of error associated with it. This error is frequently called the "Reconstruction noise", or "reconstruction error", and can become a large problem in sensitive applications.

## Effects of Conversion

Sampling noise and Reconstruction noise not only combine in the final signal, but they can also be compounded over multiple stages of conversion. As a rule, every single conversion can lose data, or the amount of data can stay the same. However, a conversion can never "gain data". This can be demonstrated in computer audio or video, where every successive conversion between one file format to another can cause a loss of data, and the file never gets any better.
# Analog and Digital Conversion/Sources of Error
## Introduction

Recall that in an ideal ADC, a continuously variable analog input waveform will be quantized (converted to a discrete digital value). Imagine a linear analog input signal starting at 0V and ending at its full-scale range value (e.g. 5V, 10V, 15V, or some other maximum value). An ideal ADC will read those analog values in and convert the analog voltages to a perfect stair step digital representation. A non-ideal ADC will read those analog values in and be influenced by both noise and errors in the system. Four main error sources exist:
* Offset Error - X-intercept Shifting
* Gain Error - Slope Shifting
* Differential Non-linearity Error (DNL) - Maximum single step error
* Integral Non-linearity Error (INL) - Maximum accumulative step error

## Offset Error

Offset error can be simply understood as an error that shifts the x-intercept of the end-point correlation line. The end-point correlation line is a line drawn from bit 1 to the final bit in the non-ideal transfer curve (i.e. the quantized stair step). For example, if the ideal quantized value corresponding to 1V is 819 bits and the offset error is +2 bits, then the non-ideal quantized value will be 821 bits.
<Additional information requested here>

## Gain Error

Gain error can be simply understood as an error that shifts the slope of the end-point correlation line. Because gain error compounds over the range of the analog input, gain error can be negligible in one part of the full scale input range while being significant in another.
<Additional information requested here>

## Differential Non-linearity Error

Differential non-linearity error can be simply understood as the maximum deviation that appears between the ideal quantized value and the actual one. For example, the non-ideal transfer curve may deviate from the ideal transfer curve by 1 bit in some places, however if it deviates from the ideal transfer curve by a maximum of 2 bits in one place, then the differential (difference, or delta) non-linearity error is considered to be 2 bits.
<Additional information requested here>

## Integral Non-linearity Error

Integral non-linearity error can be simply understood as the maximum deviation that occurs between the non-ideal transfer curve and its end-point correlation line. For example, as various errors stack up along the non-ideal transfer curve, eventually there will be a summing effect of errors which is considered the integral (summing) non-linearity error.
<Additional information requested here>
# Analogue Electronics

This book is part of a series on Electric Circuits:
Circuit Theory Circuit Idea Digital Circuits Practical Electronics Electronics Analogue Electronics Semiconductors Materials in Electronics
This Wikibook is about analogue electronics. It will begin by examining the bipolar junction transistor (BJT) and the field effect transistor (FET). The two classes of device are used in the vast majority of electronic devices, and form a stepping stone to more complex circuits. We will begin by examining the diode and operational amplifier, look at the BJT and FET as simple amplifiers and switches, and we will move on to more complex circuits after that.

## Prerequisites

This book relies heavily on results shown in the Semiconductors Wikibook - we will not spend much time in this book re-deriving characteristic equations of the devices. A detailed knowledge of semiconductor physics is not required, and basic results will be derived here. A knowledge of basic circuit theory is essential, and can be found in Circuit Theory.
The Circuit Idea book provides many alternative methods of viewing the results found in this book in an intuitive, rather than formal, context.

## Contents

* Introduction

### Diodes

* pn Junctions
* Diodes
** Avalanche Diodes
** PIN Diodes
** Schottky Diodes
** Trigger Diodes
*** DIACs
** Tunnel Diodes
** Varicaps
* Limiters and Clampers
** Zener Diodes
** Transient voltage suppression diodes
* Superdiodes
** Super barrier diodes

### Bipolar Junction Transistors

* Bipolar Junction Transistors
** Active Mode
* Current Mirrors
** Basic BJT Current Mirror
** Wilson Current Mirror
** Widlar Current Source
* Cascodes
** The Miller effect
** Classic Cascode
** Voltage Ladder
** Gilbert Cell

### Field Effect Transistors

* Field Effect Transistors
** Junction Field Effect Transistors
*** Depletion-type JFETs
*** Constant Current Diodes
** Insulated-Gate Field Effect Transistors
*** Enhancement-type MOSFETs
*** Dual Gate MOSFETs

### Differential Amplifiers

* Discrete Differential Amplifiers
* Operational Amplifiers
** Thévenin Operational Amplifiers
** Norton Operational Amplifiers
** Operational Transconductance Amplifiers
* Comparators
* Instrumentation Amplifiers
# Analog and Digital Conversion/Sampling Theorem
## Sampling Theorem

The Sampling Theorem is a mathematical construct that allows us to take a single sample of an input waveform at a time T. This is not the same as the star transform.

## Definition

The sampling theorem states that if we convolute the input function with an impulse, centered at the sampling time T, the output will be the value of the input function at time T. More specifically, our output will be the sample at time T. Here is the definition:
    ${\bar {f}}(T)=f(t)*\delta (t-T)$
Where ${\bar {f}}(T)$ is the sampled value at time T.
# Analog and Digital Conversion/Spectral Effects
## Sampling Noise

This section of the Analog and Digital Conversion wikibook is a stub. You can help by expanding this section.
# Analog and Digital Conversion/The Ideal Sampler
## Ideal Sampler

Let us say that we have a sampler device that operates as follows: every T seconds, the sampler reads the current value of the input signal at that exact moment. The sampler then holds that value on the output for T seconds, before taking the next sample. We have a generic input to this system, f(t), and our sampled output will be denoted f*(t). We can then show the following relationship between the two signals:
Note that the value of f* at time t = 1.5T = T. This relationship works for any fractional value.

## Star Transform

Taking the Laplace transform of this infinite sequence will yield us with a special result called the star transform. The star transform is also occasionally called the "starred transform" in some texts.
The star transform is defined as such:
    $F^{*}(s)={\mathcal {L}}^{*}[f(t)]=\sum _{i=0}^{\infty }f(iT)e^{-siT}$
The star transform depends on the sampling time, T, and is different for a single signal, depending on the speed at which the signal is sampled.

## Sampler Block Diagram

A sampler is usually denoted on a circuit diagram as being a switch that opens and closes at set intervals. These intervals represent the sampling time, T.

### Sampling Time

    The amount of time between successive samples.
Samplers work by reading in an analog waveform, and "catching" the value of that waveform at a particular point in time. This value is then fed into an ADC converter, and a digital sequence is produced.
The exact method by which the digital sequence is produced will be discussed later in the sections on quantization.

## Sampling Delays

Real samplers take a certain amount of time to read the sample, and convert it into a digital representation. This delay can usually be modeled as a delay unit in series with the sampler.

## Sampling Jitter

Samplers in real life don't always take a perfect sample exactly at time T, but instead sample "around" the right time. The difference between the ideal sampling time T, and the actual sample time is known as the "Sampling Jitter", or simply the jitter.
# Analogue Electronics/BJTs

BJTs are very versatile and very simple devices. They can be used for amplification and switching in a variety of configuratons, each with uses and drawbacks.

## Structure

BJTs are so named because they consist of junctions between the two kinds of semiconductor (n and p type) and have one pn junction and one np junction (i.e. the other way around). Compare this to a unipolar junction transistor,which has only one junction. The construction of a BJT is very simple - it is three alternating layers of semiconductor. The diagram below show the basic construction, but they are not to scale.

### NPN Transistors

The NPN transistor is made of layers in that order:
It is equivalent to two back-to-back diodes, but connecting two diodes like this will not work, as the thicknesses and geometry of each layer is important, as are effects from the interaction of the two outer layers.
The symbol for this kind of transistor is shown to the right. It can be drawn with or without the circle. With is technically more correct, but it is not necessary. A useful mnemonic for remembering which way the arrow points on an NPN transistor is:
       "Not Pointing iN".
The arrow is always drawn on the emitter - it actually means which way (conventional) current flows in the emitter.

### PNP Transistors

The PNP transistor is the same, except the order of the layers is reversed:
It is equivalent to two nose-to-nose diodes, but as before, just connecting two diodes will not work. Generally, a PNP transistor is identical to an NPN transistor, but with all currents reversed.
The symbol is the same, but with the arrow reversed. Note that the emitter of PNP transistors often face upwards.
We will not really consider the PNP transistor at first - it is essentially the same as the more common NPN transistor, but reversed. We will look at applications for it later.

## Operating Modes

How the BJT works depends on the bias of each junction. Each junction is like a diode, and in some ways behaves accordingly. Since there are two junctions, each of which can be biased in two ways (forward or reverse), there are four possible modes for the BJT. The following table lists them. The modes are the same for NPN and PNP.
| Operating Mode | Emitter-base junction (EBJ) | Collector-base junction (CBJ) |
| Cut-Off | Reverse | Reverse |
| Active | Forward | Reverse |
| Saturation | Forward | Forward |
| Reverse-Active | Reverse | Forward |
The Active mode is generally used for amplification, and the Cut-Off and Saturation modes are used for switching and binary logic (when you just want 1 or 0).
The working of a BJT will be explained on the next page, BJTs in Active Mode.
# Analog and Digital Conversion/Uniform Quantization
## Sampling Process

In signal processing, sampling is the reduction of a continuous signal to a discrete signal. A common example is the conversion of a sound wave (a continuous signal) to a sequence of samples (a discrete-time signal).

## Problems

This section of the Analog and Digital Conversion wikibook is a stub. You can help by expanding this section.
# A-level Physics/Forces and Motion
## Contents

* Scalars and vectors
* Kinematics
* Dynamics
* Force, work and power
* Deformation of solids
* Forces on vehicles
* Car safety