"accessAndDataPortability": {
"$id": "#/properties/accessAndDataPortability",
"type": "object",
"title": "AccessAndDataPortability",
"description": "Defining the right to access and data portability.",
"additionalProperties": true,
"properties": {
"available": {
"$id": "#/properties/accessAndDataPortability/properties/available",
"type": "boolean",
"title": "Available",
"description": "The information is subject to the requirements of Art. 20 (right to data portability) GDPR.",
"default": true,
"examples": [
true
]
},
"description": {
"$id": "#/properties/accessAndDataPortability/properties/description",
"type": "string",
"title": "Description",
"description": "Description of the requirements according to Art. 20 GDPR.",
"examples": [
"Data access is possible through...",
"In the event that the requirements of Art. 20 Para. 1 GDPR are met, you have the right to store your data in a structured, common .."
]
},
"url": {
"$id": "#/properties/accessAndDataPortability/properties/url",
"type": "string",
"title": "Url",
"description": "URL to relevant resources such as access portals.",
"format": "uri-reference",
"examples": [
"https://green-bikes.de/access"
]
},
"email": {
"$id": "#/properties/accessAndDataPortability/properties/email",
"type": "string",
"title": "Email",
"description": "Contact email address",
"format": "email",
"examples": [
<EMAIL_ADDRESS>]
},
"identificationEvidences": {
"$id": "#/properties/accessAndDataPortability/properties/identificationEvidences",
"type": "array",
"title": "IdentificationEvidences",
"description": "ID evidences",
"additionalItems": true,
"items": {
"$id": "#/properties/accessAndDataPortability/properties/identificationEvidences/items",
"anyOf": [
{
"$id": "#/properties/accessAndDataPortability/properties/identificationEvidences/items/anyOf/0",
"type": "string",
"title": "First anyOf",
"examples": [
"ID card copy",
"Email verification"
]
}
]
},
"examples": [
[
"ID card copy",
"Email verification"
]
]
},
"administrativeFee": {
"$id": "#/properties/accessAndDataPortability/properties/administrativeFee",
"type": "object",
"title": "AdministrativeFee",
"description": "The fee that refers to several copies.",
"additionalProperties": true,
"properties": {
"amount": {
"$id": "#/properties/accessAndDataPortability/properties/administrativeFee/properties/amount",
"type": "number",
"title": "Amount",
"description": "The amount of money to be paid for a copy.",
"default": 0,
"examples": [
0
]
},
"currency": {
"$id": "#/properties/accessAndDataPortability/properties/administrativeFee/properties/currency",
"type": "string",
"title": "Currency",
"description": "The currency in which the amount of money for one copy has to be provided acc. to ISO 4217.",
"default": "EUR",
"maxLength": 3,
"minLength": 3,
"examples": [
"EUR"
]
}
},
"required": [
"amount",
"currency"
],
"examples": [
{
"amount": 0,
"currency": "EUR"
}
]
},
"dataFormats": {
"$id": "#/properties/accessAndDataPortability/properties/dataFormats",
"type": "array",
"title": "DataFormat",
"description": "An explanation about the data format(s) the data is provided in.",
"default": [
"json"
],
"items": {
"$id": "#/properties/accessAndDataPortability/properties/dataFormats/items",
"anyOf": [
{
"$id": "#/properties/accessAndDataPortability/properties/dataFormats/items/anyOf/0",
"type": "string",
"title": "First anyOf",
"examples": [
"json",
"xml"
]
}
]
},
"examples": [
"json",
"xml"
]
}
},
"required": [
"available"
],
"examples": [
{
"available": true,
"description": "Data access is possible through...",
"url": "https://green-bikes.de/access",
"email"<EMAIL_ADDRESS>"identificationEvidences": [
"ID card copy",
"Email verification"
],
"administrativeFee": {
"amount": 0,
"currency": "EUR"
},
"dataFormat": "json"
}
]
}
C:\Users\Elias\Desktop\schema\tilt-schema.json (1657:6)


This constructs the main object that will be used for an RTF document. The object is composed of a table, titles(s), and footnote(s).
A table contained in the rtf_doc
object should be a supported class.
The huxtable package is the most supported, however our intention is to
support other packages capable of writing RTF tables as well. Currently, it
is planned to support the gt
package, but the gt
package's RTF
methods are not functional.
The titles and footnotes are composed of hf_line
objects.
See the vignette for a more complete view of intended usage.
rtf_doc(table, titles = list(), footnotes = list(), header_rows = 1)
| table | A table of a supported class. |
|---|---|
| titles | A list of |
| footnotes | A list of |
| header_rows | An integer determining how many rows of the table are column headers. Only used for huxtable tables. Can be set to 0 to disable repeating column headers. |
A list with a table, titles, and footnotes component. Class of "rtf_doc" with the properties describled below.
rtf_doc
PropertiesDocument level properties set the defaults and will be used where they are
not overridden by hf_line
or table properties.
font - A string representing the font to display when it is not
specified by the table or hf_line
. Defaults to Courier New.
font_size - A numeric value representing the size of the font in points. Defaults to 12.
margins - Inches of margins in the document as a named vector. Names
are top
, bottom
, left
, and right
. Defaults to 1
for all.
orientation - Orientation of the document. Defaults to 'landscape'. When 'portrait', the height and width are switched while writing the document to effectively rotate the document 90 degrees. For example, if width is 11" and height is 8.5", while writing the document will have a height of 11" and a width of 8.5". Additionally, when 'landscape', a keyword is written to the RTF to indicate that the document is landscape. .
header_height - Height of the header where the titles and column headers are displayed. Defaults to .5 inches.
footer_height - Height of the footer where the footnotes are displayed. Defaults to .5 inches.
pagesize - Size of the page in inches. Defaults to 8.5(height) by 11(width). These defaults align with the default orientation of 'landscape'. When the orientation is switched to 'portrait', the height and width will switch while the RTF document is being generated, but the document attributes themselves will not change.
header_rows - Huxtable table only. Number of rows that are defined as the header that will be repeated across pages. Defaults to 1. Can be set to 0 to disable repeating column headers.
ignore_cell_padding - Huxtable table only. Flag to ignore cell padding padding that is added during RTF encoding. Minimizes the amount of space between rows. Defaults to FALSE.
column_header_buffer - This attribute adds rows to the top or bottom of the table column headers to pad it from the titles above or the table below. Defaults to 0 and 0.
# Adding lines during rtf_doc construction ht <- huxtable::huxtable( column1 = 1:5, column2 = letters[1:5] ) # Set table properties library(magrittr) #load in a pipe ht %>% huxtable::set_bold(1, 1:ncol(ht), TRUE) %>% huxtable::set_escape_contents(TRUE) %>% huxtable::set_col_width(c(0.25, 0.75))#> column1 column2 #> 1 a #> 2 b #> 3 c #> 4 d #> 5 e #> #> Column names: column1, column2rtf <- rtf_doc(ht, titles = list(hf_line("My Header"))) # Set document properties rtf <- rtf %>% set_font_size(15) %>% set_ignore_cell_padding(TRUE)#> Error: is_huxtable(x = ht) is not TRUEnames(rtf)#> [1] "table" "titles" "footnotes"


Returns an array of some length containing randomly
generated characters (representing colours),
from a string of colours and an integer representing
the amount of colours to generate.
Returns a string beginning with headers "Guess" and "Clues",
followed by 16 '*', and one column with all the user's guesses and
another column with all the clues.


--- layout: example categories: example/v1.0.0 version: v1.0.0 title: GeoJSON custom markers and style description: Using Mapbox markers and properties in GeoJSON tags: - vectors ---


1. Yogesh Kumar - Bharatanatyam Varnam, Disciple of Shri Sathyanarayana Raju
Description :
Varnam - Swami nanundan adimai, (Papanasham Shivam) Raga - Natakuranji Adi tala. Performed in music Academy Madras, for hcl concert. The famous varnam, penned down by the great vaggeyakara shri Papanasham Shivam.... "Swamiye nanundanadimi". Bhakti rasa is sthayi bhava here. The Bhakta prises lord Shiva in many ways. O' lord, every one knows that I am your dasa. The very purpose of my life is chanting your namamruta. I am eagerly waiting for your darshana. Here we witness the portrayal of the nandanar, to whom Shiva blessed with his darshana. Dance choreography, guru Smt. Narmada.
2. Yogesh Kumar - Bharatanatyam Jatiswaram
Description :
Jatiswaram, Raga - Rasika priya, Adi tala.
3. Yogesh Kumar - Bharatanatyam Devaranama
Description :
Devaranama - Hanumanta deva namo. Raga - Ragamalike Adi tala Hanumantha is always sought for his bhakti. This bhakti was his power to cross the vastness of the sea and reach Lanka, ravanasura's kingdom to find Seethamatha. And, once again, to save Seetha while she was try to hanging herself frustrated by ravana's crooked actions. Composed by shri purandara dasaru in purvikalyani and aditalam. Dance composition by Guru Bhanumathi.
4.'Varnam' - Devadi Deva
Description :
Varnam on lord Nataraja. Chidambaram is the adobe of Nataraja who is dancing there the Ananda tandava..... The Bhakta, devotee of lord, happily joins the parade moving towards Chidambaram. He gets astonished seeing the vastness of the temple and the pleasing vibrance present around. Feels the soothing breeze as he enters in. Oh! the whole atmosphere is filled with the devotees who are themselves engaged in offering different sevas to Swamy. Some are putting the rangoli, another group chanting the Shiva nama etc. Hearing the sounds of the drum he rushes outside to see the palanquin going round the temple placing the idol inside. Requests to allow to hold the palanquin for while and thus feels the honour to have served the God.
"Devadideva Nataraja" varnam of Shri Veene Shesha Iyer, in shnmukhapriya raga and aditala.


Among the many kinds of operations performed by GIS software products on spatial coordinates, affine transforms are both relatively simple and very common. Affine transforms can represent any combination of scales, shears, flips, rotations and translations, which are linear operations. Affine transforms can not handle non-linear operations like map projections, but the affine transform capabilities nevertheless cover many other cases:
.tfw
files associated to some TIFF images.Affine transforms can be concatenated efficiently. No matter how many affine transforms are chained, the result can be represented by a single affine transform. This property is more easily seen when affine transforms are represented by matrices: in order to concatenate those operations, we only need to multiply those matrices. The “pixel to geographic coordinate conversions” case below gives an example.
Example: given an image with pixel coordinates represented by (x,y) tuples and given the following assumptions:
Then conversions from pixel coordinates (x,y) to geographic coordinates (λ,φ) can be represented by the following equations, where Nx is the image width and Ny the image height in number of pixels:
Above equations can be represented in matrix form as below:
In this particular case, scale factors S are the pixel size in degrees and translation terms T are the geographic coordinate of an image corner (not necessarily the lower-left corner if some axes have been flipped). This straightforward interpretation holds because of above-cited assumptions, but matrix coefficients become more complex if the image has shear or rotation or if pixel coordinates do not start at (0,0). However it is not necessary to use more complex equations for supporting more generic cases. The following example starts with an “initial conversion” matrix where the S and T terms are set to the most straightforward values. Then the y axis direction is reversed for matching the most common convention in image coordinate systems (change 1), and axis are swapped resulting in latitude before longitude (change 2). Note that when affine transform concatenations are written as matrix multiplications, operations are ordered from right to left: A×B×C is equivalent to first applying operation C, then operation B and finally operation A.
A key principle is that there is no need to write Java code dedicated to above kinds of axis changes. Those operations, and many other, can be handled by matrix algebra. This approach makes easier to write generic code and improves performance. Apache SIS follows this principle by using affine transforms for every operations that can be performed by such transform. For instance there is no code dedicated to changing order of ordinate values in a coordinate.
About all graphical libraries support some kind of coordinate operations, usually as affine transforms or a slight generalization like perspective transforms. Each library defines its own API. Some examples are listed below:
| Library | Transform implementation | Dimensions |
|---|---|---|
| Java2D | java.awt.geom.AffineTransform | 2 |
| Java3D | javax.media.j3d.Transform3D | 3 |
| JavaFX | javafx.scene.transform.Affine | 2 or 3 |
| Java Advanced Imaging (JAI) | javax.media.jai.PerspectiveTransform | 2 |
| Android | android.graphics.Matrix | 2 |
However in many cases, affine or perspective transforms are the only kind of coordinate operations supported by the graphical library.
Apache SIS needs to handle a wider range of operations, in which affine transforms are only special cases.
In particular most map projections and datum shifts can not be represented by affine transforms.
SIS also needs to support arbitrary number of dimensions,
while above-cited API restrict the use to a fixed number of dimensions.
For those reasons SIS can not use directly the above-cited API.
Instead, SIS uses the more abstract org.opengis.referencing.transform.MathTransform
interface.
But in the special case where the transform is actually affine, SIS may try to use an existing implementation,
in particular Java2D. The following Java code can be used in situations where the Java2D object is desired:
MathTransform mt = ...; // Any math transform created by Apache SIS.
if (mt instanceof AffineTransform) {
AffineTransform at = (AffineTransform) mt;
// Use Java2D API from here.
}
Apache SIS uses Java2D on a best effort basis only.
The above cast is not guaranteed to succeed,
even when the MathTransform
meets the requirements allowing Java2D usage.


