CSSO (CSS Optimizer) is a CSS minifier. It performs three sort of transformations: cleaning (removing redundant), compression (replacement for shorter form) and restructuring (merge of declarations, rulesets and so on). As a result your CSS becomes much smaller.
npm install -g csso
Or try out CSSO right in your browser (web interface).
``` csso [input] [output] [options]
Options:
--comments Comments to keep: exclamation (default), first-exclamation or none
--debug [level] Output intermediate state of CSS during compression -h, --help Output usage information -i, --input Input file
--input-map
Some examples:
``` > csso in.css …output result in stdout…
csso in.css –output out.css
echo ‘.test { color: #ff0000; }’ | csso .test{color:red}
cat source1.css source2.css | csso | gzip -9 -c > production.css.gz ```
Source map doesn’t generate by default. To generate map use --map
CLI option, that can be:
none
(default) – don’t generate source mapinline
– add source map into result CSS (via /*# sourceMappingURL=application/json;base64,... */
)file
– write source map into file with same name as output file, but with .map
extension (in this case --output
option is required)Examples:
> csso my.css --map inline
> csso my.css --output my.min.css --map file
> csso my.css --output my.min.css --map maps/my.min.map
Use --input-map
option to specify input source map if needed. Possible values for option:
auto
(default) - attempt to fetch input source map by follow steps:
--input
is specified) check file with same name as input file but with .map
extension exists and read its contentnone
- don’t use input source map; actually it’s using to disable auto
-fetchingGenerally you shouldn’t care about input source map since defaults behaviour (auto
) covers most use cases.
NOTE: Input source map is using only if output source map is generating.
CSSO
can use data about how CSS
is using for better compression. File with this data (JSON
format) can be set using --usage
option. Usage data may contain follow sections:
tags
– white list of tagsids
– white list of idsclasses
– white list of classesscopes
– groups of classes which never used with classes from other groups on single elementAll sections are optional. Value of tags
, ids
and classes
should be array of strings, value of scopes
should be an array of arrays of strings. Other values are ignoring.
tags
, ids
and classes
are using on clean stage to filter selectors that contains something that not in list. Selectors are filtering only by those kind of simple selector which white list is specified. For example, if only tags
list is specified then type selectors are checking, and if selector hasn’t any type selector (or even any type selector) it isn’t filter.
ids
andclasses
names are case sensitive,tags
– is not.
Input CSS:
css
* { color: green; }
ul, ol, li { color: blue; }
UL.foo, span.bar { color: red; }
Usage data:
json
{
"tags": ["ul", "LI"]
}
Result CSS:
css
*{color:green}ul,li{color:blue}ul.foo{color:red}
Scopes is designed for CSS scope isolation solutions such as css-modules. Scopes are similar to namespaces and defines lists of class names that exclusively used on some markup. This information allows the optimizer to move rulesets more agressive. Since it assumes selectors from different scopes can’t to be matched on the same element. That leads to better ruleset merging.
Suppose we have a file:
```css .module1-foo { color: red; } .module1-bar { font-size: 1.5em; background: yellow; }
.module2-baz { color: red; } .module2-qux { font-size: 1.5em; background: yellow; width: 50px; } ```
It can be assumed that first two rules never used with second two on the same markup. But we can’t know that for sure without markup. The optimizer doesn’t know it eather and will perform safe transformations only. The result will be the same as input but with no spaces and some semicolons:
css
.module1-foo{color:red}.module1-bar{font-size:1.5em;background:#ff0}.module2-baz{color:red}.module2-qux{font-size:1.5em;background:#ff0;width:50px}
But with usage data CSSO
can get better output. If follow usage data is provided:
json
{
"scopes": [
["module1-foo", "module1-bar"],
["module2-baz", "module2-qux"]
]
}
New result (29 bytes extra saving):
css
.module1-foo,.module2-baz{color:red}.module1-bar,.module2-qux{font-size:1.5em;background:#ff0}.module2-qux{width:50px}
If class name doesn’t specified in scopes
it belongs to default “scope”. scopes
doesn’t affect classes
. If class name presents in scopes
but missed in classes
(both sections specified) it will be filtered.
Note that class name can’t be specified in several scopes. Also selector can’t has classes from different scopes. In both cases an exception throws.
Currently the optimizer doesn’t care about out-of-bounds selectors order changing safety (i.e. selectors that may be matched to elements with no class name of scope, e.g. .scope div
or .scope ~ :last-child
) since assumes scoped CSS modules doesn’t relay on it’s order. It may be fix in future if to be an issue.
```js var csso = require(‘csso’);
var compressedCss = csso.minify(‘.test { color: #ff0000; }’).css;
console.log(compressedCss); // .test{color:red} ```
You may minify CSS by yourself step by step:
```js var ast = csso.parse(‘.test { color: #ff0000; }’); var compressResult = csso.compress(ast); var compressedCss = csso.translate(compressResult.ast);
console.log(compressedCss); // .test{color:red} ```
Working with source maps:
```js var css = fs.readFileSync(‘path/to/my.css’, ‘utf8’); var result = csso.minify(css, { filename: ‘path/to/my.css’, // will be added to source map as reference to source file sourceMap: true // generate source map });
console.log(result); // { css: ‘…minified…’, map: SourceMapGenerator {} }
console.log(result.map.toString()); // ‘{ .. source map content .. }’ ```
Minify source
CSS passed as String
.
Options:
Boolean
- generate source map if true
String
- filename of input, uses for source mapBoolean
- output debug information to stderr
function|array
- called right after parse is run. Callbacks arguments are ast, options
.function|array
- called right after compress is run. Callbacks arguments are compressResult, options
.compress()
Returns an object with properties:
String
– resulting CSSObject
– instance of SourceMapGenerator
or null
```js var result = csso.minify(‘.test { color: #ff0000; }’, { restructure: false, // don’t change CSS structure, i.e. don’t merge declarations, rulesets etc debug: true // show additional debug information: // true or number from 1 to 3 (greater number - more details) });
console.log(result.css); // > .test{color:red} ```
The same as minify()
but for style block. Usualy it’s a style
attribute content.
```js var result = csso.minifyBlock(‘color: rgba(255, 0, 0, 1); color: #ff0000’).css;
console.log(result.css); // > color:red ```
Parse CSS to AST.
NOTE: Currenly parser omit redundant separators, spaces and comments (except exclamation comments, i.e.
/*! comment */
) on AST build, since those things are removing by compressor anyway.
Options:
String
– parsing context, useful when some part of CSS is parsing (see below)Boolean
– should AST contains node position or not, store data in info
property of nodes (false
by default)String
– filename of source that adds to info when positions
is true, uses for source map generation (
by default)Number
– initial line number, useful when parse fragment of CSS to compute correct positionsNumber
– initial column number, useful when parse fragment of CSS to compute correct positionsContexts:
stylesheet
(default) – regular stylesheet, should be suitable in most casesatrule
– at-rule (e.g. @media screen, print { ... }
)atruleExpression
– at-rule expression (screen, print
for example above)ruleset
– rule (e.g. .foo, .bar:hover { color: red; border: 1px solid black; }
)selector
– selector group (.foo, .bar:hover
for ruleset example)simpleSelector
– selector (.foo
or .bar:hover
for ruleset example)block
– block content w/o curly braces (color: red; border: 1px solid black;
for ruleset example)declaration
– declaration (color: red
or border: 1px solid black
for ruleset example)value
– declaration value (red
or 1px solid black
for ruleset example)```js // simple parsing with no options var ast = csso.parse(‘.example { color: red }’);
// parse with options var ast = csso.parse(‘.foo.bar’, { context: ‘simpleSelector’, positions: true }); ```
Does the main task – compress AST.
NOTE:
compress
performs AST compression by transforming input AST by default (since AST cloning is expensive and needed in rare cases). Useclone
option with truthy value in case you want to keep input AST untouched.
Options:
Boolean
– do the structure optimisations or not (true
by default)Boolean
- transform a copy of input AST if true
, useful in case of AST reuse (false
by default)String
or Boolean
– specify what comments to left
'exclamation'
or true
(default) – left all exclamation comments (i.e. /*! .. */
)'first-exclamation'
– remove every comments except first onefalse
– remove every commentsObject
- usage data for advanced optimisations (see Usage data for details)Function
- function to track every step of transformationsMake an AST node deep copy.
```js var orig = csso.parse(‘.test { color: red }’); var copy = csso.clone(orig);
csso.walk(copy, function(node) { if (node.type === ‘Class’) { node.name = ‘replaced’; } });
console.log(csso.translate(orig)); // .test{color:red} console.log(csso.translate(copy)); // .replaced{color:red} ```
Converts AST to string.
js
var ast = csso.parse('.test { color: red }');
console.log(csso.translate(ast));
// > .test{color:red}
The same as translate()
but also generates source map (nodes should contain positions in info
property).
js
var ast = csso.parse('.test { color: red }', {
filename: 'my.css',
positions: true
});
console.log(csso.translateWithSourceMap(ast));
// { css: '.test{color:red}', map: SourceMapGenerator {} }
Visit all nodes of AST and call handler for each one. handler
receives three arguments:
prev
and next
nodes in listremove()
or insert()
Context for handler an object, that contains references to some parent nodes:
ast
or root nodeStyleSheet
node, it may be a top-level or at-rule block stylesheetAtruleExpression
node if current node inside at-rule expressionRuleset
node if current node inside a rulesetSelector
node if current node inside a selectorDeclaration
node if current node inside a declarationFunction
or FunctionalPseudo
node if current node inside one of them```js
// collect all urls in declarations
var csso = require(‘./lib/index.js’);
var urls = [];
var ast = csso.parse(
@import url(import.css);
.foo { background: url('foo.jpg'); }
.bar { background-image: url(bar.png); }
);
csso.walk(ast, function(node) { if (this.declaration !== null && node.type === ‘Url’) { var value = node.value;
if (value.type === 'Raw') {
urls.push(value.value);
} else {
urls.push(value.value.substr(1, value.value.length - 2));
}
} });
console.log(urls); // [ ‘foo.jpg’, ‘bar.png’ ] ```
Same as walk()
but visits Ruleset
and Atrule
nodes only.
Same as walkRules()
but visits nodes in reverse order (from last to first).
MIT


About
PiggyWolf Studio is a studio mainly focus on Computer Vision, Deep Learning, Natural Language Processing, Recommending System and so on.
Currently Running Project:
Description-based Person Re-identification
Stereoscopic Vision
Contact Us
Phone:<PHONE_NUMBER>3
Email<EMAIL_ADDRESS>Address: Nanjing Tech University
Github Homepage: https://github.com/piggywolfstudio


Throughout this set of tutorials it will be shown how to create and work with Composites, which is the basic element in Zest™. We will refactor one HelloWorld class to take advantage of the various features in Zest™. These refactorings will make it easier to reuse parts of the class, and introduce new features without having to change existing code. We will also look at some of the existing classes, or Fragments, available in Zest™ that you can reuse so that you don't have to write everything yourself.
Each tutorial in this series starts with the result from the previous tutorial, so you can always look at the next tutorial step for guidance on what to do.
For more information on Zest™ see the website.


Geb usage questions can be asked at the official Geb User Mailing List which is hosted at Google Groups.
If you wish to access the archive of the old user mailing list that was hosted at Codehaus you can do so by using this MarkMail search.
For questions and general discussion about Geb development (e.g. questions regarding contributing) please head to the Geb Development Mailing List.
If you wish to access the archive of the old development mailing list that was hosted at Codehaus you can do so by going to this MarkMail search.


Ocala events
-
carrabelle palms rv park store
skinniest cat alive - YouTube
Feb 22, 2009 . the skinniest guy in the worldby buckcannon15 35,215 views · 3:18.  World's Skinniest House! - 100.7 The Wolf ...
Oct 22, 2012 . World's Skinniest House! . http://homes.yahoo.com/blogs/spaces/story-behind- within-world- . Well, here... watch a cat meowing underwater.
http://www.seattlewolf.com/Could-you-live-here--World-s-Skinniest-House-/8937449?pid=273552Smallest waist - living person - Guinness World Records
Reply · 4 · Like · January 22, 2012 at 2:41am. Add a Reply... Lisa Harris · Works at House Cat. talk about an hour glass figure. . More Guinness World Records .
http://www.guinnessworldrecords.com/smallest-waist-living-person/
molotov marciano punk remix letra Upcoming events in Ocala
- Sponsored event
ebby halliday crowell team royse city
Apr 6 - Dance It Studio
penny pack nursing home bombay company private collection sydenham
- Sponsored event
clayton manufactured homes arkansas
Apr 6 - Downtown Disney
fortuny glass chandelier lighting teacher's safety in the work place
oaks chocolate stores in oshkosh wisconsin Hottest Tickets
-
Apr 11cpi san diego ca
Amway Center -
Apr 28i will survive stefanie
Amway Center -
Jun 25society and osteopathic doctors
Bob Carr Performing Arts Center -
Mar 30festival of the trees ocala
Amway Center -
Aug 27in session web tru tv program
Amway Center -
Jun 21golf clubs and airplane saftey
Amway Center -
Sep 13florida lpn license renewal
Francis Field -
Mar 17case law on vacate judgement
St Augustine Amphitheatre -
Oct 8what is a skid steers
Amway Center -
May 4atlantic painting in new hampshire
Bob Carr Performing Arts Center
Ocala's best venues
-
CATS In Car Seats! (And Why NOT?...:-) - WKQK-FM
Jul 9, 2012 . World's biggest (OK - tallest, skinniest...:-) Cat Lover here. Yep, you've heard of the 'Crazy Cat Lady"...well, Crazy Cat Guy here and damned .
http://www.941kqk.com/CATS-in-Car-Seats---And-why-NOT-------/11289337?pid=251266 -
Fat cats become skinnier « Centre for Economics and Business ...
Fat cats become skinnier . These latest figures demonstrate how London's position as a world-leading financial centre remains under threat. The Far Eastern .
http://www.cebr.com/fat-cats-become-skinnier/ -
Links of the Week, January 20, 2013 Cat Morley
Jan 20, 2013 . Lauren on CO+K made a Grumpy Cat Brooch. This Dad's . Barbie & Ken's wedding album, the world's skinniest house & the useless web!
http://www.catmorley.com/articles/links/links-of-the-week-27research on autism increase
98 people's favorite
-
Top 45 Stunning Houses Around the World Skinniest House in New ...
Aug 19, 2011 . This home, the skinniest house in New York City, had a pricetag that was anything but skinny! The red, 9 1/2 by 42 foot-long brick building sold .
http://oddstuffmagazine.com/top-45-stunning-houses-around-the-world.html/attachment/5908 -
WORLD'S SKINNIEST MAN AND HIS DOG and other Videos on ...
SKINNIEST MAN TALKS ABOUT HIS LOVE LIFE. . Talking Cat Says... Views: 263,258. Flying Man. Views: 275,376. From: foldnfly. Man vs Tree. Views: 128,191 .
http://www.stupidvideos.com/video/just_plain_stupid/WORLDS_SKINNIEST_MAN_AND_HIS_DOG/


Are you sure you want to revoke this token? This action is permanent!
{% comment %}
Script to make modal appear whenever a user clicks any revoke button/link
The modal's Revoke button fires the second script to actually revoke the $target entry
{% endcomment %}


Esp32 and MicroPython
“Flashing MicroPython to the Esp32 for Windows”
Flashing MicroPython to Esp32
pip install esptool
Connect your Esp32 to your computer and find its port number. For Windows, use device manager (either ask Cortana for it or for hotkeys user: Win_btn + X)
under “Ports (COM & LPT)”
as you can see, mine is on COM8
run the following in terminal, replacing “COM8” with whatever port yours is connected to
esptool.py --chip esp32 --port COM8 erase_flash
Now, get the new firmware flash here: MicroPython for Esp32 I’ve downloaded the very first “Generic” one but you can choose whichever that fits your requirement.
Note: Some of the firwares only have WiFi support or only Bluetooth support, so take note
After downloading the file, navigate your terminal to the location of the downloaded file and run the following
esptool.py --chip esp32 --port COM8 --baud 460800 write_flash -z 0x1000 esp32-idf3-20191105-v1.11-558-gd209f9ebe.bin
Similarly, change “COM8” to your own port number and “esp32-idf3-20191105-v1.11-558-gd209f9ebe.bin” to the firmware you download.
Now for testing!
REPL on Esp32 MicroPython
on windows terminal install rshell
pip install rshell
then run repl in rshell
rshell
connect serial COM8
repl
again, change COM8 to your port number. If everything works, the MicroPython interpreter will show up! Congratz!
Flashing scripts to Esp32
To have a permanent script that runs everytime the Esp32 boots, we will use another package. Run the following in terminal.
pip install ampy
now create a “main.py” file somewhere and navigate your terminal to it. We are going to use pin 21 to blink an LED so add the following code in main.py
from machine import Pin
import time
p21 = Pin(21, Pin.OUT)
while True:
p21.on()
time.sleep_ms(500)
p21.off()
time.sleep_ms(500)
Save the file and in your terminal, run the following
ampy --port COM8 put main.py
yet again, change COM8 to your own port number.
Connect pin 21 to a resistor and the resistor to the positive leg of the LED and the negative leg of the LED to GND.
Reset your Esp32 and it should blink! Congratz!


The easiest to use, most powerful, flexible, and most beautiful toggles on the marketplaces. Show content, use them for checkboxes, and create any style you want.
- Boostrap Built
- Built using Inputs
- Highly Customizable
- Platform Agnostic Design
- Can be Activated from Entire Row
- Programatic use ready
Toggle Mobile Styled
These toggles are designed to look like mobile toggles. They can have any color or icon you wish.
iOS Toggle Style 1
This is just a text. You can add any content you want inside toggles. It will work like a charm.
iOS Toggle Style 2
This is just a text. You can add any content you want inside toggles. It will work like a charm.
iOS Toggle Style 3
This is just a text. You can add any content you want inside toggles. It will work like a charm.
Android Style Toggle
This is just a text. You can add any content you want inside toggles. It will work like a charm.
Toggle Classic Styled
These toggles are designed to look like mobile toggles. They can have any color or icon you wish.
Toggle Trigger
This is just a text. You can add any content you want inside toggles. It will work like a charm.
Toggle Trigger
This is just a text. You can add any content you want inside toggles. It will work like a charm.
What can toggles do?
You can toggle content, use them as checkboxes, or even attach JS functions to them. For example, the toggle below will change the page skin. You can even combine them with toasts or other objects.


1000
On 1st January 2003 I converted my static mindmap homepage into a blog and published my first entry titled Predictions for 2003. I came a long way since then. This posts marks my 1000th entry here. Some entries, predating Twitter, are close to Twitter's 140 characters limit, so I could add my 4723 tweets to the list . The 1000 entries have attracted 1577 comments, with the first comment going to Singapore resident Ramasamy. The crown for most comments goes to Nathan Freeman of Lotus 911 fame with 31 comments. The post that attracted the most comments was Web Agents XPages style with 25 unique comments.
It also is one of the most popular posts together with Building a high performance Domino Server, Notes / Domino upgrade cheat sheet and Communicating with IBMers and Lotus professionals using Sametime.
I'm grateful for the ideas provided by all the sessions with customers, partners, colleagues, friends and brothers-in-arms. Without being challenged with (sometimes not so) new questions every day this blog would not have been possible. Today I can use it in many sessions as reference. During an upgrade I carelessly lost a few blog entries. Luckily the Internet never forgets and I was able to recover them. What is behind this blog:
It also is one of the most popular posts together with Building a high performance Domino Server, Notes / Domino upgrade cheat sheet and Communicating with IBMers and Lotus professionals using Sametime.
I'm grateful for the ideas provided by all the sessions with customers, partners, colleagues, friends and brothers-in-arms. Without being challenged with (sometimes not so) new questions every day this blog would not have been possible. Today I can use it in many sessions as reference. During an upgrade I carelessly lost a few blog entries. Luckily the Internet never forgets and I was able to recover them. What is behind this blog:
- The blog runs on Lotus Domino on a Ubuntu server using the Blogsphere Template V3 created by the awesome Declan Lynch
- The skin is a modification of Dan Archibald "Orange Keys" design (can't remember where I got it from)
- Search is provided by a custom Google search
- Initially I used Julian's code hosted by Joe Litton to highlight LotusScript. Later I switched to Quick Highlighter since it supports all the languages I usually use including XML and XSLT
- Screen shots are created with Shutter including the boxes, arrows, blurred text, numbers and occasional 3d rotation
- Besides the Notes client I use Scribe Fire to create blog posts. This is very convenient when researching topics in the web
- Some of the graphics were created using InkScape and DIA, but since I'm not much of an artist, I settled for SmartDraw that provided to be invaluable for the type of illustrations I want to create
- The MindMaps are drawn using Tony Buzan's iMindMap mainly for the beautiful branches it allows to draw
- The screen mockups are build with the awesom Balsamiq Mockups by our Italian friend Peldi
- Graphic fine tuning (croping, resizing, filters) is done using GIMP
- I started using Prezi for some more dynamic presentations / posts
Posted by Stephan H Wissel on 11 October 2011 | Comments (a) | categories: After hours


{{ component.name }}@^{{ component.version }} requires the following browser features:
{{ . }}
{{ component.name }}@^{{ component.version }} works best for browsers which support the following features, but will handle cases where they are not avalible:
{{ . }}
We recommend polyfill.io to add support for missing features to older browsers.
{{/ifEither}} {{#ifEither dependencies.bower.length dependencies.npm.length}} {{#if dependencies.npm.length}}


Metric for area shading:
Metric for point shading
Metric for point size
Metric for key
Select colour scheme:
Filter the records (regex)
Hover over voronoi areas to display statistics


HTML5 Semantic Elements
What Semantic Elements Are
To improve the structure of web pages, HTML5 adds new semantic elements to the markup specification. These elements give extra meaning to the content they enclose.

This element defines an independent, self-contained content, such as a blog entry, a newspaper article, a forum post, a CV, an author biography, a story, etc. –anything that you think of as an article.

This element defines content that is separate from the other (surrounding) content of the page–aside from the content it is placed in. It is frequently used to create sidebars related to an article.

Represents a figure that is–in contrast to traditional images–a self-contained content, such as an illustration, diagram, photo, etc. The
 element is a wrapper for this content, including the  for the figure, as well as the caption nested into a
 element. The aim is to indicate the relation between the image and its associated caption.

This element defines a caption for the
 element.

Defines a footer for a document or section, so this element should contain information about its container element. It can be a set of important link, a copyright notice, terms of use, contact information, etc.

This element represents an enhanced heading for a document or a section. It should be a container for introductory content, and may contain logo, byline, set of navigational links, etc.
<hgroup>
This element defines an enhanced heading that groups two or more heading elements without any additional content. Its purpose is to make a title and a subtitle (or subtitles) stand together.

Defines a major block of links on a page. These links may point to topics on the current page, or to other pages on the website. Not all links of a document must be in a  element. A page may have multiple  sections.

This element defines logical sections in a document. These sections can be headers, footers, chapters, sections of chapters, etc. Use
 only if other semantic elements do not apply. As a rule of thumb, the content
 holds always should begin with a heading (
, ...,
)


Survey Questions
About You
Name (required)
Link to Photo Image (required)
Submit
You have a match!
×


Several districts under weather warning
Several districts of mainland Portugal will be on Friday, 22 November, on yellow warning due to predicted sea turbulence, strong wind and persistent rain, according to the Portuguese Institute of Sea and Atmosphere (IPMA).
The districts of Viana do Castelo, Braga, Porto, Aveiro, Coimbra, Leiria, Lisbon, Setubal, Beja and Faro will be under yellow warning from 3pm on Friday and 12am on Saturday because of the strong sea turbulence, with 4 to 5 metre northwest waves expected, especially south of Cape Mondego.
The IPMA also issued a yellow warning to the districts of Viseu, Porto, Vila Real, Viana do Castelo, Coimbra and Braga because of the forecast of sometimes heavy and persistent rain (between 12am and 12pm on Friday) and strong wind from the south quadrant with gusts up to 90 kilometres per hour in the highlands (between 3am and 3pm on Friday).
The Guarda district will be under yellow warning between 3am and 6pm on Friday due to strong wind forecast from the south quadrant, rolling to the west quadrant, gusting up to 110 kilometres per hour in the highlands.
Under yellow warning will be still the district of Aveiro between 12am and 12pm on Friday because of heavy and persistent rain.
The yellow warning applies to risk situations for certain weather dependent activities.


{% extends "studies/detail_base.html" %} {% block switch-tab-wrapper %}
Beneficiary: {{ study.beneficiary_query }} Carrier: {{ study.carrier_query }} Inpatient: {{ study.inpatient_query }} Outpatient: {{ study.outpatient_query }} Prescription: {{ study.prescription_query }}
{% for study_data_request in transactions %} {{ study_data_request.partner.company_name }} {% endfor %}
Study have been .


I was able to validate many of my feature ideas and interaction designs with user testing. At each new stage of iteration on the design I would test. With the help of my colleague in marketing I spearheaded the creation of a user group. This group allowed us to recruit participants very quickly.
We launched with a simple un-themed version of the product for adults and a gamified version for kids. Users were able to track their reading, complete challenges, win awards, and work through a story as they leveled up through the game.


Edit this html file and fill api-key map attribite for non developer mode map with all features
Lake Czorsztyn
Chęciny Castle
Poznań


|
.NET Framework | |||||||||
| PREV NAMESPACE NEXT NAMESPACE | FRAMES NO FRAMES |
| Interface Summary | |
|---|---|
| DvslNode | wrapper interface for nodes exposed in the template. Isolates the in-VSL DOM from that of the underlying implementation |
| TransformTool | This is the tool interface exposed to the stylesheet. |
| Class Summary | |
|---|---|
| Dvsl | Main DVSL class - use this as the helper class for apps |
| DvslNodeImpl | wrapper class for .Net nodes to implement the DVSLNode interface for template use |
| TemplateHandler | Currently provides the match rule accumulation as well as the AST storage and rendering Rule stuff might be replaced with the dom4j RuleManager |
|
.NET Framework | |||||||||
| PREV NAMESPACE NEXT NAMESPACE | FRAMES NO FRAMES |


Eye of Argos:
I can feel his power growing every day!
Have you collected enough thoughts of darkness to stop him?
Could it be that he will prevail?


| Package | com.ajlivingston.utils |
| Class | public class DisplayObjectUtil |
| Method | Defined by | ||
|---|---|---|---|
|
centerOn(obj:DisplayObject, contain:DisplayObject):void
[static]
Centers a DisplayObject on another DisplayObject.
| DisplayObjectUtil | ||
|
centerOnStage(obj:DisplayObject):Boolean
[static]
Centers a DisplayObject on the stage.
| DisplayObjectUtil | ||
|
getCenterOn(obj:DisplayObject, contain:DisplayObject):Point
[static]
Returns a Point of coordinates for a DisplayObject to be centered on another DisplayObject.
| DisplayObjectUtil | ||
|
getCenterOnStage(obj:DisplayObject):Point
[static]
Returns a Point of coordinates for a DisplayObject to be centered on the stage.
| DisplayObjectUtil | ||
|
getScaleToFill(obj:DisplayObject, contain:DisplayObject = null, preserveRatio:Boolean = true):Point
[static]
Returns a Point of the scale amounts for a DisplayObject to fill another DisplayObject.
| DisplayObjectUtil | ||
|
getScaleToFillStage(obj:DisplayObject, preserveRatio:Boolean = true):Point
[static]
Returns a Point of the scale amounts for a DisplayObject to fill the entire stage.
| DisplayObjectUtil | ||
|
getScaleToFit(obj:DisplayObject, contain:DisplayObject = null, preserveRatio:Boolean = true):Point
[static]
Returns a Point of the scale amounts for a DisplayObject to fit another DisplayObject.
| DisplayObjectUtil | ||
|
getScaleToFitStage(obj:DisplayObject, preserveRatio:Boolean = true):Point
[static]
Returns a Point of the scale amounts for a DisplayObject to fit the stage.
| DisplayObjectUtil | ||
|
getStretchToFill(obj:DisplayObject, contain:DisplayObject = null):Point
[static]
Returns a Point of the scale amounts for a DisplayObject to stretch to fill another DisplayObject entirely.
| DisplayObjectUtil | ||
|
getStretchToFillStage(obj:DisplayObject):Point
[static]
Returns a Point of the scale amounts for a DisplayObject to stretch to fill the stage.
| DisplayObjectUtil | ||
|
scaleToFill(obj:DisplayObject, contain:DisplayObject = null, preserveRatio:Boolean = true, center:Boolean = true, addTo:Boolean = false, addToIndex:int = -1):Boolean
[static]
Scales a DisplayObject to fill another DisplayObjct.
| DisplayObjectUtil | ||
|
scaleToFillStage(obj:DisplayObject, preserveRatio:Boolean = true, center:Boolean = true):Boolean
[static]
Scales a DisplayObject to fill the entire stage.
| DisplayObjectUtil | ||
|
scaleToFit(obj:DisplayObject, contain:DisplayObject = null, preserveRatio:Boolean = true, center:Boolean = true, addTo:Boolean = false, addToIndex:int = -1):Boolean
[static]
Scales a DisplayObject to fit another DisplayObjct.
| DisplayObjectUtil | ||
|
scaleToFitStage(obj:DisplayObject, preserveRatio:Boolean = true, center:Boolean = true):Boolean
[static]
Scales a DisplayObject to fit the stage.
| DisplayObjectUtil | ||
|
stretchToFill(obj:DisplayObject, contain:DisplayObject = null, center:Boolean = true, addTo:Boolean = false, addToIndex:int = -1):Boolean
[static]
Scales a DisplayObject to stretch to fill another DisplayObject entirely.
| DisplayObjectUtil | ||
|
stretchToFillStage(obj:DisplayObject, center:Boolean = true):Boolean
[static]
Scales a DisplayObject to stretch to fill the entire stage.
| DisplayObjectUtil |
| centerOn | () | method |
public static function centerOn(obj:DisplayObject, contain:DisplayObject):void
Centers a DisplayObject on another DisplayObject.
Parametersobj:DisplayObject — The DisplayObject to be centered.
|
|
contain:DisplayObject — The DisplayObject for obj to be centered on.
|
See also
| centerOnStage | () | method |
public static function centerOnStage(obj:DisplayObject):Boolean
Centers a DisplayObject on the stage. Requires the DisplayObject to be on the stage for any results.
Parametersobj:DisplayObject — The DisplayObject to be centered.
|
Boolean — Returns true or false based on the method's success.
|
See also
| getCenterOn | () | method |
public static function getCenterOn(obj:DisplayObject, contain:DisplayObject):Point
Returns a Point of coordinates for a DisplayObject to be centered on another DisplayObject.
Parametersobj:DisplayObject — The DisplayObject to be centered.
|
|
contain:DisplayObject — The DisplayObject for obj to be centered on.
|
Point — The Point with the x and y coordinates for obj to be centered on contain .
|
| getCenterOnStage | () | method |
public static function getCenterOnStage(obj:DisplayObject):Point
Returns a Point of coordinates for a DisplayObject to be centered on the stage. Requires the DisplayObject to be on the stage or its current coordinates will be returned.
Parametersobj:DisplayObject — The DisplayObject to be centered.
|
Point — The Point with the x and y coordinates for obj to be centered on the stage.
|
| getScaleToFill | () | method |
public static function getScaleToFill(obj:DisplayObject, contain:DisplayObject = null, preserveRatio:Boolean = true):Point
Returns a Point of the scale amounts for a DisplayObject to fill another DisplayObject.
Be aware that if obj
's parent is used for the contain
parameter, obj
's own width would be a factor in the container's width it is being scaled into if it is out of bounds of the main container body.
obj:DisplayObject — The DisplayObject to be scaled.
|
|
contain:DisplayObject (default = null ) — The DisplayObject to scale within. If set to null (default) then obj 's parent will be used.
|
|
preserveRatio:Boolean (default = true ) — Whether to preserve the current x:y scale ratio of obj (default), or reset it to 1:1.
|
Point — A Point containing the values for the scaleX and scaleY properties. Will return obj 's current scale values if contain is invalid.
|
| getScaleToFillStage | () | method |
public static function getScaleToFillStage(obj:DisplayObject, preserveRatio:Boolean = true):Point
Returns a Point of the scale amounts for a DisplayObject to fill the entire stage. Requires the DisplayObject to be on the stage or the current scale amounts will be returned.
Parametersobj:DisplayObject — The DisplayObject used to calculate return value.
|
|
preserveRatio:Boolean (default = true ) — Whether to preserve the current x:y scale ratio of obj (default), or reset it to 1:1.
|
Point — A Point containing the scaleX and scaleY properties. Will return obj 's current scale values if it is not on the stage.
|
| getScaleToFit | () | method |
public static function getScaleToFit(obj:DisplayObject, contain:DisplayObject = null, preserveRatio:Boolean = true):Point
Returns a Point of the scale amounts for a DisplayObject to fit another DisplayObject.
Be aware that if obj
's parent is used for the contain
parameter, obj
's own width would be a factor in the container's width it is being scaled into if it is out of bounds of the main container body.
obj:DisplayObject — The DisplayObject to be scaled.
|
|
contain:DisplayObject (default = null ) — The DisplayObject to scale within. If set to null (default) then obj 's parent will be used.
|
|
preserveRatio:Boolean (default = true ) — Whether to preserve the current x:y scale ratio of obj (default), or reset it to 1:1.
|
Point — The value to be applied to the scaleX and/or scaleY properties. Will return obj 's current scaleX property if contain is invalid.
|
| getScaleToFitStage | () | method |
public static function getScaleToFitStage(obj:DisplayObject, preserveRatio:Boolean = true):Point
Returns a Point of the scale amounts for a DisplayObject to fit the stage. Requires the DisplayObject to be on the stage or the current scale amounts will be returned.
Parametersobj:DisplayObject — The DisplayObject used to calculate return value.
|
|
preserveRatio:Boolean (default = true ) — Whether to preserve the current x:y scale ratio of obj (default), or reset it to 1:1.
|
Point — The value to be applied to the scaleX and/or scaleY properties.
|
| getStretchToFill | () | method |
public static function getStretchToFill(obj:DisplayObject, contain:DisplayObject = null):Point
Returns a Point of the scale amounts for a DisplayObject to stretch to fill another DisplayObject entirely.
Be aware that if obj
's parent is used for the contain
parameter, obj
's own width would be a factor in the container's width it is being scaled into if it is out of bounds of the main container body.
obj:DisplayObject — The DisplayObject used to calculate return value.
|
|
contain:DisplayObject (default = null ) — The DisplayObject to scale within. If set to null (default) then obj 's parent will be used.
|
Point — A Point containing values for the scaleX and scaleY properties. Will return obj 's current scale values if contain is invalid.
|
| getStretchToFillStage | () | method |
public static function getStretchToFillStage(obj:DisplayObject):Point
Returns a Point of the scale amounts for a DisplayObject to stretch to fill the stage. Requires the DisplayObject to be on the stage or else the current scale properties will be returned.
Parametersobj:DisplayObject — The DisplayObject used to calculate return value.
|
Point — The value to be applied to the scaleX and/or scaleY properties.
|
| scaleToFill | () | method |
public static function scaleToFill(obj:DisplayObject, contain:DisplayObject = null, preserveRatio:Boolean = true, center:Boolean = true, addTo:Boolean = false, addToIndex:int = -1):Boolean
Scales a DisplayObject to fill another DisplayObjct.
Be aware that if obj
's parent is used for the contain
parameter, obj
's own width would be a factor in the container's width it is being scaled into if it is out of bounds of the main container body.
obj:DisplayObject — The DisplayObject to be scaled.
|
|
contain:DisplayObject (default = null ) — The DisplayObject to scale within. If set to null (default) then obj 's parent will be used.
|
|
preserveRatio:Boolean (default = true ) — Whether to preserve the current x:y scale ratio of obj (default), or reset it to 1:1.
|
|
center:Boolean (default = true ) — Whether or not the scaled DisplayObject is to be centered within the container DisplayObject. Default is true.
|
|
addTo:Boolean (default = false ) — If true, add obj as a child of contain at the addToIndex parameter's value.
The contain parameter must be passed a DisplayObjectContainer .
|
|
addToIndex:int (default = -1 ) — The index to add obj as a child at in contain if addTo is passed as true .
The obj will be added at the top(default) if less than 0.
|
Boolean — Returns true or false based on the method's success.
|
See also
| scaleToFillStage | () | method |
public static function scaleToFillStage(obj:DisplayObject, preserveRatio:Boolean = true, center:Boolean = true):Boolean
Scales a DisplayObject to fill the entire stage. Unless ratio is exact to the stage, parts of the DisplayObject will be hidden off-stage. Requires the DisplayObject to be on the stage.
Parametersobj:DisplayObject — The DisplayObject to be scaled.
|
|
preserveRatio:Boolean (default = true ) — Whether to preserve the current x:y scale ratio of obj (default), or reset it to 1:1.
|
|
center:Boolean (default = true ) — Whether or not the DisplayObject is centered on the stage as well.
|
Boolean — Returns true or false based on the method's success.
|
See also
| scaleToFit | () | method |
public static function scaleToFit(obj:DisplayObject, contain:DisplayObject = null, preserveRatio:Boolean = true, center:Boolean = true, addTo:Boolean = false, addToIndex:int = -1):Boolean
Scales a DisplayObject to fit another DisplayObjct.
Be aware that if obj
's parent is used for the contain
parameter, obj
's own width would be a factor in the container's width it is being scaled into if it is out of bounds of the main container body.
obj:DisplayObject — The DisplayObject to be scaled.
|
|
contain:DisplayObject (default = null ) — The DisplayObject to scale within. If set to null (default) then obj 's parent will be used.
|
|
preserveRatio:Boolean (default = true ) — Whether to preserve the current x:y scale ratio of obj (default), or reset it to 1:1.
|
|
center:Boolean (default = true ) — Whether or not the scaled DisplayObject is to be centered within the container DisplayObject. Default is true.
|
|
addTo:Boolean (default = false ) — If true, add obj as a child of contain at the addToIndex parameter's value.
The contain parameter must be passed a DisplayObjectContainer .
|
|
addToIndex:int (default = -1 ) — The index to add obj as a child at in contain if addTo is passed as true.
The obj will be added at the top(default) if less than 0.
|
Boolean — Returns true or false based on the method's success.
|
See also
| scaleToFitStage | () | method |
public static function scaleToFitStage(obj:DisplayObject, preserveRatio:Boolean = true, center:Boolean = true):Boolean
Scales a DisplayObject to fit the stage. Requires the DisplayObject to be on the stage.
Parametersobj:DisplayObject — The DisplayObject to be scaled.
|
|
preserveRatio:Boolean (default = true ) — Whether to preserve the current x:y scale ratio of obj (default), or reset it to 1:1.
|
|
center:Boolean (default = true ) — Whether or not the DisplayObject is centered on the stage as well.
|
Boolean — Returns true or false based on the method's success.
|
See also
| stretchToFill | () | method |
public static function stretchToFill(obj:DisplayObject, contain:DisplayObject = null, center:Boolean = true, addTo:Boolean = false, addToIndex:int = -1):Boolean
Scales a DisplayObject to stretch to fill another DisplayObject entirely.
Be aware that if obj
's parent is used for the contain
parameter, obj
's own width would be a factor in the container's width it is being scaled into if it is out of bounds of the main container body.
obj:DisplayObject — The DisplayObject to be scaled.
|
|
contain:DisplayObject (default = null ) — The DisplayObject to scale within. If set to null (default) then obj 's parent will be used.
|
|
center:Boolean (default = true ) — Whether or not the DisplayObject is centered on the stage as well.
|
|
addTo:Boolean (default = false ) — If true, add obj as a child of contain at the addToIndex parameter's value.
The contain parameter must be passed a DisplayObjectContainer .
|
|
addToIndex:int (default = -1 ) — The index to add obj as a child at in contain if addTo is passed as true.
The obj will be added at the top(default) if less than 0.
|
Boolean — Returns true or false based on the method's success.
|
See also
| stretchToFillStage | () | method |
public static function stretchToFillStage(obj:DisplayObject, center:Boolean = true):Boolean
Scales a DisplayObject to stretch to fill the entire stage. Requires the DisplayObject to be on the stage.
Parametersobj:DisplayObject — The DisplayObject to be scaled.
|
|
center:Boolean (default = true ) — Whether or not the DisplayObject is centered on the stage as well.
|
Boolean — Returns true or false based on the method's success.
|
See also


About CAS
The Virginia Tech Central Authentication Service, CAS, is a single sign-on service that provides access to many secure VT Web sites and external sites that use Shibboleth.
The CAS wiki provides policy and technical information for integrating VT applications with CAS.
CAS Features
Warn
The warn checkbox on the login form provides additional information about a service that requests secure access via CAS. If the warn checkbox is selected, a screen like the following is displayed when a user attempts to access a CAS-enabled service.
PDC Login
CAS supports authentication via an SSL (X.509) client certificate issued by the Virginia Tech User CA, which is commonly referred to as a Personal Digial Certificate (PDC). PDC login is more secure than standard username password login for the following reasons:
- Certificates are more resistant to theft.
- Certificates are much more resistant to brute force attacks (analogous to password guessing).
At the present time, the only method of distributing PDCs is via the Aladdin eToken USB fob.
Single Sign-Out
When you end your CAS single sign-on session by logging out of CAS, CAS attempts to log you out of all the services that you visited during your session. While this works well under normal circumstances, there are a number of fundamental limitations with this feature. For that reason it is strongly recommended that you close your browser after logging out of CAS, particularly in cases where additional security is merited, such as a shared computer.
Login Problems
Forgotten Username/Password
Try our guided help system:Other Login Problems
Search the VT Knowledge Base for answers or call 4Help at<PHONE_NUMBER>.
InCommon Assurance
Virginia Tech is certified to assert InCommon Bronze and Silver qualifiers for PDC users who need to access federated services requiring higher levels of trust according to the InCommon Assurance Program. All CAS single sign-on sessions started with PDC authentication will convey these qualifiers to federated services via the Virginia Tech Shibboleth IdP.
Terms of Use
Acceptable Use Policy
Use of CAS is covered by the University Acceptable Use Policy.
In practical terms CAS is a University authentication system that shall be used to access services to which you are rightly entitled using credentials belonging to you. Any other use is prohibited.
Privacy Policy
Recorded Information
CAS records client IP addresses, user names, and accessed services in order to provide an audit trail in support of fraud, abuse, and other security investigations conducted by authorized University personnel. Recorded data may also be used for diagnostic and troubleshooting purposes. Recorded data (logs) are preserved for at least 30 days.
Disclosure of Personal Information
The data recorded by CAS is not disclosed to third parties unless under force of law.
Links
In a number of instances, CAS provides links to other Virginia Tech Web sites in order to support the primary purposes of the application. While the privacy practices of all University services are similar, the details may vary with the site. Consult the privacy statement on each site for further information.
The only links to external sites appear in the page footer. Virginia Tech is not responsible for the privacy practices or the content of such web sites.
Cookies
CAS uses a session cookie to track authenticated state exclusively if cookies are supported on the client browser. CAS supports a cookie-less mode that provides a degraded user experience.
Security Practices
CAS is deployed and managed according to best practices with regard to security and availability. In particular, sensitive information is transmitted to CAS using strong encryption. Additionally, CAS does not store sensitive information such as user passwords.


To complete and confirm your registration, you’ll need to verify your email address. To do so, please click the link below:
Verify Email
If you have any questions, please contact us via e-mail {support_email}, or via the Contact us form.
If you’re having trouble clicking the "Verify Email" button, copy and paste the URL below into your web browser:
{verify_link}


Class: bucketing
http://nmrML.org/nmrCV#NMR:1400138
Annotations (3)
-
has_exact_synonym "binning" ()
-
comment "def: A post-processing method that divides a pre-processed NMR spectrum into a series of buckets (or bins) along the x-axis, and then integrates the spectral intensity within each bucket.
altdef: A type of automated integration which occurs across pre-defined regions for a spectrum." (string)
-
label "bucketing" (string)
Superclasses (1)
Usage (1)


Opening Remote Files In Emacs Using SSH
Table of Contents
Beginning
For some strange reason, the emacs wiki page on tramp mode doesn't have instructions on how to open a file on a remote machine using tramp in its main section. You instead have to go down to the Tips and Tricks and try and pick out a version that works. So I'm writing this here so I maybe won't have to do all the searching I did the next time. This is the version that worked for me (Emacs 27.0.50, Ubuntu 19.04).
Middle
Editing a Remote User File
You start by opening the file like you would a local file (C-x C-f
) and then in when the minibuffer opens up you use this syntax for the path:
/ssh:<username>@<hostname>>:<path to file>
So, for example, I have an SSH alias to hades@erebus
named Hades
and if I wanted to edit the emacs init file on that machine I would use this:
/ssh:Hades:.emacs.d/init.el
Editing a Remote File As Root
To open a file as root you stick an extra pipe (|sudo
) into the previous path syntax.
/ssh:<username>@<hostname>|sudo:<hostname>:<path to file>
This syntax doesn't work with SSH aliases (or didn't seem to when I tried), so editing the /etc/apt/sources.list
file the same machine as before would use this:
/ssh:hades@erebus|sudo:erebus:/etc/apt/sources.list
End
I got the sudo
version from Stack Overflow (of course).


Welcome to Meteor!
Upload
{{>dropzone url="/upload" id="template-helper"}}
Results
After uploading a file, you should now see it inside of the the public/uploads/ directory.


- getDiscourseMarkers(String) - Static method in class com.lab.model.DomainIndependentModel
-
This method returns the count of the discourse markers present in the
text.
- getFeatures(String) - Static method in class com.lab.model.DomainIndependentModel
-
This method is responsible for collecting all the features.
- getHeaderLabel() - Static method in class com.lab.model.DomainIndependentModel
-
Return the Header/Title Label
- getInitCaps(String) - Static method in class com.lab.model.DomainIndependentModel
-
This method returns the count of words having the initial letters
capitalized.
- getLabel(int, int) - Static method in class com.lab.model.DomainIndependentModel
-
This method invokes the webservice hosted at python end to fetch the
label for the given parameters.
- getNERSlots(String) - Static method in class com.lab.model.DomainIndependentModel
-
This method performs Named Entity Recognition and returns the number of
named entities in the given text.
- getParents(Element) - Static method in class com.lab.model.DomainDependentModel
-
This method returns the parent tag pattern of the given element.
- getParents(Element) - Static method in class com.lab.model.DomainIndependentModel
-
This method returns the parent tag pattern of the given element.
- getResultBuffer() - Method in class com.lab.utils.Stemmer
-
Returns a reference to a character buffer containing the results of
the stemming process.
- getResultLength() - Method in class com.lab.utils.Stemmer
-
Returns the length of the word resulting from the stemming process.
- getSomePatterns(Element) - Static method in class com.lab.model.DomainDependentModel
-
This method fetches the xpaths of headers/titles.
- getSomePatterns(Element) - Static method in class com.lab.model.DomainIndependentModel
-
This method applies the greedy technique and fetches the xpaths of the
element until it hits the body tag or a unique signature.
- getStopWords(String) - Static method in class com.lab.model.DomainDependentModel
-
This method returns the count of the stop words in the given text.
- getStopWords(String) - Static method in class com.lab.model.DomainIndependentModel
-
This method returns the count of the stop words in the given text.


Tutorial
Sign Up For Fresno
First Name
Last Name
Email
Password
Confirm Password
Sign up
You are already logged in.


{% extends 'base.html' %} {% block content %}
Stateless DNS manager with support for DynDNS-clients.
No domains, add one!
Add domain


Handlers represent the mechanism that backs a resource. Each handler is an object expected to provide:
a constructor with an option parameter that can be used to inject any required handler specific configuration.
a ready property indicating the handler is ready to process requests.
some of the following methods:
initialise - when @jagql/framework loads, this is invoked once for every resource using this handler. Its an opportunity to allocate memory, connect to databases, etc.
close - for cleaning up upon jsonApi.close() (optional)
search - for searching for resources that match some vague parameters.
find - for finding a specific resource by id.
create - for creating a new instance of a resource.
delete - for deleting an existing resource.
update - for updating an existing resource.
Failure to provide the above handler functions will result in EFORBIDDEN HTTP errors if the corresponding REST routes are requested.
The rawResource Format
All data stored behind handlers should be stored in a developer-friendly format with both attributes and relations mingled together:
In the above example the photographer attribute is defined as relation to a resource of type people. @jagql/framework will deal with shuffling around and separating those attributes and relations when it needs to. Keep It Simple.
The request Format
All requests are presented to handlers in the following format:
{
params: {
// All request parameters get combined into this object. Query params, body params, etc.
foo: "bar"
},
headers: {
// All HTTP request headers
host: "localhost:16006",
connection: "keep-alive"
},
express: {
req, // Express req and res objects
res
}
route: {
// Routing information
host: "localhost:16006",
path: "/v1/swagger.json",
query: "foo=bar&baz=1",
combined: "https://localhost:16006/v1/swagger.json"
}
}
The error Format
All errors should be provided in the following format:
{
// The desired HTTP code
status: "404",
// A very short identifier for this error
code: "ENOTFOUND",
// A short human readable description
title: "Requested resource does not exist",
// Some detail to assist debugging
detail: "There is no "+request.params.type+" with id "+request.params.id
}
constructor
The handler object constructor can, depending on the handler's requirements, expect a object parameter which will contain any properties required for configuring the handler. For example if the handler uses a database for persistence the configuration object will contain the properties required to connect to the database.
ready
The ready property should be set to a truthy value once the handler is ready to process requests (which will usually happen at the end of initialise). If the handler is temporarily unable to process requests this property should be set to a falsy value during the down period.
handles<Sort|Filter>
Some post-process steps can be handled within the handler itself. For instance, some handlers may be capable of
returning data that is already sorted in the correct order. If the handlesSort or handlesFilter property is set to
a truthy value on the custom handler instance, then the corresponding post-processing step will be skipped.
The following flags can be set:
{
handlesSort: true; // skips the 'sort' post process step
handlesFilter: true; // skips the 'filter' post process step// . . .
}
initialise
initialise is invoked with the resourceConfig of each resource using this handler.
function(resourceConfig) { };
resourceConfig is the complete configuration object passed in to jsonApi.define().
close
close is invoked without any parameters, when jsonApi.close() is called.
It should close database connections, file handles, timers, event listeners, etc, as though initialise were never called.
search
search is invoked with a request object (see above).
function(request, callback) { };
the callback should be invoked with with an error or null, [ rawResource ], count.
search needs to watch for any request.params.relationships parameters, they represent foreign key lookups. An example of this:
translates to "Find me all of the resources whose user attribute is a link to a resource with id == ad3aa89e-9c5b-4ac9-a652-6670f9f27587".
find
find is invoked with a request object (see above).
function(request, callback){ };
the callback should be invoked with with an error or null, rawResource.
create
create is invoked with a request object (see above) AND a newResource object which is an instance of rawResource representing a validated instance of type request.params.type. The newResource will already have an id and is ready to be stored as per the resource definition.
function(request, newResource, callback) { };
the callback should be invoked with with an error or null, newResource.
delete
delete is invoked with a request object (see above). It should delete the resource of type request.params.type and id request.params.id.
function(request, callback){ };
the callback should be invoked with with an error or null.
update
update is invoked with a request object (see above) and a partialResource which represents a partial instance of rawResource - the properties of rawResource need to be merged over the original resource and saved.
function(request, partialResource, callback){ };
the callback should be invoked with with an error or null, newUpdatedResource.
Creating Custom Handlers
Handlers represent the mechanism that backs a resource. Each handler is an object expected to provide:
ready
property indicating the handler is ready to process requests.initialise
- when @jagql/framework loads, this is invoked once for every resource using this handler. Its an opportunity to allocate memory, connect to databases, etc.close
- for cleaning up uponjsonApi.close()
(optional)search
- for searching for resources that match some vague parameters.find
- for finding a specific resource by id.create
- for creating a new instance of a resource.delete
- for deleting an existing resource.update
- for updating an existing resource.Failure to provide the above handler functions will result in
EFORBIDDEN
HTTP errors if the corresponding REST routes are requested.The
rawResource
FormatAll data stored behind handlers should be stored in a developer-friendly format with both attributes and relations mingled together:
{ id: "aab14844-97e7-401c-98c8-0bd5ec922d93", type: "photos", title: "Matrix Code", url: "http://www.example.com/foobar", photographer: { type: "people", id: "ad3aa89e-9c5b-4ac9-a652-6670f9f27587" } }
In the above example the
photographer
attribute is defined as relation to a resource of typepeople
. @jagql/framework will deal with shuffling around and separating those attributes and relations when it needs to. Keep It Simple.The
request
FormatAll requests are presented to handlers in the following format:
{ params: { // All request parameters get combined into this object. Query params, body params, etc. foo: "bar" }, headers: { // All HTTP request headers host: "localhost:16006", connection: "keep-alive" }, express: { req, // Express req and res objects res } route: { // Routing information host: "localhost:16006", path: "/v1/swagger.json", query: "foo=bar&baz=1", combined: "https://localhost:16006/v1/swagger.json" } }
The
error
FormatAll errors should be provided in the following format:
{ // The desired HTTP code status: "404", // A very short identifier for this error code: "ENOTFOUND", // A short human readable description title: "Requested resource does not exist", // Some detail to assist debugging detail: "There is no "+request.params.type+" with id "+request.params.id }
constructor
The handler object constructor can, depending on the handler's requirements, expect a object parameter which will contain any properties required for configuring the handler. For example if the handler uses a database for persistence the configuration object will contain the properties required to connect to the database.
ready
The
ready
property should be set to a truthy value once the handler is ready to process requests (which will usually happen at the end ofinitialise
). If the handler is temporarily unable to process requests this property should be set to a falsy value during the down period.handles<Sort|Filter>
Some post-process steps can be handled within the handler itself. For instance, some handlers may be capable of returning data that is already sorted in the correct order. If the
handlesSort
orhandlesFilter
property is set to a truthy value on the custom handler instance, then the corresponding post-processing step will be skipped.The following flags can be set:
{ handlesSort: true; // skips the 'sort' post process step handlesFilter: true; // skips the 'filter' post process step // . . . }
initialise
initialise
is invoked with theresourceConfig
of each resource using this handler.function(resourceConfig) { };
resourceConfig
is the complete configuration object passed in tojsonApi.define()
.close
close
is invoked without any parameters, whenjsonApi.close()
is called. It should close database connections, file handles, timers, event listeners, etc, as thoughinitialise
were never called.search
search
is invoked with arequest
object (see above).function(request, callback) { };
the
callback
should be invoked with with anerror
ornull, [ rawResource ], count
.search
needs to watch for anyrequest.params.relationships
parameters, they represent foreign key lookups. An example of this:request.params.relationships = { user: "ad3aa89e-9c5b-4ac9-a652-6670f9f27587" }
translates to "Find me all of the resources whose user attribute is a link to a resource with id == ad3aa89e-9c5b-4ac9-a652-6670f9f27587".
find
find
is invoked with arequest
object (see above).function(request, callback) { };
the
callback
should be invoked with with anerror
ornull, rawResource
.create
create
is invoked with arequest
object (see above) AND anewResource
object which is an instance ofrawResource
representing a validated instance of typerequest.params.type
. ThenewResource
will already have anid
and is ready to be stored as per the resource definition.function(request, newResource, callback) { };
the
callback
should be invoked with with anerror
ornull, newResource
.delete
delete
is invoked with arequest
object (see above). It should delete the resource of typerequest.params.type
and idrequest.params.id
.function(request, callback) { };
the
callback
should be invoked with with anerror
ornull
.update
update
is invoked with arequest
object (see above) and apartialResource
which represents a partial instance ofrawResource
- the properties ofrawResource
need to be merged over the original resource and saved.function(request, partialResource, callback) { };
the
callback
should be invoked with with anerror
ornull, newUpdatedResource
.


A handy tool for viewing Game Boy and NES tilesets (.chr files). It can also convert images into these formats!
see also: (source code)


Python Documentation¶
Data module¶
-
titanic.data.clean.
fix_categories
(df: pandas.DataFrame) → pandas.DataFrame¶ Rename the levels of certain categorical variables in the data.
- Parameters
df – The data
- Returns
- The data with the following variables transformed.
Pclass
from 1, 2, 3 to “Upper”, “Middle”, and “Lower”. It is also converted from unordered to ordered.Embarked
from “C”, “Q”, and “S” to “Cherbourg”, “Queenstown”, and “Southampton”
-
titanic.data.clean.
main
(input_filepath: str, output_filepath: str) → None¶ A wrapper around
make_dataset()
that can be called from the command line.The combined data set is pickled and saved to
output_filepath
.- Parameters
input_filepath – Path to the raw data
output_filepath – Path where the combined data set will be saved
-
titanic.data.clean.
make_dataset
(input_filepath: pathlib.Path) → pandas.DataFrame¶ Reads in the raw Titanic data and combine it into a single dataset with correct data types.
- Parameters
input_filepath – Path to the raw data (
train.csv
andtest.csv
)- Returns
A DataFrame containing
train
andtest
data stacked together. It has a MultiIndex where the inner level is the passenger ID and the outer level is “train” or “test” depending on the source of the row. That way, the training and test datasets can be easily recovered usingdf.loc['train']
ordf.loc['test']
respectively.
-
titanic.data.clean.
read_data
(fp: pathlib.Path) → pandas.DataFrame¶ Read in a raw data file.
- Parameters
fp – Path to the raw data file.
- Returns
A DataFrame.
Features module¶
-
titanic.features.transform.
engineer_features
(df: pandas.DataFrame) → pandas.DataFrame¶ Transform the data by imputing and creating new features that will be useful for prediction.
- Performs the following steps:
Converts
Survived
to 0/1 rather thanTrue
/False
Creates an indicator for missing
Cabin
informationExtracts titles from
Name
Defines
Relatives
, the sum ofSibSp
andParch
Bins
Relatives
,SibSp
andParch
Drops
Name
,Ticket
andCabin
Imputes
Embarked
using the most frequent embarkation portImputes
Age
andFare
based on 5-nearest neighborsScales
Age
andFare
Bins
Age
One-hot encodes categorical variables
- Parameters
df – Cleaned and combined data output by
make_dataset()
- Returns
The processed data
- Return type
pd.DataFrame
-
titanic.features.transform.
main
(input_filepath: str, output_filepath: str) → None¶ A wrapper around
engineer_features()
that can be called from the command line.- Parameters
input_filepath – Path to the data created by
make_dataset()
output_filepath – Path where the processed data will be saved
Train module¶
-
titanic.models.train.
fit_model
(x: pandas.DataFrame, y: pandas.Series, model: dict, seed: int = None) → sklearn.model_selection.RandomizedSearchCV¶ Fit a model to data.
Performs a 5-fold cross-validated randomized search to find optimal model hyperparameters.
- Parameters
x – Training data covariates
y – Training data response
model –
A dictionary where
model['estimator']
is a Scikit-learn estimator andmodel['params']
is a set of parameter distributions that are passed to RandomizedSearchCV. For example:{ 'estimator': LogisticRegression(), 'params': {'C': loguniform(1e-3, 1e-2)} }
seed – A random seed for the CV procedure.
- Returns
A fitted
RandomizedSearchCV
object.
-
titanic.models.train.
fit_models
(x: pandas.DataFrame, y: pandas.Series, models: dict, seed: int = None) → Dict[str, sklearn.model_selection.RandomizedSearchCV]¶ Fit multiple models in succession.
This is nothing more than an iteration through the models, calling
fit_model()
on each one.- Parameters
x – Training data covariates
y – Training data response
models – A dictionary of model specifications
seed – A random seed to apply to each CV procedure
- Returns
A dictionary with keys matching the keys of
models
and values that are fitted RandomizedSearchCV objects.
-
titanic.models.train.
main
(input_filepath: str, output_filepath: str) → None¶ A wrapper around
fit_models()
that can be called from the command line.Fits the models, pickles the fitted model objects, and writes them out to
output_filepath
.- Parameters
input_filepath – Path to the processed data
output_filepath – Path where the fitted models will be saved
-
titanic.models.train.
print_cv_score
(fitted_model: sklearn.model_selection.RandomizedSearchCV) → str¶ Pretty prints the best CV score attained by the randomized hyperparameter search.
- Parameters
fitted_model – The fitted CV search object
- Returns
A string stating the name of the estimator, the score, and the 95% margin of error around the score.
-
titanic.models.train.
vote
(x: pandas.DataFrame, y: pandas.Series, fitted_models: dict) → sklearn.ensemble.VotingClassifier¶ Train a voting classifier based on a set of fitted models
- Parameters
x – Training data covariates
y – Training data response
fitted_models – Fitted RandomizedSearchCV objects from
fit_models()
- Returns
A fitted voting classifier model
Predict module¶
-
titanic.models.predict.
main
(data_filepath: str, model_filepath: str, output_filepath: str) → None¶ A wrapper around
predict()
that can be run from the command line.- Parameters
data_filepath – Path to the processed data
model_filepath – Path to the pickled models
output_filepath – Path where the predictions will be saved
-
titanic.models.predict.
predict
(model, data) → pandas.DataFrame¶ Generate test set predictions in the correct format for submission to Kaggle.
- Parameters
model – A fitted RandomizedSearchCV object
data – Test data
- Returns
A DataFrame with one column of predicted
Survived
values, indexed by passenger ID


Bacon
Bacon ipsum dolor amet pork belly meatball kevin spare ribs. Frankfurter swine corned beef meatloaf, strip steak.
Ribs
Bacon ipsum dolor amet pork belly meatball kevin spare ribs. Frankfurter swine corned beef meatloaf, strip steak.
Ribs
Bacon ipsum dolor amet pork belly meatball kevin spare ribs. Frankfurter swine corned beef meatloaf, strip steak.
Screen Title
CoordinatorLayout %.treevis-root AppBarLayout %.appbar Toolbar app:layout_scrollFlags=scroll|enterAlways layout_height=?actionBarSize %.appbar RecyclerView app:layout_behavior=@string/appbar_scrolling_view_behavior %.cardlist CardView %.card-1 CardView %.card-2 ... FloatingActionButton layout_gravity=bottom|right %.fab


All Friends
(current)
Friend Requests
Sent Request
Friends
All Friends
Friend Requests
Sent Request
All Friends


|
| subroutine | tdma_parallel::tdma_setup (n, np_world, rank_world) |
| | Initialize local private variables from global input parameters. More...
|
| |
| subroutine | tdma_parallel::cr_solver (a_mpi, b_mpi, c_mpi, r_mpi, x_mpi) |
| | CR solver: cr_forward_multiple + cr_forward_single + cr_backward_single + cr_backward_multiple. More...
|
| |
| subroutine | tdma_parallel::cr_pcr_solver (a_mpi, b_mpi, c_mpi, r_mpi, x_mpi) |
| | CR-PCR solver: cr_forward_multiple + pcr_forward_single + cr_backward_multiple. More...
|
| |
| subroutine | tdma_parallel::thomas_pcr_solver (a_mpi, b_mpi, c_mpi, r_mpi, x_mpi) |
| | Thomas-PCR solver: pThomas_forward_multiple + pcr_forward_double + pThomas_backward_multiple. More...
|
| |
| subroutine | tdma_parallel::cr_forward_multiple_row |
| | Forward elimination of CR until a single row per MPI process remains. More...
|
| |
| subroutine | tdma_parallel::cr_backward_multiple_row |
| | Backward substitution of CR after single-row solution per MPI process is obtained. More...
|
| |
| subroutine | tdma_parallel::cr_forward_single_row |
| | Forward elimination of CR between a single row per MPI process. More...
|
| |
| subroutine | tdma_parallel::cr_backward_single_row |
| | Backward substitution of CR until every MPI process gets solution for its single row. More...
|
| |
| subroutine | tdma_parallel::pcr_forward_single_row |
| | PCR between a single row per MPI process and 2x2 matrix solver between i and i+nprocs/2 rows. More...
|
| |
| subroutine | tdma_parallel::pthomas_forward_multiple_row |
| | First phase of hybrid Thomas and PCR algorithm. More...
|
| |
| subroutine | tdma_parallel::pcr_double_row_substitution |
| | PCR solver for two equations per each MPI process. More...
|
| |
| subroutine | tdma_parallel::verify_solution (a_ver, b_ver, c_ver, r_ver, x_sol) |
| | Solution check. More...
|
| |


Home
Theatres
Movie Experiences
Food and Drinks
Book Tickets
Select Your Seats
Available =
Occupied =
Selected =
Select Theatre Location
Brampton
North York
Mississauga
Markham
Enola Holmes
Bird Box
Avengers: Endgame
Joker
Jumanji: The Next Level
Grown Ups
The Hunger Games
Mulan
Despicable Me
Jurassic World
Knives Out
Interstellar
47 Meters Down: Uncaged
The Lion King
Deadpool


| Opcode/Instruction | Op /En | 64/32 bit Mode Support | CPUID Feature Flag | Description |
|---|---|---|---|---|
| F2 0F C2 /r ib CMPSD xmm1, xmm2/m64, imm8 | RMI | V/V | SSE2 | Compare low double-precision floating-point value in xmm2/m64 and xmm1 using bits 2:0 of imm8 as comparison predicate. |
| VEX.NDS.128.F2.0F.WIG C2 /r ib VCMPSD xmm1, xmm2, xmm3/m64, imm8 | RVMI | V/V | AVX | Compare low double-precision floating-point value in xmm3/m64 and xmm2 using bits 4:0 of imm8 as comparison predicate. |
| EVEX.NDS.LIG.F2.0F.W1 C2 /r ib VCMPSD k1 {k2}, xmm2, xmm3/m64{sae}, imm8 | T1S | V/V | AVX512F | Compare low double-precision floating-point value in xmm3/m64 and xmm2 using bits 4:0 of imm8 as comparison predicate with writemask k2 and leave the result in mask register k1. |
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| RMI | ModRM:reg (r, w) | ModRM:r/m (r) | Imm8 | NA |
| RVMI | ModRM:reg (w) | VEX.vvvv | ModRM:r/m (r) | Imm8 |
| T1S | ModRM:reg (w) | EVEX.vvvv | ModRM:r/m (r) | Imm8 |
Compares the low double-precision floating-point values in the second source operand and the first source operand and returns the results in of the comparison to the destination operand. The comparison predicate operand (imme-diate operand) specifies the type of comparison performed.
128-bit Legacy SSE version: The first source and destination operand (first operand) is an XMM register. The second source operand (second operand) can be an XMM register or 64-bit memory location. Bits (MAX_VL-1:64) of the corresponding YMM destination register remain unchanged. The comparison result is a quadword mask of all 1s (comparison true) or all 0s (comparison false).
VEX.128 encoded version: The first source operand (second operand) is an XMM register. The second source operand (third operand) can be an XMM register or a 64-bit memory location. The result is stored in the low quad-word of the destination operand; the high quadword is filled with the contents of the high quadword of the first source operand. Bits (MAX_VL-1:128) of the destination ZMM register are zeroed. The comparison result is a quad-word mask of all 1s (comparison true) or all 0s (comparison false).
EVEX encoded version: The first source operand (second operand) is an XMM register. The second source operand can be a XMM register or a 64-bit memory location. The destination operand (first operand) is an opmask register. The comparison result is a single mask bit of 1 (comparison true) or 0 (comparison false), written to the destination starting from the LSB according to the writemask k2. Bits (MAX_KL-1:128) of the destination register are cleared.
The comparison predicate operand is an 8-bit immediate:
The unordered relationship is true when at least one of the two source operands being compared is a NaN; the ordered relationship is true when neither source operand is a NaN.
A subsequent computational instruction that uses the mask result in the destination operand as an input operand will not generate an exception, because a mask of all 0s corresponds to a floating-point value of +0.0 and a mask of all 1s corresponds to a QNaN.
Note that processors with “CPUID.1H:ECX.AVX =0” do not implement the “greater-than”, “greater-than-or-equal”, “not-greater than”, and “not-greater-than-or-equal relations” predicates. These comparisons can be made either by using the inverse relationship (that is, use the “not-less-than-or-equal” to make a “greater-than” comparison)
or by using software emulation. When using software emulation, the program must swap the operands (copying registers when necessary to protect the data that will now be in the destination), and then perform the compare using a different predicate. The predicate to be used for these emulations is listed in the first 8 rows of Table 3-7 (Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2A) under the heading Emulation.
Compilers and assemblers may implement the following two-operand pseudo-ops in addition to the three-operand CMPSD instruction, for processors with “CPUID.1H:ECX.AVX =0”. See Table 3-6. Compiler should treat reserved Imm8 values as illegal syntax.
:
| Pseudo-Op | CMPSD Implementation |
|---|---|
| CMPEQSD xmm1, xmm2 | CMPSD xmm1, xmm2, 0 |
| CMPLTSD xmm1, xmm2 | CMPSD xmm1, xmm2, 1 |
| CMPLESD xmm1, xmm2 | CMPSD xmm1, xmm2, 2 |
| CMPUNORDSD xmm1, xmm2 | CMPSD xmm1, xmm2, 3 |
| CMPNEQSD xmm1, xmm2 | CMPSD xmm1, xmm2, 4 |
| CMPNLTSD xmm1, xmm2 | CMPSD xmm1, xmm2, 5 |
| CMPNLESD xmm1, xmm2 | CMPSD xmm1, xmm2, 6 |
| CMPORDSD xmm1, xmm2 | CMPSD xmm1, xmm2, 7 |
The greater-than relations that the processor does not implement require more than one instruction to emulate in software and therefore should not be implemented as pseudo-ops. (For these, the programmer should reverse the operands of the corresponding less than relations and use move instructions to ensure that the mask is moved to the correct destination register and that the source operand is left intact.)
Processors with “CPUID.1H:ECX.AVX =1” implement the full complement of 32 predicates shown in Table 3-7, soft-ware emulation is no longer needed. Compilers and assemblers may implement the following three-operand pseudo-ops in addition to the four-operand VCMPSD instruction. See Table 3-7, where the notations of reg1 reg2, and reg3 represent either XMM registers or YMM registers. Compiler should treat reserved Imm8 values as illegal syntax. Alternately, intrinsics can map the pseudo-ops to pre-defined constants to support a simpler intrinsic inter-face. Compilers and assemblers may implement three-operand pseudo-ops for EVEX encoded VCMPSD instructions in a similar fashion by extending the syntax listed in Table 3-7.
:
| Pseudo-Op | CMPSD Implementation |
|---|---|
| VCMPEQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 0 |
| VCMPLTSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 1 |
| VCMPLESD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 2 |
| VCMPUNORDSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 3 |
| VCMPNEQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 4 |
| VCMPNLTSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 5 |
| VCMPNLESD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 6 |
| VCMPORDSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 7 |
| VCMPEQ_UQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 8 |
| VCMPNGESD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 9 |
| VCMPNGTSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 0AH |
| VCMPFALSESD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 0BH |
| VCMPNEQ_OQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 0CH |
| VCMPGESD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 0DH |
| Pseudo-Op | CMPSD Implementation |
|---|---|
| VCMPGTSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 0EH |
| VCMPTRUESD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 0FH |
| VCMPEQ_OSSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 10H |
| VCMPLT_OQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 11H |
| VCMPLE_OQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 12H |
| VCMPUNORD_SSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 13H |
| VCMPNEQ_USSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 14H |
| VCMPNLT_UQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 15H |
| VCMPNLE_UQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 16H |
| VCMPORD_SSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 17H |
| VCMPEQ_USSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 18H |
| VCMPNGE_UQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 19H |
| VCMPNGT_UQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 1AH |
| VCMPFALSE_OSSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 1BH |
| VCMPNEQ_OSSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 1CH |
| VCMPGE_OQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 1DH |
| VCMPGT_OQSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 1EH |
| VCMPTRUE_USSD reg1, reg2, reg3 | VCMPSD reg1, reg2, reg3, 1FH |
Software should ensure VCMPSD is encoded with VEX.L=0. Encoding VCMPSD with VEX.L=1 may encounter unpre-dictable behavior across different processor generations.
CASE (COMPARISON PREDICATE) OF 0: OP3 (cid:197)EQ_OQ; OP5 (cid:197)EQ_OQ; 1: OP3 (cid:197)LT_OS; OP5 (cid:197)LT_OS; 2: OP3 (cid:197)LE_OS; OP5 (cid:197)LE_OS; 3: OP3 (cid:197)UNORD_Q; OP5 (cid:197)UNORD_Q; 4: OP3 (cid:197)NEQ_UQ; OP5 (cid:197)NEQ_UQ; 5: OP3 (cid:197)NLT_US; OP5 (cid:197)NLT_US; 6: OP3 (cid:197)NLE_US; OP5 (cid:197)NLE_US; 7: OP3 (cid:197)ORD_Q; OP5 (cid:197)ORD_Q; 8: OP5 (cid:197)EQ_UQ; 9: OP5 (cid:197)NGE_US; 10: OP5 (cid:197)NGT_US; 11: OP5 (cid:197)FALSE_OQ; 12: OP5 (cid:197)NEQ_OQ; 13: OP5 (cid:197)GE_OS; 14: OP5 (cid:197)GT_OS; 15: OP5 (cid:197)TRUE_UQ; 16: OP5 (cid:197)EQ_OS; 17: OP5 (cid:197)LT_OQ; 18: OP5 (cid:197)LE_OQ; 19: OP5 (cid:197)UNORD_S; 20: OP5 (cid:197)NEQ_US; 21: OP5 (cid:197)NLT_UQ; 22: OP5 (cid:197)NLE_UQ; 23: OP5 (cid:197)ORD_S; 24: OP5 (cid:197)EQ_US; 25: OP5 (cid:197)NGE_UQ; 26: OP5 (cid:197)NGT_UQ; 27: OP5 (cid:197)FALSE_OS; 28: OP5 (cid:197)NEQ_OS; 29: OP5 (cid:197)GE_OQ; 30: OP5 (cid:197)GT_OQ; 31: OP5 (cid:197)TRUE_US; DEFAULT: Reserved ESAC;
VCMPSD (EVEX encoded version)
CMP0 (cid:197) SRC1[63:0] OP5 SRC2[63:0]; IF k2[0] or *no writemask* THEN IF CMP0 = TRUE THEN DEST[0] (cid:197) 1; ELSE DEST[0] (cid:197) 0; FI; ELSE DEST[0] (cid:197) 0 ; zeroing-masking only FI; DEST[MAX_KL-1:1] (cid:197) 0
CMPSD (128-bit Legacy SSE version)
CMP0 (cid:197)DEST[63:0] OP3 SRC[63:0]; IF CMP0 = TRUE THEN DEST[63:0] (cid:197)FFFFFFFFFFFFFFFFH; ELSE DEST[63:0] (cid:197)0000000000000000H; FI; DEST[MAX_VL-1:64] (Unmodified)
VCMPSD (VEX.128 encoded version)
CMP0 (cid:197)SRC1[63:0] OP5 SRC2[63:0]; IF CMP0 = TRUE THEN DEST[63:0] (cid:197)FFFFFFFFFFFFFFFFH; ELSE DEST[63:0] (cid:197)0000000000000000H; FI; DEST[127:64] (cid:197)SRC1[127:64] DEST[MAX_VL-1:128] (cid:197)0
VCMPSD __mmask8 _mm_cmp_sd_mask( __m128d a, __m128d b, int imm);
VCMPSD __mmask8 _mm_cmp_round_sd_mask( __m128d a, __m128d b, int imm, int sae);
VCMPSD __mmask8 _mm_mask_cmp_sd_mask( __mmask8 k1, __m128d a, __m128d b, int imm);
VCMPSD __mmask8 _mm_mask_cmp_round_sd_mask( __mmask8 k1, __m128d a, __m128d b, int imm, int sae);
(V)CMPSD __m128d _mm_cmp_sd(__m128d a, __m128d b, const int imm)
Invalid if SNaN operand, Invalid if QNaN and predicate as listed in Table 3-1 Denormal.
| VEX-encoded instructions, see Exceptions Type 3. |
| EVEX-encoded instructions, see Exceptions Type E3. |