209. Areas
time limit per test: 4 sec.
memory limit per test: 65536
KB
input: standard
output: standard
Consider N different lines on the plane. They divide it to
several parts,some of which are finite, some infinite.
Your task in this
problem is for each finite part to find its area.
Input
The first line of the input file contains N — the number of
lines (1 ≤ N ≤ 80). Each of next N lines contains four integer numbers
x1, y1, x2 and y2 — the coordinates
of two different points of the line.
All coordinates do not exceed
102 by their absolute value.
No two lines coincide.
Output
First output K — the number of finite parts among those the
lines divide the plane to.
Next K lines of the output file must contain
area parts sorted in non-decreasing order. You answer must be accurate up to
10-4.
Due to floating point precision losses possible, do not
consider parts with area not exceeding 10-8.
Sample test(s)
Input
5
0 0 1 0
1 0 1 1
1 1 0 1
0 1 0 0
0 0 1 1
Output
2
0.5000
0.5000
| Author: |
Andrew Stankevich |
| Resource: |
Petrozavodsk Summer Trainings 2003 |
| Date: |
2003-08-30
|
| Server time: 2004-01-14 13:38:58 |
Online Contester Team © 2002 - 2003. All
rights
reserved. | | |


You can input your WiFi access code, in order to connect your device automatically. Consider to use a guest network to prevent exposing critical access codes to your network.
Note: If you what to reset the WiFi parameter, please press the first button during startup.
Connects LED stripes with synchronous serial protocol (e.g. APA102 or LC8822). Each LED can be assigned with a different color.
The power limitation of used terminal must not be exceeded
This is a Note
This is a Note
This is a Note
This is a Note


Confirmed West Ham team vs Spurs: Ogbonna returns and Roberto starts in goal
The teams are in at London Stadium as West Ham take on their bitter rivals and their new head coach Jose Mourinho
by Sam InkersoleManuel Pellegrini has made two changes to his starting lineup from the 3-0 defeat to Burnley as they take on Spurs in the lunchtime kick off at London Stadium.
The headline news is that Angelo Ogbonna is back at centre half for the first time in a month having dropped him for the draw with Sheffield United and he replaces Fabian Balbuena in the starting line up.
The other change comes in midfield as Andriy Yarmolenko starts at the expense of Pablo Fornals.
Pellegrini has stuck with under-fire goalkeeper Roberto in between the sticks and hasn't been tempted to replace him with Dabid Martin despite the Spaniard's gaffe at Burnley last time out.
Mark Noble is fit enough to start in midfield having recovered from a twisted ankle he suffered in the loss at Turf Moor and he lines up alongside Declan Rice as usual in the Hammers midfield.
Ryan Fredericks resumes his role at right back and Aaron Cresswell continues on the opposite flank with Felipe Anderson in front of him and Robert Snodgrass in the middle.
Sebastien Haller leads the line once again having scored just one goal since August.
Michail Antonio is not risked from the start despite coming through a behind-closed-doors game against the Hammers U23s last week though he is on the bench.
Jack Wilshere, as reported by football.london, is not in the squad thanks to a stomach problem. Arthur Masuaku is once again not in the matchday 18 either.
West Ham: Roberto; Fredericks, Diop, Ogbonna, Cresswell; Rice, Noble, Anderson, Snodgrass, Yarmolenko; Haller.


Please confirm your email address to proceed submitting the {{application_type}} application.
Enter this code or click the button below.


--- title: "LED Wall Washer Light, LED Projector, LWW-4-12P,LWW-4-24P, Linear Wall Washer, RGB, China LED Wall Washer Suppliers, IP20, DMX Lighting, Architectural lighting, High Power LED Wall Washer, LED Floodlight, Wall Washer Manufacturers, LED Wall Washer Wholes" description: "LWW-4-12P,LWW-4-24P, LED WALL WASHER LIGHT is mainly used for decoration and highlight in building frame, garden, restaurant, Architectural lighting and stage scene etc, by offering colorful and magic environment. It can work in independent mode and DMX mode, which can generate various color changing effects, such as flashing, fading, steady, seven colour jumping synchronously etc." keywords: - LED Wall Washer Light - LED Projector - "LWW-4-12P" - "LWW-4-24P" - Linear Wall Washer - RGB - China LED Wall Washer Suppliers - IP20 - DMX Lighting - Architectural lighting - High Power LED Wall Washer - LED Floodlight - Wall Washer Manufacturers - LED Wall Washer Wholes ---
|
LED WALL WASHER LIGHT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
LED WALL WASHER LIGHT is mainly used for decoration and highlight in building frame, garden, restaurant and architectural lighting etc, by offering colorful and magic environment. It can work in independent mode and DMX mode, which can generate various color changing effects, such as flashing, fading, steady, seven color jumping synchronously etc. DMX256 class gray degree dimmer, DMX programmable (thousands of effects available if many lights connected together). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
MODEL NO: LWW-4-360 LWW-4-720
A. Structure and Specification
B. Technical Parameters |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
C. Function
D. Control mode |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||


THE AREAS
the next festival site to be hosted at South Coast, Bournemouth
Check out the area map below
The Desktop
The main stage of the festival. First built in the fictional
year of
1950. Bit run down but still usable I guess. There is also a donation box on the
right
wing of the stage if you want to fund my giant belly of greed the
rebuilding
of the main stage.
The Browser
Ah yes the classic Browser. The second stage of No Love Festival that was ever built. Full of history, yes yes. Undesired ones as well. It was not until the 1960 that this stage was expanded with the new area called the Incognito. Now everyone just goes there, bit weird not gonna lie.
The Taskbar
Work work money money
Money money work work
Oh it's not
that kind of task? That's a relief I thought I just bought a ticket to do work.
What is this, Germany?
The Tab
There used to be 4 parts to the Tab stage, but now it has been closed down to 1 to make room for storage space. To build a new warehouse of course. This festival needs a lot of storage to operate you know.
The Folders
Camping site with a PARKING space next to it. Bit dirty but hey, it's a festival. There is also a shower in the northern parts of the Folders campsite. Beware of the squirrels.
The Menu
Ah yes the festival market. It's where you can spend your hard earned money on meaningless trinkets that you won't use again, ever.


TOY STORY 2 A Review by Jon Turner Posted 12/4/99
Rating: ***** out of *****
Review: `To infinity… and beyond!!' In 1995, Disney released a Pixar computer animated production, TOY STORY, a ***** film that went on to gross over $192 million domestically, and earn a special Academy Award for director John Lasseter. Three years later, Pixar released A BUG'S LIFE, which pushed the limits of computer animation even further, and it grossed over $140 million domestically. Now, just in time for TOY STORY's fourth anniversary (Happy anniversary!), Disney has released Pixar's latest production–TOY STORY 2!  This was a money making way since their first sequel, THE RESCUERS DOWN UNDER, did only modest business at the box office. Never before has Disney released another animated film sequel theatrically, until now. Speaking of which, this production was originally intended to be a direct-to-home-video production, but since the opening scenes turned out so spectacular, that they recreated a theatrical feature for the sequel.
Those opening scenes are one of the first things that might make you think, `Hmmmm…, this sequel is pretty good!' But they're more than `pretty good'. They are outrageously funny and exciting. In these scenes, one Buzz Lightyear, a space ranger in the Gamma Quadrant, fighting his way on the planet of his evil rival, Emperor Zurg, blasting enemies with his laser, dodging booby traps, and plucking out batteries (they are Zurg's power source). But then, he confronts the evil emperor himself (who, by the way, is a howlingly funny parody of Darth Vader), only to get blasted to smithereens (PS: It all turns out to be a video game).
Then, we find ourselves in Andy's room, where we meet all our familiar pals from the original TOY STORY: Slinky the loyal dog, the cantankerous Mr. Potato Head (softened up, this time around, by the presence of a Mrs. Potato Head –he got his wish from the first `story'–), the insecure Rex (no need to mention he's a dinosaur), love struck Bo Peep, and of course, the ever-lovable (and hilarious) pull-string cowboy doll, Woody.
After Andy accidentally rips Woody's arm, he is forced to leave him on the shelf while he heads away to summer, er, cowboy, camp. Woody befriends Wheezy, a tiny, lovable penguin with a broken squeaker, who gets chosen to be in a Yard Sale Andy's mom recently puts up. Woody assaults a rescue mission (with the aid of another lovable character, Andy's recently bought pet dog, Buster), and in doing so, accidentally falls into the clutches of one Al McWiggin. This greedy, fat guy (who is nicknamed Chicken Man) intends to sell Woody to a museum in Japan.
Why?

Sorry if that was so obvious.
Anyway, Buzz Lightyear rallies up Potato Head, Rex, Hamm, and Slinky, and they set off to rescue Woody from Al's Toy Barn.
Meanwhile, Woody meets up with three other valuable collectibles, Jessie, a cowgirl who has an attitude about human owners (her owner outgrew and ditched her in a donation box, we later on discover), a endearingly loyal horse, Bullseye, and the Prospector (aka Stinky Pete). These collectibles are actually characters of an early TV show WOODY'S ROUNDUP, which stars (you guessed it). They have been anticipating Woody, who will finally be able to help make them famous at the museum (or else they'll be put back into storage). And they want Woody to go, whether or not he likes it.
Should Woody take the next plane flight to Japan, and be admired (if not loved) by millions of children, or should he return home with his old friends and accept the fact that one day Andy might outgrow him?
If you think I'm going to give you the answer, you are absolutely, positively, 100% incorrect. You have to see the movie in order to find out. And I do mean, you HAVE to see it. There's a lot to catch your eye, including the as always dazzling 3-D computer animation from Pixar. Yet one cannot help but guess that the animation is also a step up from the recent A BUG'S LIFE. It is. TOY STORY and A BUG'S LIFE's animation seemed somewhat experimental in comparison to this. Everything is 100% realistically rendered (even though some of the humans look somewhat like action figures, but I'm not complaining), from Andy's playroom to Al's Toy Barn, to a climactic finale at an airport.
The scenes are very masterfully executed, with a lot of quick cuts and stunts here and there. It's so exciting, in fact, that it almost feels like you're on a roller coaster ride… and that makes TOY STORY 2 all the more entertaining. There's a lot of breathtaking, and suspenseful action scenes, when the toys run across the street disguised as cones dodging cars (and causing traffic accidents), driving cars–the goofy way (a toy one, and THEN a REAL one –No, I'm not kidding! They really do!–), running up an air vent system, climbing, battling, and almost falling, up an elevator shaft, through an airport conveyer belt (which looks more labyrinthe than it has to, but that makes it more exciting), and even jumping off airplanes. Whew! With a lot of action scenes like that, one can tell that director John Lasseter and his colleagues have been taking lessons from Japanese animation master Hayao Miyazaki (creator of ***** films such as KIKI'S DELIVERY SERVICE, MY NEIGHBOR TOTORO, CASTLE IN THE SKY, and even the recently released PRINCESS MONONOKE). Incidentally, they do. I read in an article that whenever Lasseter and his colleagues feel stumped, they pop in a laser disc of one of his films–and they get inspiration from it. (Miyazaki would be pleased to hear that. ^_^)
And the film, like TOY STORY and A BUG'S LIFE, is JAM-packed with humor.  In addition, there is an EXTREMELY funny STAR WARS parody at the beginning, and it seems to continue throughout the film, particularly when Buzz Lightyear (well, another Buzz who thinks he's real, that is) and Emperor Zurg have their duel in which Buzz discovers Zurg is (you guessed it) his father. Later on, we see them playing catch, as if they were really attached to each other. There's something funny and sweet about that. And the action scenes are also funny, particularly from the doings of the toys, and how they handle certain situations.
What's important about a sequel, however, are two things. First, it must be something original, not just a sorry remake of the film that preceded it. With Pixar, you can tell that these guys know what makes a good film. The story is not rehashed from the original, it's different and equally enjoyable. And even though there are a couple of references to the original (Buzz asking the toys `Did Woody give up when Sid had me strapped to a rocket?' `Did Woody give up when you guys [the toys] threw him out of that moving truck?', and later on him telling Woody `You… are… a… TOY!'), the overall level of the story completely avoids being a remake of the original.
Another thing that is important is a thing that is required with all films. They have to have heart. Pixar is definitely not afraid to have any of that in any of their films. The heart here is the message about how comforting toys can be to kids. When Jessie recalls the good old days with her former owner, Emily, and their fun activities together (playing, swinging, and rolling around in leaves), we are filled with feelings of what it's like to be a kid, and how nice it is to have toys to comfort you. When Emily starts to spend more time with her friends and less time with Jessie, we feel, just as she does, neglected, but we also are aware that this same thing happens in real life. Kids outgrow toys. And what is real love anyway? Being watched at from a glass bottle by millions of kids, or being with someone who really loves you? This is something to think about.
With the return of Tom Hanks, Tim Allen, and all the other actors who gave life to the characters in the original TOY STORY, one expects nothing less than enthusiasm and excellence. These expectations are more than completely fulfilled–they surpass them. The cast hams it up (no offense, Miss Piggy) as if they've never grown tired of their characters, as if they're, well, playing with toys. And the new additions to the cast (Joan Cusack as Jessie, Kelsley Grammer as Prospector, Andrew Stanton as Emperor Zurg) carry on the same tradition.
Pixar films have always had popular composer Randy Newman score their films, and Newman returns once again to deliver another excellent score. His scores for TOY STORY and A BUG'S LIFE were experimental since he hadn't, back then, done any music for any animated film, traditional cel, or computer rendered. The score for TOY STORY 2 is his crowning achievement in these kind of scores, with a lot of really exciting, funny, and altogether enjoyable passages. He also provides the songs for the film. TOY STORY 2, like Pixar's other films, are not musicals, even though they do have `songs'. Singing here on the soundtrack is not Newman himself at all (One of my only gripes about the film; what is wrong with Newman singing? I think he's a terrific singer, and my family thinks so, too.) but Sarah McLachlan, who helps a weakly composed but effectively written number, `When She Loved Me', Riders in the Sky, who contribute to an ingeniously created theme for WOODY'S ROUNDUP, and Robert Goulet, who contributes to a jazzed up arrangement of `You've Got A Friend In Me' (One of the finest songs Newman has ever written).
If there was anything that I could complain about the film (aside from Newman not singing), it probably would be the Prospector. I mentioned before that he's actually Stinky Pete, right? Not that I intend to give away any surprises, but later on, he turns out to be, well, a real Stinker. It seems somewhat curious that Pixar decided to turn who appears to be one of the nicest characters in the film into a baddie at the end. But then, how did the television set in Al's office come on when Woody attempted to retrieve his arm? Well, on the other hand, sometimes a real villain can be a person who acts as a friend, but turns out to be far from it in the end. Rather interesting….
Such criticisms, however, do not at all take away from my recommendation of TOY STORY 2. I recommend it very highly (as you can judge from my rating), since it is so much fun to watch from start to finish.
Footnote: There are a couple of inside references from A BUG'S LIFE in the form of action figures and familiar images. Be sure to keep an eye out for them.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The /backtests/create
API provides a response in the following format:
BacktestResponse Model - Packet container for carrying Backtest results. |
|
|---|---|
| name | string Name of the backtest. |
| note | string Note on the backtest attached by the user. |
| backtestId | string Assigned backtest Id. |
| completed | boolean Boolean true when the backtest is completed. |
| progress | number Progress of the backtest in percent 0-1. |
| result | BacktestResult object Results object class. Results are exhaust from backtest or live algorithms running in LEAN. |
| error | string Backtest error message. |
| stacktrace | string Backtest error stacktrace. |
| created | string($date-time) Backtest creation date and time. |
| success | boolean Indicate if the API request was successful. |
| errors | string Array List of errors with the API call. |
| Example |
{ "name": "string", "note": "string", "backtestId": "string", "completed": true, "progress": 0, "result": { "RollingWindow": { "TradeStatistics": { "StartDateTime": "2021-11-26T15:18:27.693Z", "EndDateTime": "2021-11-26T15:18:27.693Z", "TotalNumberOfTrades": 0, "NumberOfWinningTrades": 0, "NumberOfLosingTrades": 0, "TotalProfitLoss": 0, "TotalProfit": 0, "TotalLoss": 0, "LargestProfit": 0, "LargestLoss": 0, "AverageProfitLoss": 0, "AverageProfit": 0, "AverageLoss": 0, "AverageTradeDuration": "string", "AverageWinningTradeDuration": "string", "AverageLosingTradeDuration": "string", "MedianTradeDuration": "string", "MedianWinningTradeDuration": "string", "MedianLosingTradeDuration": "string", "MaxConsecutiveWinningTrades": 0, "MaxConsecutiveLosingTrades": 0, "ProfitLossRatio": 0, "WinLossRatio": 0, "WinRate": 0, "LossRate": 0, "AverageMAE": 0, "AverageMFE": 0, "LargestMAE": 0, "LargestMFE": 0, "MaximumClosedTradeDrawdown": 0, "MaximumIntraTradeDrawdown": 0, "ProfitLossStandardDeviation": 0, "ProfitLossDownsideDeviation": 0, "ProfitFactor": 0, "SharpeRatio": 0, "SortinoRatio": 0, "ProfitToMaxDrawdownRatio": 0, "MaximumEndTradeDrawdown": 0, "AverageEndTradeDrawdown": 0, "MaximumDrawdownDuration": "string", "TotalFees": 0 }, "PortfolioStatistics": { "RiskFreeRate": 0, "AverageWinRate": 0, "AverageLossRate": 0, "ProfitLossRatio": 0, "WinRate": 0, "LossRate": 0, "Expectancy": 0, "CompoundingAnnualReturn": 0, "Drawdown": 0, "TotalNetProfit": 0, "SharpeRatio": 0, "ProbabilisticSharpeRatio": 0, "Alpha": 0, "Beta": 0, "AnnualStandardDeviation": 0, "AnnualVariance": 0, "InformationRatio": 0, "TrackingError": 0, "TreynorRatio": 0 }, "ClosedTrades": [ { "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "EntryTime": "2021-11-26T15:18:27.693Z", "EntryPrice": 0, "Direction": "Long", "Quantity": 0, "ExitTime": "2021-11-26T15:18:27.693Z", "ExitPrice": 0, "ProfitLoss": 0, "TotalFees": 0, "MAE": 0, "MFE": 0, "Duration": "string", "EndTradeDrawdown": 0 } ] }, "TotalPerformance": { "TradeStatistics": { "StartDateTime": "2021-11-26T15:18:27.693Z", "EndDateTime": "2021-11-26T15:18:27.693Z", "TotalNumberOfTrades": 0, "NumberOfWinningTrades": 0, "NumberOfLosingTrades": 0, "TotalProfitLoss": 0, "TotalProfit": 0, "TotalLoss": 0, "LargestProfit": 0, "LargestLoss": 0, "AverageProfitLoss": 0, "AverageProfit": 0, "AverageLoss": 0, "AverageTradeDuration": "string", "AverageWinningTradeDuration": "string", "AverageLosingTradeDuration": "string", "MedianTradeDuration": "string", "MedianWinningTradeDuration": "string", "MedianLosingTradeDuration": "string", "MaxConsecutiveWinningTrades": 0, "MaxConsecutiveLosingTrades": 0, "ProfitLossRatio": 0, "WinLossRatio": 0, "WinRate": 0, "LossRate": 0, "AverageMAE": 0, "AverageMFE": 0, "LargestMAE": 0, "LargestMFE": 0, "MaximumClosedTradeDrawdown": 0, "MaximumIntraTradeDrawdown": 0, "ProfitLossStandardDeviation": 0, "ProfitLossDownsideDeviation": 0, "ProfitFactor": 0, "SharpeRatio": 0, "SortinoRatio": 0, "ProfitToMaxDrawdownRatio": 0, "MaximumEndTradeDrawdown": 0, "AverageEndTradeDrawdown": 0, "MaximumDrawdownDuration": "string", "TotalFees": 0 }, "PortfolioStatistics": { "RiskFreeRate": 0, "AverageWinRate": 0, "AverageLossRate": 0, "ProfitLossRatio": 0, "WinRate": 0, "LossRate": 0, "Expectancy": 0, "CompoundingAnnualReturn": 0, "Drawdown": 0, "TotalNetProfit": 0, "SharpeRatio": 0, "ProbabilisticSharpeRatio": 0, "Alpha": 0, "Beta": 0, "AnnualStandardDeviation": 0, "AnnualVariance": 0, "InformationRatio": 0, "TrackingError": 0, "TreynorRatio": 0 }, "ClosedTrades": [ { "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "EntryTime": "2021-11-26T15:18:27.693Z", "EntryPrice": 0, "Direction": "Long", "Quantity": 0, "ExitTime": "2021-11-26T15:18:27.693Z", "ExitPrice": 0, "ProfitLoss": 0, "TotalFees": 0, "MAE": 0, "MFE": 0, "Duration": "string", "EndTradeDrawdown": 0 } ] }, "AlphaRuntimeStatistics": { "MeanPopulationScore": { "UpdatedTimeUtc": "2021-11-26T15:18:27.693Z", "Direction": 0, "Magnitude": 0, "IsFinalScore": true }, "RollingAveragedPopulationScore": { "UpdatedTimeUtc": "2021-11-26T15:18:27.693Z", "Direction": 0, "Magnitude": 0, "IsFinalScore": true }, "LongCount": "string", "ShortCount": "string", "LongShortRatio": 0, "TotalAccumulatedEstimatedAlphaValue": 0, "KellyCriterionEstimate": 0, "KellyCriterionProbabilityValue": 0, "FitnessScore": 0, "PortfolioTurnover": 0, "ReturnOverMaxDrawdown": 0, "SortinoRatio": 0, "EstimatedMonthlyAlphaValue": 0, "TotalInsightsGenerated": "string", "TotalInsightsClosed": "string", "TotalInsightsAnalysisCompleted": "string", "MeanPopulationEstimatedInsightValue": 0 }, "Charts": { "Name": "string", "ChartType": "Overlay", "Series": { "Name": "string", "Unit": "string", "Index": 0, "Values": [ { "x": "string", "y": 0 } ], "SeriesType": "Line", "Color": "string", "ScatterMarkerSymbol": "none" } }, "Orders": { "Id": 0, "ContingentId": 0, "BrokerId": [ "string" ], "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "Price": 0, "PriceCurrency": "string", "Time": "2021-11-26T15:18:27.693Z", "CreatedTime": "2021-11-26T15:18:27.693Z", "LastFillTime": "2021-11-26T15:18:27.693Z", "LastUpdateTime": "2021-11-26T15:18:27.693Z", "CanceledTime": "2021-11-26T15:18:27.693Z", "Quantity": 0, "Type": "Market", "Status": "New", "Tag": "string", "SecurityType": "Base", "Direction": "Buy", "Value": 0, "OrderSubmissionData": { "BidPrice": 0, "AskPrice": 0, "LastPrice": 0 }, "IsMarketable": true }, "OrderEvents": [ { "OrderId": 0, "Id": 0, "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "UtcTime": "2021-11-26T15:18:27.693Z", "Status": { "OrderId": 0, "Id": 0, "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "UtcTime": "2021-11-26T15:18:27.693Z", "Status": "New", "FillPrice": 0, "FillPriceCurrency": "string", "FillQuantity": 0, "Direction": "Buy", "Message": "string", "IsAssignment": true, "StopPrice": 0, "LimitPrice": 0, "Quantity": 0 }, "OrderFee": { "Value": { "Amount": 0, "Currency": "string" } }, "FillPrice": 0, "FillPriceCurrency": "string", "FillQuantity": 0, "Direction": "Buy", "Message": "string", "IsAssignment": true, "StopPrice": 0, "LimitPrice": 0, "Quantity": 0 } ], "ProfitLoss": "number", "Statistics": "string", "RuntimeStatistics": "string", "ServerStatistics": "string" }, "error": "string", "stacktrace": "string", "created": "2021-11-26T15:18:27.693Z", "success": true, "errors": [ "string" ] } |
BacktestResult Model - Results object class. Results are exhaust from backtest or live algorithms running in LEAN. |
|
|---|---|
| RollingWindow | AlgorithmPerformance object Rolling window detailed statistics. |
| TotalPerformance | AlgorithmPerformance object The AlgorithmPerformance class is a wrapper for TradeStatistics and PortfolioStatistics. |
| AlphaRuntimeStatistics | AlphaRuntimeStatistics object Contains insight population run time statistics. |
| Charts | Chart object Charts updates for the live algorithm since the last result packet. |
| Orders | Order object Order updates since the last result packet. |
| OrderEvents | OrderEvent Array OrderEvent updates since the last result packet. |
| ProfitLoss | number object Trade profit and loss information since the last algorithm result packet. |
| Statistics | string object Statistics information sent during the algorithm operations. |
| RuntimeStatistics | string object Runtime banner/updating statistics in the title banner of the live algorithm GUI. |
| ServerStatistics | string object Server status information, including CPU and RAM usage. |
| Example |
{ "RollingWindow": { "TradeStatistics": { "StartDateTime": "2021-11-26T15:18:27.693Z", "EndDateTime": "2021-11-26T15:18:27.693Z", "TotalNumberOfTrades": 0, "NumberOfWinningTrades": 0, "NumberOfLosingTrades": 0, "TotalProfitLoss": 0, "TotalProfit": 0, "TotalLoss": 0, "LargestProfit": 0, "LargestLoss": 0, "AverageProfitLoss": 0, "AverageProfit": 0, "AverageLoss": 0, "AverageTradeDuration": "string", "AverageWinningTradeDuration": "string", "AverageLosingTradeDuration": "string", "MedianTradeDuration": "string", "MedianWinningTradeDuration": "string", "MedianLosingTradeDuration": "string", "MaxConsecutiveWinningTrades": 0, "MaxConsecutiveLosingTrades": 0, "ProfitLossRatio": 0, "WinLossRatio": 0, "WinRate": 0, "LossRate": 0, "AverageMAE": 0, "AverageMFE": 0, "LargestMAE": 0, "LargestMFE": 0, "MaximumClosedTradeDrawdown": 0, "MaximumIntraTradeDrawdown": 0, "ProfitLossStandardDeviation": 0, "ProfitLossDownsideDeviation": 0, "ProfitFactor": 0, "SharpeRatio": 0, "SortinoRatio": 0, "ProfitToMaxDrawdownRatio": 0, "MaximumEndTradeDrawdown": 0, "AverageEndTradeDrawdown": 0, "MaximumDrawdownDuration": "string", "TotalFees": 0 }, "PortfolioStatistics": { "RiskFreeRate": 0, "AverageWinRate": 0, "AverageLossRate": 0, "ProfitLossRatio": 0, "WinRate": 0, "LossRate": 0, "Expectancy": 0, "CompoundingAnnualReturn": 0, "Drawdown": 0, "TotalNetProfit": 0, "SharpeRatio": 0, "ProbabilisticSharpeRatio": 0, "Alpha": 0, "Beta": 0, "AnnualStandardDeviation": 0, "AnnualVariance": 0, "InformationRatio": 0, "TrackingError": 0, "TreynorRatio": 0 }, "ClosedTrades": [ { "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "EntryTime": "2021-11-26T15:18:27.693Z", "EntryPrice": 0, "Direction": "Long", "Quantity": 0, "ExitTime": "2021-11-26T15:18:27.693Z", "ExitPrice": 0, "ProfitLoss": 0, "TotalFees": 0, "MAE": 0, "MFE": 0, "Duration": "string", "EndTradeDrawdown": 0 } ] }, "TotalPerformance": { "TradeStatistics": { "StartDateTime": "2021-11-26T15:18:27.693Z", "EndDateTime": "2021-11-26T15:18:27.693Z", "TotalNumberOfTrades": 0, "NumberOfWinningTrades": 0, "NumberOfLosingTrades": 0, "TotalProfitLoss": 0, "TotalProfit": 0, "TotalLoss": 0, "LargestProfit": 0, "LargestLoss": 0, "AverageProfitLoss": 0, "AverageProfit": 0, "AverageLoss": 0, "AverageTradeDuration": "string", "AverageWinningTradeDuration": "string", "AverageLosingTradeDuration": "string", "MedianTradeDuration": "string", "MedianWinningTradeDuration": "string", "MedianLosingTradeDuration": "string", "MaxConsecutiveWinningTrades": 0, "MaxConsecutiveLosingTrades": 0, "ProfitLossRatio": 0, "WinLossRatio": 0, "WinRate": 0, "LossRate": 0, "AverageMAE": 0, "AverageMFE": 0, "LargestMAE": 0, "LargestMFE": 0, "MaximumClosedTradeDrawdown": 0, "MaximumIntraTradeDrawdown": 0, "ProfitLossStandardDeviation": 0, "ProfitLossDownsideDeviation": 0, "ProfitFactor": 0, "SharpeRatio": 0, "SortinoRatio": 0, "ProfitToMaxDrawdownRatio": 0, "MaximumEndTradeDrawdown": 0, "AverageEndTradeDrawdown": 0, "MaximumDrawdownDuration": "string", "TotalFees": 0 }, "PortfolioStatistics": { "RiskFreeRate": 0, "AverageWinRate": 0, "AverageLossRate": 0, "ProfitLossRatio": 0, "WinRate": 0, "LossRate": 0, "Expectancy": 0, "CompoundingAnnualReturn": 0, "Drawdown": 0, "TotalNetProfit": 0, "SharpeRatio": 0, "ProbabilisticSharpeRatio": 0, "Alpha": 0, "Beta": 0, "AnnualStandardDeviation": 0, "AnnualVariance": 0, "InformationRatio": 0, "TrackingError": 0, "TreynorRatio": 0 }, "ClosedTrades": [ { "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "EntryTime": "2021-11-26T15:18:27.693Z", "EntryPrice": 0, "Direction": "Long", "Quantity": 0, "ExitTime": "2021-11-26T15:18:27.693Z", "ExitPrice": 0, "ProfitLoss": 0, "TotalFees": 0, "MAE": 0, "MFE": 0, "Duration": "string", "EndTradeDrawdown": 0 } ] }, "AlphaRuntimeStatistics": { "MeanPopulationScore": { "UpdatedTimeUtc": "2021-11-26T15:18:27.693Z", "Direction": 0, "Magnitude": 0, "IsFinalScore": true }, "RollingAveragedPopulationScore": { "UpdatedTimeUtc": "2021-11-26T15:18:27.693Z", "Direction": 0, "Magnitude": 0, "IsFinalScore": true }, "LongCount": "string", "ShortCount": "string", "LongShortRatio": 0, "TotalAccumulatedEstimatedAlphaValue": 0, "KellyCriterionEstimate": 0, "KellyCriterionProbabilityValue": 0, "FitnessScore": 0, "PortfolioTurnover": 0, "ReturnOverMaxDrawdown": 0, "SortinoRatio": 0, "EstimatedMonthlyAlphaValue": 0, "TotalInsightsGenerated": "string", "TotalInsightsClosed": "string", "TotalInsightsAnalysisCompleted": "string", "MeanPopulationEstimatedInsightValue": 0 }, "Charts": { "Name": "string", "ChartType": "Overlay", "Series": { "Name": "string", "Unit": "string", "Index": 0, "Values": [ { "x": "string", "y": 0 } ], "SeriesType": "Line", "Color": "string", "ScatterMarkerSymbol": "none" } }, "Orders": { "Id": 0, "ContingentId": 0, "BrokerId": [ "string" ], "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "Price": 0, "PriceCurrency": "string", "Time": "2021-11-26T15:18:27.693Z", "CreatedTime": "2021-11-26T15:18:27.693Z", "LastFillTime": "2021-11-26T15:18:27.693Z", "LastUpdateTime": "2021-11-26T15:18:27.693Z", "CanceledTime": "2021-11-26T15:18:27.693Z", "Quantity": 0, "Type": "Market", "Status": "New", "Tag": "string", "SecurityType": "Base", "Direction": "Buy", "Value": 0, "OrderSubmissionData": { "BidPrice": 0, "AskPrice": 0, "LastPrice": 0 }, "IsMarketable": true }, "OrderEvents": [ { "OrderId": 0, "Id": 0, "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "UtcTime": "2021-11-26T15:18:27.693Z", "Status": { "OrderId": 0, "Id": 0, "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "UtcTime": "2021-11-26T15:18:27.693Z", "Status": "New", "FillPrice": 0, "FillPriceCurrency": "string", "FillQuantity": 0, "Direction": "Buy", "Message": "string", "IsAssignment": true, "StopPrice": 0, "LimitPrice": 0, "Quantity": 0 }, "OrderFee": { "Value": { "Amount": 0, "Currency": "string" } }, "FillPrice": 0, "FillPriceCurrency": "string", "FillQuantity": 0, "Direction": "Buy", "Message": "string", "IsAssignment": true, "StopPrice": 0, "LimitPrice": 0, "Quantity": 0 } ], "ProfitLoss": "number", "Statistics": "string", "RuntimeStatistics": "string", "ServerStatistics": "string" } |
AlgorithmPerformance Model - The AlgorithmPerformance class is a wrapper for TradeStatistics and PortfolioStatistics. |
|
|---|---|
| TradeStatistics | TradeStatistics object A set of statistics calculated from a list of closed trades. |
| PortfolioStatistics | PortfolioStatistics object Represents a set of statistics calculated from equity and benchmark samples. |
| ClosedTrades | Trade Array The algorithm statistics on portfolio. |
| Example |
{ "TradeStatistics": { "StartDateTime": "2021-11-26T15:18:27.693Z", "EndDateTime": "2021-11-26T15:18:27.693Z", "TotalNumberOfTrades": 0, "NumberOfWinningTrades": 0, "NumberOfLosingTrades": 0, "TotalProfitLoss": 0, "TotalProfit": 0, "TotalLoss": 0, "LargestProfit": 0, "LargestLoss": 0, "AverageProfitLoss": 0, "AverageProfit": 0, "AverageLoss": 0, "AverageTradeDuration": "string", "AverageWinningTradeDuration": "string", "AverageLosingTradeDuration": "string", "MedianTradeDuration": "string", "MedianWinningTradeDuration": "string", "MedianLosingTradeDuration": "string", "MaxConsecutiveWinningTrades": 0, "MaxConsecutiveLosingTrades": 0, "ProfitLossRatio": 0, "WinLossRatio": 0, "WinRate": 0, "LossRate": 0, "AverageMAE": 0, "AverageMFE": 0, "LargestMAE": 0, "LargestMFE": 0, "MaximumClosedTradeDrawdown": 0, "MaximumIntraTradeDrawdown": 0, "ProfitLossStandardDeviation": 0, "ProfitLossDownsideDeviation": 0, "ProfitFactor": 0, "SharpeRatio": 0, "SortinoRatio": 0, "ProfitToMaxDrawdownRatio": 0, "MaximumEndTradeDrawdown": 0, "AverageEndTradeDrawdown": 0, "MaximumDrawdownDuration": "string", "TotalFees": 0 }, "PortfolioStatistics": { "RiskFreeRate": 0, "AverageWinRate": 0, "AverageLossRate": 0, "ProfitLossRatio": 0, "WinRate": 0, "LossRate": 0, "Expectancy": 0, "CompoundingAnnualReturn": 0, "Drawdown": 0, "TotalNetProfit": 0, "SharpeRatio": 0, "ProbabilisticSharpeRatio": 0, "Alpha": 0, "Beta": 0, "AnnualStandardDeviation": 0, "AnnualVariance": 0, "InformationRatio": 0, "TrackingError": 0, "TreynorRatio": 0 }, "ClosedTrades": [ { "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "EntryTime": "2021-11-26T15:18:27.693Z", "EntryPrice": 0, "Direction": "Long", "Quantity": 0, "ExitTime": "2021-11-26T15:18:27.693Z", "ExitPrice": 0, "ProfitLoss": 0, "TotalFees": 0, "MAE": 0, "MFE": 0, "Duration": "string", "EndTradeDrawdown": 0 } ] } |
TradeStatistics Model - A set of statistics calculated from a list of closed trades. |
|
|---|---|
| StartDateTime | string($date-time) The entry date/time of the first trade. |
| EndDateTime | string($date-time) The exit date/time of the first trade. |
| TotalNumberOfTrades | integer The total number of trades. |
| NumberOfWinningTrades | integer The total number of winning trades. |
| NumberOfLosingTrades | integer The total number of losing trades. |
| TotalProfitLoss | number The total profit/loss for all trades (as symbol currency). |
| TotalProfit | number The total profit for all winning trades (as symbol currency). |
| TotalLoss | number The total loss for all losing trades (as symbol currency). |
| LargestProfit | number The largest profit in a single trade (as symbol currency). |
| LargestLoss | number The largest loss in a single trade (as symbol currency). |
| AverageProfitLoss | number The average profit/loss (a.k.a. Expectancy or Average Trade) for all trades (as symbol currency). |
| AverageProfit | number The average profit for all winning trades (as symbol currency). |
| AverageLoss | number The average loss for all winning trades (as symbol currency). |
| AverageTradeDuration | string The average duration for all trades. |
| AverageWinningTradeDuration | string The average duration for all winning trades. |
| AverageLosingTradeDuration | string The average duration for all losing trades. |
| MedianTradeDuration | string The median duration for all trades. |
| MedianWinningTradeDuration | string The median duration for all winning trades. |
| MedianLosingTradeDuration | string The median duration for all losing trades. |
| MaxConsecutiveWinningTrades | integer The maximum number of consecutive winning trades. |
| MaxConsecutiveLosingTrades | integer The maximum number of consecutive losing trades. |
| ProfitLossRatio | number The ratio of the average profit per trade to the average loss per trade. |
| WinLossRatio | number The ratio of the number of winning trades to the number of losing trades. |
| WinRate | number The ratio of the number of winning trades to the total number of trades. |
| LossRate | number The ratio of the number of losing trades to the total number of trades. |
| AverageMAE | number The average Maximum Adverse Excursion for all trades. |
| AverageMFE | number The average Maximum Adverse Excursion for all trades. |
| LargestMAE | number The average Maximum Favorable Excursion for all trades. |
| LargestMFE | number The largest Maximum Adverse Excursion in a single trade (as symbol currency). |
| MaximumClosedTradeDrawdown | number The maximum closed-trade drawdown for all trades (as symbol currency). |
| MaximumIntraTradeDrawdown | number The maximum intra-trade drawdown for all trades (as symbol currency). |
| ProfitLossStandardDeviation | number The standard deviation of the profits/losses for all trades (as symbol currency). |
| ProfitLossDownsideDeviation | number The downside deviation of the profits/losses for all trades (as symbol currency). |
| ProfitFactor | number The ratio of the total profit to the total loss. |
| SharpeRatio | number The ratio of the average profit/loss to the standard deviation. |
| SortinoRatio | number The ratio of the average profit/loss to the downside deviation. |
| ProfitToMaxDrawdownRatio | number The ratio of the total profit/loss to the maximum closed trade drawdown. |
| MaximumEndTradeDrawdown | number The maximum amount of profit given back by a single trade before exit (as symbol currency). |
| AverageEndTradeDrawdown | number The average amount of profit given back by all trades before exit (as symbol currency). |
| MaximumDrawdownDuration | string The maximum amount of time to recover from a drawdown (longest time between new equity highs or peaks). |
| TotalFees | number The sum of fees for all trades. |
| Example |
{ "StartDateTime": "2021-11-26T15:18:27.693Z", "EndDateTime": "2021-11-26T15:18:27.693Z", "TotalNumberOfTrades": 0, "NumberOfWinningTrades": 0, "NumberOfLosingTrades": 0, "TotalProfitLoss": 0, "TotalProfit": 0, "TotalLoss": 0, "LargestProfit": 0, "LargestLoss": 0, "AverageProfitLoss": 0, "AverageProfit": 0, "AverageLoss": 0, "AverageTradeDuration": "string", "AverageWinningTradeDuration": "string", "AverageLosingTradeDuration": "string", "MedianTradeDuration": "string", "MedianWinningTradeDuration": "string", "MedianLosingTradeDuration": "string", "MaxConsecutiveWinningTrades": 0, "MaxConsecutiveLosingTrades": 0, "ProfitLossRatio": 0, "WinLossRatio": 0, "WinRate": 0, "LossRate": 0, "AverageMAE": 0, "AverageMFE": 0, "LargestMAE": 0, "LargestMFE": 0, "MaximumClosedTradeDrawdown": 0, "MaximumIntraTradeDrawdown": 0, "ProfitLossStandardDeviation": 0, "ProfitLossDownsideDeviation": 0, "ProfitFactor": 0, "SharpeRatio": 0, "SortinoRatio": 0, "ProfitToMaxDrawdownRatio": 0, "MaximumEndTradeDrawdown": 0, "AverageEndTradeDrawdown": 0, "MaximumDrawdownDuration": "string", "TotalFees": 0 } |
PortfolioStatistics Model - Represents a set of statistics calculated from equity and benchmark samples. |
|
|---|---|
| RiskFreeRate | number The current defined risk free annual return rate. |
| AverageWinRate | number The average rate of return for winning trades. |
| AverageLossRate | number The average rate of return for losing trades. |
| ProfitLossRatio | number The ratio of the average win rate to the average loss rate. |
| WinRate | number The ratio of the number of winning trades to the total number of trades. |
| LossRate | number The ratio of the number of losing trades to the total number of trades. |
| Expectancy | number The expected value of the rate of return. |
| CompoundingAnnualReturn | number Annual compounded returns statistic based on the final-starting capital and years. |
| Drawdown | number Drawdown maximum percentage. |
| TotalNetProfit | number The total net profit percentage. |
| SharpeRatio | number Sharpe ratio with respect to risk free rate: measures excess of return per unit of risk. |
| ProbabilisticSharpeRatio | number Probabilistic Sharpe Ratio is a probability measure associated with the Sharpe ratio. It informs us of the probability that the estimated Sharpe ratio is greater than a chosen benchmark. |
| Alpha | number Algorithm "Alpha" statistic - abnormal returns over the risk free rate and the relationshio (beta) with the benchmark returns. |
| Beta | number Algorithm beta statistic - the covariance between the algorithm and benchmark performance, divided by benchmark variance. |
| AnnualStandardDeviation | number Annualized standard deviation. |
| AnnualVariance | number Annualized variance statistic calculation using the daily performance variance and trading days per year. |
| InformationRatio | number Information ratio - risk adjusted return. |
| TrackingError | number Tracking error volatility (TEV) statistic - a measure of how closely a portfolio follows the index to which it is benchmarked. |
| TreynorRatio | number Treynor ratio statistic is a measurement of the returns earned in excess of that which could have been earned on an investment that has no diversifiable risk. |
| Example |
{ "RiskFreeRate": 0, "AverageWinRate": 0, "AverageLossRate": 0, "ProfitLossRatio": 0, "WinRate": 0, "LossRate": 0, "Expectancy": 0, "CompoundingAnnualReturn": 0, "Drawdown": 0, "TotalNetProfit": 0, "SharpeRatio": 0, "ProbabilisticSharpeRatio": 0, "Alpha": 0, "Beta": 0, "AnnualStandardDeviation": 0, "AnnualVariance": 0, "InformationRatio": 0, "TrackingError": 0, "TreynorRatio": 0 } |
Trade Model - Represents a closed trade. |
|
|---|---|
| Symbol | Symbol object Represents a unique security identifier. This is made of two components, the unique SID and the Value. The value is the current ticker symbol while the SID is constant over the life of a security. |
| EntryTime | string($date-time) The date and time the trade was opened. |
| EntryPrice | number The price at which the trade was opened (or the average price if multiple entries). |
| Direction | string Enum Direction of a trade. Options : ['Long', 'Short'] |
| Quantity | number The total unsigned quantity of the trade. |
| ExitTime | string($date-time) The date and time the trade was closed. |
| ExitPrice | number The price at which the trade was closed (or the average price if multiple exits). |
| ProfitLoss | number The gross profit/loss of the trade (as account currency). |
| TotalFees | number The total fees associated with the trade (always positive value) (as account currency). |
| MAE | number The Maximum Adverse Excursion (as account currency). |
| MFE | number The Maximum Favorable Excursion (as account currency). |
| Duration | string The duration of the trade. |
| EndTradeDrawdown | number The amount of profit given back before the trade was closed. |
| Example |
{ "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "EntryTime": "2021-11-26T15:18:27.693Z", "EntryPrice": 0, "Direction": "Long", "Quantity": 0, "ExitTime": "2021-11-26T15:18:27.693Z", "ExitPrice": 0, "ProfitLoss": 0, "TotalFees": 0, "MAE": 0, "MFE": 0, "Duration": "string", "EndTradeDrawdown": 0 } |
Symbol Model - Represents a unique security identifier. This is made of two components, the unique SID and the Value. The value is the current ticker symbol while the SID is constant over the life of a security. |
|
|---|---|
| Value | string The current symbol for this ticker. |
| ID | string The security identifier for this symbol. |
| Permtick | string The current symbol for this ticker. |
| Example |
{ "Value": "string", "ID": "string", "Permtick": "string" } |
TradeDirection Model - Direction of a trade. |
|
|---|---|
| TradeDirection | string Enum Direction of a trade. Options : ['Long', 'Short'] |
| Example |
{ "TradeDirection": "Long" } |
AlphaRuntimeStatistics Model - Contains insight population run time statistics. |
|
|---|---|
| MeanPopulationScore | InsightScore object Defines the scores given to a particular insight. |
| RollingAveragedPopulationScore | InsightScore object Defines the scores given to a particular insight. |
| LongCount | string Gets the total number of insights with an up direction. |
| ShortCount | string Gets the total number of insights with a down direction. |
| LongShortRatio | number The ratio of InsightDirection.Up over InsightDirection.Down. |
| TotalAccumulatedEstimatedAlphaValue | number The total accumulated estimated value of trading all insights. |
| KellyCriterionEstimate | number Score of the strategy's insights predictive power. |
| KellyCriterionProbabilityValue | number The p-value or probability value of the KellyCriterionEstimate. |
| FitnessScore | number Score of the strategy's performance, and suitability for the Alpha Stream Market. |
| PortfolioTurnover | number Measurement of the strategies trading activity with respect to the portfolio value. Calculated as the sales volume with respect to the average total portfolio value. |
| ReturnOverMaxDrawdown | number Provides a risk adjusted way to factor in the returns and drawdown of the strategy. It is calculated by dividing the Portfolio Annualized Return by the Maximum Drawdown seen during the backtest. |
| SortinoRatio | number Gives a relative picture of the strategy volatility. It is calculated by taking a portfolio's annualized rate of return and subtracting the risk free rate of return. |
| EstimatedMonthlyAlphaValue | number Suggested Value of the Alpha On A Monthly Basis For Licensing. |
| TotalInsightsGenerated | string The total number of insight signals generated by the algorithm. |
| TotalInsightsClosed | string The total number of insight signals generated by the algorithm. |
| TotalInsightsAnalysisCompleted | string The total number of insight signals generated by the algorithm. |
| MeanPopulationEstimatedInsightValue | number Gets the mean estimated insight value. |
| Example |
{ "MeanPopulationScore": { "UpdatedTimeUtc": "2021-11-26T15:18:27.693Z", "Direction": 0, "Magnitude": 0, "IsFinalScore": true }, "RollingAveragedPopulationScore": { "UpdatedTimeUtc": "2021-11-26T15:18:27.693Z", "Direction": 0, "Magnitude": 0, "IsFinalScore": true }, "LongCount": "string", "ShortCount": "string", "LongShortRatio": 0, "TotalAccumulatedEstimatedAlphaValue": 0, "KellyCriterionEstimate": 0, "KellyCriterionProbabilityValue": 0, "FitnessScore": 0, "PortfolioTurnover": 0, "ReturnOverMaxDrawdown": 0, "SortinoRatio": 0, "EstimatedMonthlyAlphaValue": 0, "TotalInsightsGenerated": "string", "TotalInsightsClosed": "string", "TotalInsightsAnalysisCompleted": "string", "MeanPopulationEstimatedInsightValue": 0 } |
InsightScore Model - Defines the scores given to a particular insight |
|
|---|---|
| UpdatedTimeUtc | string($date-time) The time these scores were last updated. |
| Direction | number The direction score. |
| Magnitude | number The magnitude score. |
| IsFinalScore | boolean Is the insight past its expiry time and score can be finalized. |
| Example |
{ "UpdatedTimeUtc": "2021-11-26T15:18:27.693Z", "Direction": 0, "Magnitude": 0, "IsFinalScore": true } |
Chart Model - Single Parent Chart Object for Custom Charting. |
|
|---|---|
| Name | string Name of the Chart. |
| ChartType | string Enum Type of the Chart, Overlayed or Stacked. Options : ['Overlay', 'Stacked'] |
| Series | Series object List of Series Objects for this Chart. |
| Example |
{ "Name": "string", "ChartType": "Overlay", "Series": { "Name": "string", "Unit": "string", "Index": 0, "Values": [ { "x": "string", "y": 0 } ], "SeriesType": "Line", "Color": "string", "ScatterMarkerSymbol": "none" } } |
Series Model - Chart Series Object - Series data and properties for a chart. |
|
|---|---|
| Name | string Name of the series. |
| Unit | string Axis for the chart series. |
| Index | integer Index/position of the series on the chart. |
| Values | ChartPoint Array Values for the series plot. These values are assumed to be in ascending time order (first points earliest, last points latest). |
| SeriesType | string Enum Chart type for the series. Options : ['Line', 'Scatter', 'Candle', 'Bar', 'Flag', 'StackedArea', 'Pie', 'Treemap'] |
| Color | string Color the series. |
| ScatterMarkerSymbol | string Enum Shape or symbol for the marker in a scatter plot. Options : ['none', 'circle', 'square', 'diamond', 'triangle', 'triangle-down'] |
| Example |
{ "Name": "string", "Unit": "string", "Index": 0, "Values": [ { "x": "string", "y": 0 } ], "SeriesType": "Line", "Color": "string", "ScatterMarkerSymbol": "none" } |
ChartPoint Model - Location on a chart containing the X-Y location |
|
|---|---|
| x | string Time of this chart point: lower case for javascript encoding simplicty. |
| y | number Value of this chart point: lower case for javascript encoding simplicty. |
| Example |
{ "x": "string", "y": 0 } |
Order Model - Order struct for placing new trade. |
|
|---|---|
| Id | integer Order ID. |
| ContingentId | integer Order Id to process before processing this order. |
| BrokerId | string Array Brokerage Id for this order for when the brokerage splits orders into multiple pieces. |
| Symbol | Symbol object Represents a unique security identifier. This is made of two components, the unique SID and the Value. The value is the current ticker symbol while the SID is constant over the life of a security. |
| Price | number Price of the Order. |
| PriceCurrency | string Currency for the order price. |
| Time | string($date-time) Gets the utc time the order was created. |
| CreatedTime | string($date-time) Gets the utc time this order was created. Alias for Time. |
| LastFillTime | string($date-time) Gets the utc time the last fill was received, or null if no fills have been received. |
| LastUpdateTime | string($date-time) Gets the utc time this order was last updated, or null if the order has not been updated. |
| CanceledTime | string($date-time) Gets the utc time this order was canceled, or null if the order was not canceled. |
| Quantity | number Number of shares to execute. |
| Type | string Enum Order type. Options : ['Market', 'Limit', 'StopMarket', 'StopLimit', 'MarketOnOpen', 'MarketOnClose', 'OptionExercise'] |
| Status | string Enum Status of the Order. Options : ['New', 'Submitted', 'PartiallyFilled', 'Filled', 'Canceled', 'None', 'Invalid', 'CancelPending', 'UpdateSubmitted'] |
| Tag | string Tag the order with some custom data. |
| SecurityType | string Enum Type of tradable security / underlying asset. Options : ['Base', 'Equity', 'Option', 'Commodity', 'Forex', 'Future', 'Cfd', 'Crypto'] |
| Direction | string Enum Direction of the order. Options : ['Buy', 'Sell', 'Hold'] |
| Value | number Gets the executed value of this order. If the order has not yet filled, then this will return zero. |
| OrderSubmissionData | OrderSubmissionData object Stores time and price information available at the time an order was submitted. |
| IsMarketable | boolean Returns true if the order is a marketable order. |
| Example |
{ "Id": 0, "ContingentId": 0, "BrokerId": [ "string" ], "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "Price": 0, "PriceCurrency": "string", "Time": "2021-11-26T15:18:27.693Z", "CreatedTime": "2021-11-26T15:18:27.693Z", "LastFillTime": "2021-11-26T15:18:27.693Z", "LastUpdateTime": "2021-11-26T15:18:27.693Z", "CanceledTime": "2021-11-26T15:18:27.693Z", "Quantity": 0, "Type": "Market", "Status": "New", "Tag": "string", "SecurityType": "Base", "Direction": "Buy", "Value": 0, "OrderSubmissionData": { "BidPrice": 0, "AskPrice": 0, "LastPrice": 0 }, "IsMarketable": true } |
SecurityType Model - Type of tradable security / underlying asset. |
|
|---|---|
| SecurityType | string Enum Type of tradable security / underlying asset. Options : ['Base', 'Equity', 'Option', 'Commodity', 'Forex', 'Future', 'Cfd', 'Crypto'] |
| Example |
{ "SecurityType": "Base" } |
OrderDirection Model - Direction of the order. |
|
|---|---|
| OrderDirection | string Enum Direction of the order. Options : ['Buy', 'Sell', 'Hold'] |
| Example |
{ "OrderDirection": "Buy" } |
OrderSubmissionData Model - Stores time and price information available at the time an order was submitted. |
|
|---|---|
| BidPrice | number The bid price at an order submission time. |
| AskPrice | number The ask price at an order submission time. |
| LastPrice | number The current price at an order submission time. |
| Example |
{ "BidPrice": 0, "AskPrice": 0, "LastPrice": 0 } |
OrderEvent Model - Change in an order state applied to user algorithm portfolio |
|
|---|---|
| OrderId | integer Id of the order this event comes from. |
| Id | integer The unique order event Id for each order. |
| Symbol | Symbol object Represents a unique security identifier. This is made of two components, the unique SID and the Value. The value is the current ticker symbol while the SID is constant over the life of a security. |
| UtcTime | string($date-time) The date and time of this event (UTC). |
| Status | OrderStatus object Messaging class signifying a change in an order state and record the change in the users algorithm portfolio. |
| OrderFee | OrderFee object The order fee associated with the specified order. |
| FillPrice | number Fill price information about the order. |
| FillPriceCurrency | string Currency for the fill price. |
| FillQuantity | number Number of shares of the order that was filled in this event. |
| Direction | string Enum Direction of the order. Options : ['Buy', 'Sell', 'Hold'] |
| Message | string Any message from the exchange. |
| IsAssignment | boolean True if the order event is an assignment. |
| StopPrice | number The current stop price. |
| LimitPrice | number The current limit price. |
| Quantity | number The current order quantity. |
| Example |
{ "OrderId": 0, "Id": 0, "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "UtcTime": "2021-11-26T15:18:27.693Z", "Status": { "OrderId": 0, "Id": 0, "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "UtcTime": "2021-11-26T15:18:27.693Z", "Status": "New", "FillPrice": 0, "FillPriceCurrency": "string", "FillQuantity": 0, "Direction": "Buy", "Message": "string", "IsAssignment": true, "StopPrice": 0, "LimitPrice": 0, "Quantity": 0 }, "OrderFee": { "Value": { "Amount": 0, "Currency": "string" } }, "FillPrice": 0, "FillPriceCurrency": "string", "FillQuantity": 0, "Direction": "Buy", "Message": "string", "IsAssignment": true, "StopPrice": 0, "LimitPrice": 0, "Quantity": 0 } |
OrderStatus Model - Messaging class signifying a change in an order state and record the change in the users algorithm portfolio. |
|
|---|---|
| OrderId | integer Id of the order this event comes from. |
| Id | integer The unique order event Id for this order. |
| Symbol | Symbol object Represents a unique security identifier. This is made of two components, the unique SID and the Value. The value is the current ticker symbol while the SID is constant over the life of a security. |
| UtcTime | string($date-time) The date and time of this event. |
| Status | string Enum Status of the Order. Options : ['New', 'Submitted', 'PartiallyFilled', 'Filled', 'Canceled', 'None', 'Invalid', 'CancelPending', 'UpdateSubmitted'] |
| FillPrice | number Fill price information about the order. |
| FillPriceCurrency | string Currency for the fill price. |
| FillQuantity | number Number of shares of the order that was filled in this event. |
| Direction | string Enum Direction of the order. Options : ['Buy', 'Sell', 'Hold'] |
| Message | string Any message from the exchange. |
| IsAssignment | boolean Order event is an allocation of trades from ITM option assignment. |
| StopPrice | number The current stop price. |
| LimitPrice | number The current limit price. |
| Quantity | number The current order quantity. |
| Example |
{ "OrderId": 0, "Id": 0, "Symbol": { "Value": "string", "ID": "string", "Permtick": "string" }, "UtcTime": "2021-11-26T15:18:27.693Z", "Status": "New", "FillPrice": 0, "FillPriceCurrency": "string", "FillQuantity": 0, "Direction": "Buy", "Message": "string", "IsAssignment": true, "StopPrice": 0, "LimitPrice": 0, "Quantity": 0 } |
Status Model - Status of the Order. |
|
|---|---|
| Status | string Enum Status of the Order. Options : ['New', 'Submitted', 'PartiallyFilled', 'Filled', 'Canceled', 'None', 'Invalid', 'CancelPending', 'UpdateSubmitted'] |
| Example |
{ "Status": "New" } |
OrderFee Model - The order fee associated with the specified order. |
|
|---|---|
| Value | CashAmount object Represents a cash amount which can be converted to account currency using a currency converter. |
| Example |
{ "Value": { "Amount": 0, "Currency": "string" } } |
CashAmount Model - Represents a cash amount which can be converted to account currency using a currency converter. |
|
|---|---|
| Amount | number The amount of cash. |
| Currency | string The currency in which the cash amount is denominated. |
| Example |
{ "Amount": 0, "Currency": "string" } |
UnauthorizedError Model - Unauthorized response from the API. Key is missing, invalid, or timestamp is too old for hash. |
|
|---|---|
| www_authenticate | string Header |


BFO_0000141 - immaterial entity
Label
immaterial entity
Sub class of
Definition
An immaterial entity is the boundary or interior of a material entity
Editor’s note
BFO 2 Reference: Immaterial entities are divided into two subgroups:boundaries and sites, which bound, or are demarcated in relation, to material entities, and which can thus change location, shape and size and as their material hosts move or change shape or size (for example: your nasal passage; the hold of a ship; the boundary of Wales (which moves with the rotation of the Earth) [38, 7, 10
Imported from


Macros
|
Typedefs
PxPhysXCommonConfig.h File Reference
#include "
foundation/Px.h
"
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Macros
#define
PX_PHYSX_CORE_API
#define
PX_PHYSX_GPU_API
#define
PX_PHYSX_COMMON_API
Typedefs
typedef
PxU32
PxTriangleID
typedef PxU16
PxMaterialTableIndex
include
common
PxPhysXCommonConfig.h
Copyright © 2008-2021 NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, CA 95051 U.S.A. All rights reserved.
www.nvidia.com


{{ page.title }}
{% if page.needs_js %}{{ page.description }}
Needs JavaScript {% else %}{{ page.description }}
{% endif %}{% include head.html %}
{% if page.needs_js %} {% include components/banner.html content="JavaScript is disabled in this browser, so some things will not work. How to enable JavaScript?" type="warning" tag="noscript" modifiers="full-width" %} {% endif %} Skip to Content {% include components/banner.html content="This is not yet ready for production. Help us at Github." type="warning" modifier="full-width" %} {% include components/navbar.html %} {% include components/menu.html %} {% assign author = site.authors[page.author] %}{{ page.description }}
Needs JavaScript {% else %}{{ page.description }}
{% endif %}


This site is built for MG Krishnan. When he's not thinking and reading, he likes to write. A. Lot.
Follow him on Twitter.


This static class owns a thread that manages asynchronous writes.
More...
#include <AsyncWriterThread.h>
This static class owns a thread that manages asynchronous writes.
Asynchronous writes happen directly (when using an async writer) and indirectly (when responding to a NACK).
◆ addWriter()
Adds a writer to be managed by this thread.
Only asynchronous writers are permitted.
- Parameters
-
| writer | Asynchronous writer to be added. |
- Returns
- Result of the operation.
◆ removeWriter()
Removes a writer.
- Parameters
-
| writer | Asynchronous writer to be removed. |
- Returns
- Result of the operation.
◆ wakeUp() [1/2]
| static void wakeUp |
( |
const RTPSParticipantImpl * |
interestedParticipant | ) |
|
|
static |
Wakes the thread up.
- Parameters
-
| interestedParticipant | The participant interested in an async write. |
◆ wakeUp() [2/2]
| static void wakeUp |
( |
const RTPSWriter * |
interestedWriter | ) |
|
|
static |
Wakes the thread up.
- Parameters
-
| interestedParticipant | The writer interested in an async write. |
The documentation for this class was generated from the following file:
- /home/ricardo/workspace/curro/eProsima/desarrollo/proyectos/fastrtps/include/fastrtps/rtps/resources/AsyncWriterThread.h


The ship owning, management and operating experience leads to repairing yard with floating-dock facilities. The ship owning, management and operating experience leads to repairing yard with.


Beautiful Girls A Film Review By Michael Redman Copyright 1996 By Michael Redman
*** (out of ****)
Barely scrapping by playing at a NYC piano bar, Timothy Hutton returns to his Massachusetts hometown for a couple of weeks. On the surface, he's coming home for a high school reunion, but since this is a movie, you know that he's really looking for some major life decisions.
 Commendable jobs all around; they seem like real people.
Hutton arrives at his past and is greeted by his spirit-dead father, terminally goony brother and old high school chums. All of his old buddies are engaged in the snow removal business and most are in the midst of a relationship crisis. The perfect stuff for a comedy about people in the twenties angst.
He meets and falls for the new next door neighbor: a beautiful intelligent lively girl who is obviously taken with him. The problem is that she is only 13. Unconsummated (no, it's not _that_ type of movie), their relationship builds and neither knows what to do with it. Star-crossed lovers with no where to go.
So Hutton is gaga over a barely-teen, one of his buddies is two-timing his girlfriend with a married old flame, another's girlfriend is sleeping with a meat cutter ("and she's a vegetarian!"). Things are a mess.
Enter Uma Thurman.
The beautiful stranger in town for a few days is both a delight in the film and one of its minor downfalls. Her character is fun to watch. Even more entertaining is observing the guys falling over themselves trying to impress her. Like the Lone Ranger, before she leaves, she solves most of the problems and sets everyone onward with their lives. The ending is a bit too pat.
Rosie O'Donnell is a stand-out in her limited screen time with her brash personality and "tell it like it is" pronouncements.
Structured somewhat like a "Diner, A Few Years Later", this feel-good story is a good time, but ends a little too nice.
[This appeared in the 2/22/96 "Bloomington Voice", Bloomington, Indiana. Michael Redman can be contacted at<EMAIL_ADDRESS>--<EMAIL_ADDRESS>This week's film review at http://www.bvoice.com/ Film reviews archive at http://us.imdb.com/M/reviews_by?Michael%20Redman
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{% extends 'body_section_yellow.html' %} {% block yellow_box %}
Due to the changing nature of the pandemic and the lifting of restrictions, this will be the last week of sending these alerts. Please sign up for our free daily newsletter now to continue to receive the most important updates.
{% endblock yellow_box %}


Change Log: 2.102.0
Download D 2.102.0
released Feb 01, 2023
Compiler changes
- A missed case of conflicting extern (D) @system function definitions has been deprecated
- Deprecate the ability to call __traits(getAttributes) on overload sets
- Deprecate non-empty for statement Increment clause with no effect
- Array literals assigned to scope array variables can now be allocated on the stack
- static assert now supports multiple message arguments
- -preview=systemVariables has been added
Runtime changes
Library changes
Installer changes
Dub changes
List of all bug fixes and enhancements in D 2.102.0.
Compiler changes
- A missed case of conflicting extern (D) @system function definitions has been deprecated
Having multiple definitions of functions within a module had been turned into an error in DMD 2.095.0.
However, the compiler would not issue an error when two implementations differed by an explicit and inferred @system attribute, although they have the same mangling.
void foo() {} void foo() @system {} // no error
This bug has been fixed, and DMD will now issue a deprecation if there are such conflicting @system function implementations. Starting from DMD 2.112, it will produce a multiple definition error just like other kinds of conflicting functions within a module.
- Deprecate the ability to call __traits(getAttributes) on overload sets
Up until this release, __traits(getAttributes) could be called both on individual functions and on overload sets. However, in the latter case, the compiler simply collected the user defined attributes for the first lexically defined function. This behavior is error prone. Consider:
module test; @("gigi") void fun() {} @("mimi") void fun(int) {} void main() { static foreach(attr; __traits(getAttributes, fun)) pragma(msg, attr);
The above code will print "gigi" although there is no indication on what overload is actually queried. The first one is always picked.
Starting with this release, this sort of usage of __traits(getAttributes) is deprecated. If a specific overload needs to be handled, __traits(getOverloads) may be used in conjunction with __traits(getAttributes) for proper behavior:
module test; @("gigi") void fun() {} @("mimi") void fun(int) {} void main() { static foreach (t; __traits(getOverloads, test, "fun")) static foreach(attr; __traits(getAttributes, t)) pragma(msg, attr);
The above code prints:
gigi mimi
- Deprecate non-empty for statement Increment clause with no effect
The last clause of a for statement should not produce a value without also having some meaningful side-effect. This is now detected with a deprecation message. The following for statements each trigger the deprecation:
// evaluating `j` has no side-effects int j; for (;; j) {...} // unnecessary dereference for (ubyte* sp;; *sp++) {...} // first clause is a block statement // last clause is a function literal, not a block statement for({j = 2; int d = 3;} j + d < 7; {j++; d++;}) {...}
Note: Calling a function returning void is not deprecated even if the function does nothing. This is for generic code.
- Array literals assigned to scope array variables can now be allocated on the stack
Formerly, they were always allocated with the Garbage Collector, making it unavailable in @nogc or -betterC code. This led to frequent use of the following workaround:
void main() @nogc { int[3] buffer = [10, 20, 30]; int[] arr = buffer[]; }
This can now be written in a single line:
void main() @nogc { scope int[] arr = [10, 20, 30]; }
With the following limitations:
- The variable must be explicitly annotated scope, not just inferred scope
- The -preview=dip1000 must be passed, to prevent introducing memory corruption in legacy code.
- The array literal must be initializing the variable. Subsequent array literals assignments still use the GC.
- The array elements may not have a destructor
Some of these limitations might get lifted in the future.
- static assert now supports multiple message arguments
When the condition evaluates to false, any subsequent expressions will each be converted to string and then concatenated. The resulting string will be printed out along with the error diagnostic.
enum e = 3; static assert(false, "a = ", e);
Will print:
file.d(2): Error: static assert: a = 3
- -preview=systemVariables has been added
Since DIP 1035 - System Variables has been accepted, variables marked @system may no longer be accessed from @safe code. To avoid code breakage, the compiler will start with emitting deprecation warnings. The preview switch will turn these into errors, and it will be enabled by default in a future release.
@system int* p; struct S { @system int i; } void main() @safe { int x = *p; // error with `-preview=systemVariables`, deprecation otherwise S s; s.i = 0; // ditto }
Note that currently this is limited to variables explicitly marked @system, inference of @system based on a variable's initializer is yet to be implemented.
Runtime changes
- The default Throwable.TraceInfo generation now is @nogc.
The way this works:
- The runtime now has 2 trace-related functions, one for allocating a traceinfo, and one for deallocating the traceinfo. Both are set via the same Runtime.traceHandler function. The second parameter that sets the deallocation function is optional (so existing code will not be affected).
- When a Throwable is thrown, if the trace info is not yet set, the runtime uses the designated function to allocate a trace info. If the deallocation function is non-null, the function pointer is copied into the Throwable, into the new member infoDeallocator.
- When the Throwable is destroyed, if the infoDeallocator member is set, it is called on the info member.
The default allocator and deallocator now uses C malloc and free to allocate and deallocate the TraceInfo. Almost everything was already nogc, except for the allocation of the TraceInfo object itself.
The benefits:
- Stack traces can now be generated when run inside the GC collection routine.
- InvalidMemoryOperationError now has a stack trace.
- Little known is that even inside @nogc functions, throwing a Throwable actually was using the GC, that is no longer the case (by default).
- Certain GC hangs have been fixed (see bug fixes listed below).
One possible drawback is that the TraceInfo is deallocated upon Throwable being finalized, leading to a potential dangling pointer situation. If you do copy the info out of the Throwable, makes sure to not keep it beyond the lifetime of the Throwable, or make sure to set the infoDeallocator member to null.
Library changes
- Single- and double-precision implementations for log function families
New float and double overloads of std.math.exponential.log, std.math.exponential.log10, std.math.exponential.log1p, std.math.exponential.log2, and std.math.exponential.logb have been added to Phobos with proper 'software' implementations in the corresponding precision. Furthermore, std.math.exponential.logb is now pure.
While this may result in a slowdown in some cases for DMD, the overall speed-up factor for GDC and LDC is over 3x, for both double and float.
This also implies less precise results, especially in single-precision, so if your code depended on more accurate results via 80-bit intermediate precision, you'll have to cast the argument(s) explicitly now.
- The Unicode property "C" aka "Other" has had the wrong properties associated with it.
If you use unicode.c or unicode.Other (case insensitive) from std.uni, you should mitigate or fix your codebase.
This change makes it match the Unicode Techical Report #44. Unfortunately if you are already using it with its previous wrong values, this will break your code, below is a function which reflects the original values that you can use to mitigate against any breakage.
@property auto loadPropertyOriginal(string name)() pure { import std.uni : unicode; static if (name == "C" || name == "c" || name == "other" || name == "Other") { auto target = unicode.Co; target |= unicode.Lo; target |= unicode.No; target |= unicode.So; target |= unicode.Po; return target; } else return unicode.opDispatch!name; }
- Unicode table generator is now in Phobos, tables are updated to version 15.
It is likely that this change will result in breakage in code and program usage. This is due to a number of factors, the tables being updated so significantly and the table generator not having all its changes commited throughout the years.
- std.typecons.Unique now calls destroy on struct types
When Unique goes out of scope, any destructor will now be called. Previously the destructor was not called then.
static int i; struct S { ~this() { i++; } } { Unique!S u = new S; // S.~this now called here } assert(i == 1);
Note: Above, the struct destructor will also be called by the GC just before the memory for new S is reclaimed. Take care that any struct destructor used will handle being called again on the struct .init value.
Installer changes
- Update the bundled VisualD package
The VisualD package version that the installer downloads hasn't been updated in years. This has been remedied by a version bump to 1.3.1, the latest release of VisualD.
- Prefer 64 bit over 32 bit DMD on Windows 64 bit.
The NSIS installer for Windows has the option "Add to PATH". Previously, only the 32 bit version of DMD was added to the PATH environment variable. Now, on Windows 64 bit, the 64 bit version of DMD will be selected from PATH.
Dub changes
- Binary output will now be in a central cache
Up until now, dub would output build artifact in the package directory.
This allowed reuse of build artifact for dependencies, but also created issues with large amount of build artifacts in the packages folder, preventing the use of read-only location to store packages, and making garbage collection of build artifacts unreliable.
Starting from this version, build artifacts will be output by default to $HOME/.dub/cache/build/$BASE_PACKAGE_NAME/$PACKAGE_VERSION/[+$SUB_PACKAGE_NAME] on Linux, and %APPDATA%/cache/build/$BASE_PACKAGE_NAME/$PACKAGE_VERSION/[+$SUB_PACKAGE_NAME] on Windows.
- DUB API breaking change: Package.metadataCache setter and getter have been removed
Those two functions were used to provide access to the metadata cache file to the generator. They were never intended for public consumption, and the JSON file format was not stable.
Due to the introduction of the build cache, they needed to be removed, as there was no way to provide a sensible transition path, and they should be unused. If you have a use case for it, please open an issue in dub repository.
List of all bug fixes and enhancements in D 2.102.0:
DMD Compiler regression fixes
- Bugzilla 19268: BetterC turns off .dup for CTFE
- Bugzilla 20520: Runtime segfault when taking typeid of a class instanciated within an enum
- Bugzilla 21301: Wrong values being passed in long parameter list
- Bugzilla 23307: [REG][CODEGEN][SIMD] wrong codegen with inlined local functions + SIMD
- Bugzilla 23539: [REG master] Scope C++ definition out of sync with D
- Bugzilla 23548: [REG 2.098] C sources files have precedent over D modules in imports
- Bugzilla 23569: [REG 2.081][ICE] Segmentation fault in in AggregateDeclaration::getType() (this=0x0) at src/dmd/aggregate.d:594
- Bugzilla 23587: cast(void) doesn't work for noreturn
- Bugzilla 23591: [REG 2.101] Invalid casts accepted by the compiler if from type is noreturn
- Bugzilla 23607: invalid code leading to an ICE due to an error message that's not emitted anymore
- Bugzilla 23626: [REG2.096] Template deduction with auto const ref Args... and delegate
DMD Compiler bug fixes
- Bugzilla 13060: @nogc reading an associative array
- Bugzilla 15414: __traits(getAttributes) should error if the function has multiple overloads
- Bugzilla 15712: extern(C) attribute inside extern(C) unittest is incorrectly ignored
- Bugzilla 18026: Stack overflow in ddmd/dtemplate.d:6241, TemplateInstance::needsCodegen()
- Bugzilla 19623: HERE string identifier cannot start with Unicode letter
- Bugzilla 19649: Misleading error message for duplicate constraints
- Bugzilla 21062: Confusing error when using a keyword as an identifier for a declaration
- Bugzilla 21506: misalignment of _argptr for variadic functions
- Bugzilla 21613: DMD crash: copy ctor + templated rvalue ctor
- Bugzilla 22759: ImportC: cannot modify const expression from dereferencing const pointer declared within function.
- Bugzilla 23122: enum member UDAs semantics are not checked properly
- Bugzilla 23218: ICE: src/dmd/backend/cgxmm.d:1373: Assertion `0' failed.
- Bugzilla 23412: void init member detection does not account for static arrays
- Bugzilla 23418: double argument is passed on stack, but assumed to be in XMM0 register
- Bugzilla 23447: wrong expression in error message when template instance doesn't match any overload
- Bugzilla 23462: dmd: src/dmd/backend/cod2.d:2158: Assertion cast(int)tysize((*e).Ety) <= REGSIZE() failed
- Bugzilla 23463: Don't count skipped function overloads when limiting overloads shown
- Bugzilla 23465: Invalid token error points to wrong line
- Bugzilla 23470: Backticks in diagnostic are confusing with wrong number of arguments passed
- Bugzilla 23491: Nonsensical deprecation message when using delegate
- Bugzilla 23531: [DIP1000] scope variable can be assigned as AA key
- Bugzilla 23534: __traits(isZeroInit) is true for enums with explicit values
- Bugzilla 23536: crt_constructors and crt_destructors should not be non-static member functions
- Bugzilla 23568: Error: cannot implicitly convert expression 'a < b' of type 'float4' to 'int4'
- Bugzilla 23578: Types are not matched to alias parameters in "is" expression
- Bugzilla 23586: DMD forgets a variable was just declared.
- Bugzilla 23593: core.thread: suspendAll doesn't wait for all if current thread has detached itself
- Bugzilla 23614: ImportC: __int128 not supported
- Bugzilla 23618: Right Shift equals expressions on unsigned shorts should be unsigned right shift
- Bugzilla 23620: 'alias this' is not respected in static array length position
DMD Compiler enhancements
- Bugzilla 9848: Better diagnostic when type declaration was not expected
- Bugzilla 15368: Improve error message for "auto" keyword inside "foreach"
- Bugzilla 21338: Confusing error message for template overload resolution failure
- Bugzilla 22306: scope array variable should be stack allocated
- Bugzilla 23410: ImportC: binary constants not allowed
- Bugzilla 23424: improve error when template instantiation doesn't match any overload
- Bugzilla 23458: No template candidates listed when OverDeclaration or OverloadSet don't match
- Bugzilla 23466: -verrors=context should not repeat same context for supplemental messages
- Bugzilla 23480: non-empty ForStatement Increment clause should require a side effect
- Bugzilla 23552: Function x does not override any function, but it actually does
- Bugzilla 23566: ImportC: __PRETTY_FUNCTION__ is not defined
Phobos bug fixes
- Bugzilla 23319: std.range.Generator does not work with non-mutable elements
- Bugzilla 23488: std.format.sformat mishandles char ranges
- Bugzilla 23507: Socket.blocking property incorrect on new Socket on Windows
- Bugzilla 23540: std.uni loadProperty aliases for C are incorrect
- Bugzilla 23561: std.typecons.Unique!struct does not destroy struct instance
- Bugzilla 23640: Nullable range iteration doesn't work with immutable values
Phobos enhancements
- Bugzilla 19737: [std.experimental.allocator] link table in docs has missing symbols
- Bugzilla 23453: Generic iota should be a forward range
Druntime regression fixes
- Bugzilla 22616: Infinity loop instead of InvalidMemoryOperationError during GC routine
- Bugzilla 23562: [REG master] Segmentation fault in core.demangle
Druntime bug fixes
- Bugzilla 16641: Infinite loop on InvalidMemoryOperationError in __dmd_personality_v0
- Bugzilla 19467: Support EV_SET on OSX
- Bugzilla 23572: OpenBSD: Add OpenBSD to the RTLD_DEFAULT list
Druntime enhancements
- Bugzilla 20650: Cryptic error message when GC called in finalizer
- Bugzilla 23332: core.sync.condition notify methods should be @nogc
dlang.org bug fixes
- Bugzilla 23382: Non-template requirement for copy constructors is undocumented
- Bugzilla 23436: Spec falsely states mutable references in struct .init are forbidden
- Bugzilla 23541: [ImportC] dlang.org contains incorrect links
dlang.org enhancements
- Bugzilla 23426: Example Run button shows wrong line numbers for errors
- Bugzilla 23432: document when array capacity is zero and capacity performance
- Bugzilla 23511: Incrementing a not supported type in enum
- Bugzilla 23553: opCmp spec is incomplete
Installer bug fixes
- Bugzilla 23623: On 64 bit Windows the path should point to 64 bit dmd.
Contributors to this release (40)
A huge thanks goes to all the awesome people who made this release possible.
- Adam D. Ruppe
- aG0aep6G
- Amaury
- Basile Burg
- Bastiaan Veelo
- Boris Carvajal
- Brian Callahan
- Dennis
- Dennis Korpel
- fn ⌃ ⌥
- Gabriel Dolberg
- Garrett D'Amore
- H. S. Teoh
- Iain Buclaw
- Jan Jurzitza
- Johan Engelen
- Jordi Sayol
- Loren Burkholder
- Lucian Danescu
- lucica28
- Luís Ferreira
- Marcelo Silva Nascimento Mancini
- Mathias Lang
- Mathis Beer
- Max Haughton
- mhh
- Mike Parker
- Nicholas Wilson
- Nick Treleaven
- Paul Backus
- Per Nordlöw
- Quirin F. Schroll
- Razvan Nitu
- richard (rikki) andrew cattermole
- RJ Nowling
- Stefan Koch
- Steven Schveighoffer
- Vladimir Panteleev
- Walter Bright
- Ömer Faruk IRMAK


Enumerable#map
In this post I'll be explaining the .map method. In order for this article to be easy to understand I'll compare it with the .each method and explain all the similarities and differences. Let's get started.
Something important to know about the .map method is that it's also called ".collect". No idea why but it seems worth mentioning. So how is .map similar to .each? Well we use both of them to iterate over an array and at first sight they seem to do the same thing. Both of them iterate over every element of an array seperatly. Here and example:
Ok so by default .each returns the original array. Let's take a look at what happens when we use .map!
Ahhhh. That's quite interesting and shows us the fundamental differences of these methods. .map reads the array, iterates through it and then returns the new array while .each returns the original one. So why is this important? As far as I have understood the only real benefit is less code which results in better readability and efficiency. I mean the difference of using one or the other is minimal at this stage but I guess these benefits become more important as we dig deeper in the coding world. Hope you understand what I'm trying to explain. Have a good day :)