| Trees | Index | Help |
|
|---|
| Module xmlsec :: Class TmplTransform |
|
xmlCore
--+ |xmlNode
--+ | TmplTransform
| Method Summary | |
|---|---|
__init__(self,
_obj)
| |
Adds 'inclusive' namespaces to the ExcC14N transform node. | |
Creates <dsig:HMACOutputLength/> child for the HMAC transform node. | |
Creates <enc:OAEPParam/> child node in the node. | |
Writes XPath transform infromation to the <dsig:Transform/> node node. | |
Writes XPath2 transform infromation to the <dsig:Transform/> node. | |
Writes XPoniter transform infromation to the <dsig:Transform/> node. | |
Writes the XSLT transform expression to the node. | |
| Inherited from xmlNode | |
| |
Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. | |
Add a list of node at the end of the child list of the... | |
Append the extra substring to the node content. | |
Append the extra substring to the node content. | |
Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. | |
Add a new node @elem as the previous sibling of @cur merging adjacent TEXT nodes (@elem may be freed) If the new node was already inserted in a document it is first unlinked from its existing context. | |
Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context. | |
Do a copy of the node. | |
Do a recursive copy of the node list. | |
Do a copy of the attribute. | |
Do a copy of an attribute list. | |
Dumps debug information for the element node, it is... | |
Dumps debug information for the list of element node, it is... | |
Dumps debug information for the element node, it is not... | |
Do a copy of the node to a given document. | |
Set the root element of the document (doc->children is a list containing possibly comments, PIs, etc ...). | |
Free a node, this is a recursive behaviour, all the children are freed too. | |
Free a node and all its siblings, this is a recursive behaviour, all the children are freed too. | |
Searches for the BASE URL. | |
Read the value of a node, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). | |
Searches the language of a node, i.e. | |
Searches the space preserving behaviour of a node, i.e. | |
Search for an attribute associated to a node This attribute has to be anchored in the namespace specified. | |
Search an attribute associated to a node This function also looks in DTD attribute declaration for #FIXED or default declaration values unless DTD use has been turned off. | |
Checks whether this node is an empty or whitespace only (and possibly ignorable) text-node. | |
Determine whether an attribute is of type ID. | |
Determine whether an attribute is of type Ref. | |
Is this node a Text node ?... | |
Search the last child of a node. | |
Get line number of @node. | |
Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() this function doesn't do any character encoding handling. | |
Build the string equivalent to the text contained in the... | |
Count the children of @node. | |
Dump to @output the type and name of @node. | |
Creation of a new child element, added at the end of @parent children list. | |
Creation of a new Namespace. | |
Create a new property tagged with a namespace and carried by a node. | |
Create a new property tagged with a namespace and carried by a node. | |
Create a new property carried by a node. | |
Creation of a new child element, added at the end of @parent children list. | |
Build a structure based Path for the given node... | |
Search and get the value of an attribute associated to a node This does the entity substitution. | |
Get the namespace of a node... | |
Get the namespace of a node... | |
Search and get the value of an attribute associated to a node This attribute has to be anchored in the namespace specified. | |
Search and get the value of an attribute associated to a node This does the entity substitution. | |
This function checks that all the namespaces declared within the given tree are properly declared. | |
Unlink the old node from its current context, prune the new one at the same place. | |
Search a Ns registered under a given name space for a document. | |
Search a Ns aliasing a given URI. | |
Set (or reset) the base URI of a node, i.e. | |
Replace the content of a node. | |
Replace the content of a node. | |
Set the language of a node, i.e. | |
update all nodes in the list to point to the right document... | |
Set (or reset) the name of a node. | |
Associate a namespace to a node, a posteriori. | |
Set (or reset) an attribute carried by a node. | |
Set (or reset) an attribute carried by a node. | |
Set (or reset) the space preserving behaviour of a node, i.e. | |
update all nodes under the tree to point to the right... | |
Print node to the output FILE... | |
Concat the given string at the end of the existing node... | |
Merge two text nodes into one... | |
Unlink a node from it's current context, the node is not... | |
Remove an attribute carried by a node. | |
Remove an attribute carried by a node. | |
Does the validation related extra step of the normalization of attribute values: If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character. | |
Implement the XInclude substitution for the given subtree... | |
Implement the XInclude substitution for the given subtree... | |
Converts a node to its number value... | |
Converts a node to its string value. | |
Compare two nodes w.r.t document order... | |
Create a new xmlXPathObjectPtr of type NodeSet and... | |
Create a new xmlXPathObjectPtr of type Value Tree (XSLT)... | |
Traversal function for the "ancestor" direction the... | |
Traversal function for the "ancestor-or-self" direction he ancestor-or-self axis contains the context node and ancestors of the context node in reverse document order; thus the context node is the first node on the axis, and the context node's parent the second; parent here is defined the same as with the parent axis. | |
Traversal function for the "attribute" direction TODO:... | |
Traversal function for the "child" direction The child axis contains the children of the context node in document order. | |
Traversal function for the "descendant" direction the descendant axis contains the descendants of the context node in document order; a descendant is a child or a child of a child and so on. | |
Traversal function for the "descendant-or-self" direction... | |
Traversal function for the "following" direction The... | |
Traversal function for the "following-sibling" direction The following-sibling axis contains the following siblings of the context node in document order. | |
Traversal function for the "namespace" direction the namespace axis contains the namespace nodes of the context node; the order of nodes on this axis is implementation-defined; the axis will be empty unless the context node is an element We keep the XML namespace node at the end of the list. | |
Traversal function for the "parent" direction The parent axis contains the parent of the context node, if there is one. | |
Traversal function for the "preceding" direction the... | |
Traversal function for the "preceding-sibling" direction The preceding-sibling axis contains the preceding siblings of the context node in reverse document order; the first preceding sibling is first on the axis; the sibling preceding that node is the second on the axis and so on. | |
Traversal function for the "self" direction The self axis... | |
Create a new xmlXPathObjectPtr of type range using a single... | |
Create a new XPointer context... | |
Create a new xmlXPathObjectPtr of type LocationSet and... | |
Create a new xmlXPathObjectPtr of type range... | |
Create a new xmlXPathObjectPtr of type range using 2 nodes... | |
| Inherited from xmlCore | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
| Property Summary | |
|---|---|
| Inherited from xmlCore | |
children : First child node... | |
content : Content of this node... | |
doc : The document this node belongs to... | |
last : Last sibling node... | |
name : Node name... | |
next : Next sibling node... | |
parent : Parent node... | |
prev : Previous sibling node... | |
properties : List of properies... | |
type : Node type... |
| Method Details |
|---|
addC14NInclNamespaces(self, prefixList)Adds 'inclusive' namespaces to the ExcC14N transform node. prefixList : the white space delimited list of namespace prefixes, where 'default' indicates the default namespace (optional). Returns : 0 if success or a negative value otherwise. |
addHmacOutputLength(self, bitsLen)Creates <dsig:HMACOutputLength/> child for the HMAC transform node. bitsLen : the required length in bits Returns : 0 on success and a negatie value otherwise. |
addRsaOaepParam(self, buf)Creates <enc:OAEPParam/> child node in the node. buf : the OAEP param buffer. Returns : 0 on success or a negative value if an error occurs. |
addXPath(self, expression, nsList)Writes XPath transform infromation to the <dsig:Transform/> node node. expression : the XPath expression. nsList : the list of namespace prefix/href pairs (optional). Returns : 0 for success or a negative value otherwise. |
addXPath2(self, type, expression, nsList)Writes XPath2 transform infromation to the <dsig:Transform/> node. type : the XPath2 transform type ('union', 'intersect' or 'subtract'). expression : the XPath expression. nsList : the list of namespace prefix/href pairs. (optional). Returns : 0 for success or a negative value otherwise. |
addXPointer(self, expression, nsList)Writes XPoniter transform infromation to the <dsig:Transform/> node. expression : the XPath expression. nsList : the list of namespace prefix/href pairs. (optional). Returns : 0 for success or a negative value otherwise. |
addXsltStylesheet(self, xslt)Writes the XSLT transform expression to the node. xslt : the XSLT transform exspression. Returns : 0 on success or a negative value otherwise. |
| Trees | Index | Help |
|
|---|
| Generated by Epydoc 2.1 on Sun Jan 1 18:42:41 2006 | http://epydoc.sf.net |


How to Play
Chopstick
is a hand game for two players, in which players extend a number of fingers from each hand and transfer those scores by taking turns to tap one hand against another.
Taken from Wikipedia
Explore More
(WikiHow)


1. Open a video page, for example: youtube.
2. Although seldom the web page will set more than one video as invisible, ensure there is only one video.
3. Click this chrome extension button or use hotkey: Ctrl+Shift+F to turn the theater mode ON/OFF.
※ If no or more than one video in the page, this extension will not work and show an alert
※ There are existing some bugs in this extension with few influence, so Ctrl+R to refresh page when encountering
Hello, my name is Yikai
I am just a novice developer.
If you guys love the extension what I develop, please have donate to me to let me have more motivation to keep developing.
Go to github
➤
This page is reference to HTML5 Templates


Open your JavaScript console (Ctrl+Shift+J) before clicking the buttons below to observe any error messages.
Watch this space...


# Introduction
One of the things I use Kalliopé for is reading information on web sites, eg: reading the latest news of the French sport site "léquipe" or other sites. For this, I'm using the [RSS neuron](https://github.com/kalliope-project/kalliope_neuron_rss_reader) that works quite well :)
Unfortunately, some sites have decided that RSS feeds are too "has been" and if people wants to see what's new, they either have to follow the site on Twitter or just come on the site everyday… I found this behavior quite distasteful as I'm still a heavy RSS users…
So in order to be able to ask Kalliopé to read information on line for me, even when no RSS feed is available, I created a simple web scraper neuron.
# Installation
# Configuration
Once installed, the neuron is pretty simple: you give it a URL, an html tag that contains the list of data you want Kalliopé to read. Then on this list you give Kalliopé what is the html tag for the title and the html for the description.
For example, on google news:
The main selector is : "div.top-stories-section div.section-content div.story" and will return a list of elements (each news are in a div.story tag).
Then, for each news, you indicate how to retrieve the title within this ''… div.story", eg: h2.esc-lead-article-title > a > span
And finally, same for the content of the news: div.esc-lead-snippet-wrapper
Here is a full example of my google news brain file:
Then, as usual, you need to create the template to indicate to Kalliopé how you want to hear these info, here is an example:
Neuron should work on any pages.
Main drawback here is that you are dependent of the site HTML, which is often more changing than an RSS feed or an API… but at least that does the job :)


Progressive Web App Demo
You appear to be offline...
Input a number between 1 and 500 (inclusive):
Request data
Clear results


Glass Beads
问题描述 :
The necklace should be made of glass beads of different sizes connected to each other but without any thread running through the beads, so that means the beads can be disconnected at any point. The actress chose the succession of beads she wants to have and the IBM promised to make the necklace. But then he realized a problem. The joint between two neighbouring beads is not very robust so it is possible that the necklace will get torn by its own weight. The situation becomes even worse when the necklace is disjoined. Moreover, the point of disconnection is very important. If there are small beads at the beginning, the possibility of tearing is much higher than if there were large beads. IBM wants to test the robustness of a necklace so he needs a program that will be able to determine the worst possible point of disjoining the beads.
The description of the necklace is a string A = a1a2 … am specifying sizes of the particular beads, where the last character am is considered to precede character a1 in circular fashion.
The disjoint point i is said to be worse than the disjoint point j if and only if the string aiai+1 … ana1 … ai-1 is lexicografically smaller than the string ajaj+1 … ana1 … aj-1. String a1a2 … an is lexicografically smaller than the string b1b2 … bn if and only if there exists an integer i, i <= n, so that aj=bj, for each j, 1 <= j < i and ai < bi
输入:
输出:
样例输入:
4 helloworld amandamanda dontcallmebfu aaabaaa
样例输出:
10 11 6 5
解题代码:
/* @author: */ import java.util.Scanner; public class Main{ public static int minP(String s) { int i = 0, j = 1, k = 0; int l = s.length(); while (true) { if (i + k >= l || j + k >= l) break; if (s.charAt(i + k) == s.charAt(j + k)) { k++; continue; } else { if (s.charAt(j + k) > s.charAt(i + k)) j += k + 1; else i += k + 1; k = 0; if (i == j) j++; } } return Math.min(i, j); } public static void main (String args[]) { Scanner sc=new Scanner(System.in); String s; int t, pos; t=sc.nextInt(); while ((t--)!=0) { s=sc.next(); s += s; pos = minP(s); System.out.printf("%d\n", pos + 1); } } }
这配图…..
这个条件 “两个数的乘积最小”可以忽略
妈呀！这个模板好长OwQ！
信息不全
#include <stdio.h>
int main(void)
{
int arr[] = {10,20,30,40,50,60};
int *p=arr;
printf("%d,%d,",*p++,*++p);
printf("%d,%d,%d",*p,*p++,*++p);
return 0;
}
为什么是 20,20,50,40,50. 我觉得的应该是 20,20,40,40,50 . 谁能解释下？
18题的C也是错误的
第15行代码，/n/n，应该改为\n\n
a是根先忽略掉，递归子树。剩下前缀bejkcfghid和后缀jkebfghicd，分拆的原则的是每个子树前缀和后缀的节点个数是一样的，根节点出现在前缀的第一个，后缀的最后一个。根节点b出现后缀的第四个位置，则第一部分为四个节点，前缀bejk，后缀jkeb，剩下的c出现在后缀的倒数第2个，就划分为cfghi和 fghic，第3部分就为c、c
这代码的输出格式不对阿，else语句的low=p移动一下位置，增加可读性
通不过。
很好！！
#!/usr/bin/env python def cou(n): arr = [1]
使用代码高亮的插件，再修改下css
很好，找的就是这一题


If you enjoy math classes, you are a great candidate to make that your major in college. Math majors study algebra, calculus, geometry and the different equations needed to solve problems. They can use their degrees in a variety of careers and industries such as computer science, finance and biotech. Other math careers include actuary, mathematician, statistician, research analyst, and educator. If you are not interested in going to college you can still have a rewarding career in a lot of trades that require strong math skills such as electrician, plumber, or carpenter. Also, sales careers do not always require a college degree.
These individuals excelled in the science field and have become icons, and have helped paved the way for many others.


YES!
A problem that I had when i began coding on this course, was trying to figure out how to make a pricure into a hyper link, i spent nearly an hour trying to find out how i made it work with no luck!
I first took to google to see if anyone else had the same quiestion as me, and sure enough there were quite a few people who had asked the same thing. So that helped me find out how to make it. But then, i needed to find a way to re-size images to fit into my blog post, this was no problem as there are lots of sites online which can resize images to fit your specs.
Even though this was such an easy fix, i felt really good! I felt like i had overcome and obsticle which at first i thought would take me a LOOOONG time to figure out, finally passing it made me feel like i had accomplished something, and lifted weight of pressure off my shoulders.
I like to think I understand how to do good pseudocoding in order to better understand what I'm doing but if I sit down and start writing something, my first instinct isn't to pseudocode out what I'm about to make
This is definitely my style. I'll usually save copies of something I work on and strip out all of my work in order to try a different approach
I havn't actually tried this yet, though i think that it would ne really helpful, though I might feel a bit strang talking to a duck, although, THAT WILL NOT STOP ME!
I read error messages all the time, they are so helpful! sometimes i forget to put a semi-colon at the end of some code, and its always there to remember for me, which has made me more aware of placing the semi-colon at the end of my code.
I'd say I need to do this more before hand. I do use it a lot but mainly if something isn't working rather than before to make sure it'll work.
I always use this, not only for coding but for lots of things in everyday life or even gaming, google is the most helful thing ever.
Not a huge fan of asking people for help, makes me feel quote on quote "dumb", and i feel like I should know what to do already. This is a really bad mindset I know, but it is something that I always shy away from.
Only for very specefic problems, things that nothing else i do can get the answer for me.
From what I found, It is used to convert one array into another. it takes the values in an existing array and uses a small piece of code called a function to manipulate those values in some way, and create a new array with the new values. The .map() method could be used by a function to take some numbers out of one array, multiply all those numbers by two, and then put the results inside a new array. This is a very basic example.
is similar to the .map() method. The difference is that when the function looks through the existing array, it creates the new array only with values that pass a test. Some examples: it may look through some names and return those that start with a particular letter; or it may only return values that are greater than 100. It will then put the values it finds in a new array - it doesn't actually change the values as .map() does.
takes the values in an array and reduces them to a single value. It can do this with numbers by adding them all together (or any calculation that uses two or more values). It can take an array with a bunch of smaller arrays inside it, take the values out of those and turn all of them into one big array. It can also take words inside an array and stick them all together in a big sentence. The beauty of .reduce() is that it simplifies a lot of the sort of basic coding that would spit out a single value anyway.


The politicians you elect to office in the US will represent you in our government!
They have a duty to make decisions in the interest of the people, but everybody has a different opinion of what will help our communities (from local, to state, to federal) thrive. With this in mind, you should think about what issues are most important to you and research your candidate’s stance on them.
For Example, If you are considering voting for Bernie Sanders and the issue of Energy and Oil is very important to you, searching simple things like “Bernie Sanders Energy and Oil” can offer clarity on his stance, and its alignment with your own opinions.


My years of programming have taking me along the lines of
learning Java in college, to PHP as a CMS hacker and now to Ruby. I was
recently going through an exercise in
Exercism.io and while somebody was
“nitpicking” my code, they mentioned that I probably didn’t need the ===
in my
code. My code was making sure two variables were of the same type and
value. It looked a little like this:
``` ruby # Bad - my original code variableA === variableB
Good - my new code
variableA == variableB ```
My nitpicker mentioned that I only needed ==
. But since I came from
the recent world of PHP, I was confused why I shouldn’t use ===
. In
PHP, the double equals just checks for the same value and disregards
type. In Ruby, it’s a whole different story.
I discovered it had to do with the fact that everything in Ruby is an
object and different objects can have different definitions for equality
(same goes for all object orient languages). Ruby’s Object class has ===
, .equal?
,
and .eql?
by default. Many times Ruby classes override ==
but .equal?
should never be overriden.
What is the ‘==’?
At the Ruby Object level, ==
returns true only if the two compared
entities are the same object. Typically this is overriden in descendant
classes. You’ll want to use this method if your object implements this.
If you are looking for generic equality,
consider using, .eql?
. You should look at your particular Ruby
object in question to see how they implemented ==
.
What is the ‘===’?
===
is the Case Equality Operator (Case Subsumption Operator)
The best answer I found was the Subsumption Operator answers the question, “If I have a drawer labeled ‘a’ would it make sense to put ‘b’ in that drawer?”
``` (1..5) === 3 # => true (1..5) === 6 # => false
Integer === 42 # => true Integer === ‘fourtytwo’ # => false ```
What is the ‘.eql?’
A good synonym phrase would be ‘Generic Equality’. The eql? method returns true if obj and other have the same value.
The .eql?
method returns true
if both objects in question return the
same hash key. This is used by Hash to test members for equality. For objects of class Object,
eql?
is synonymous with ==.
Subclasses normally continue this tradition, but there are exceptions. Numeric types, for example, perform type conversion across ==, but not across eql?, so:
1 == 1.0 #=> true
1.eql? 1.0 #=> false
The Ruby Documentation explains ==
well:
At the Object level,
==
returns true only if obj and other are the same object. Typically, this method is overridden in descendant classes to provide class-specific meaning.
What is the ‘.equal?’ - determines object identitfy
This is effectively pointer comparison. “Is this the exact same object?”
tldr;
Equality in Ruby is confusing. You’ll want to be informed when using it and make sure you have an effective test suite.
==
is overriden on a per class basis. Usually you’ll
want to use the class’s implementation of equals.
===
answers the question “If I have a drawer labeled ‘a’, would it
make sense to put ‘b’ in that drawer?”. You don’t use this as often.
.equal?
should never be overriden by a subclass.
``` a = “a” # => “a” other = a.dup # => “a”
a == other # => true a === other # => true a.eql? other # => true a.equal? other # => false ```


| Cat name: | Breed: | Age: | Weight: | Length: | Coat: | Color: | Nature: |
|---|
There is an incredibly huge amount of different cat breeds out there. Click below to check them out!
You can help us by taking a look at these mixed cats and try to identify the breeds that run through the cats' DNA.
For more information, you can reach us by e-mail.


MealWorx
Get a Meal that Worx for you!
How it Worx
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
View Our Menu
Choose from our selection of great healthy meal choices. Specially prepared by top Chefs, Fitness Experts and Nutrtionalist from around the world. Geared to aid and help maintain a healthy lifestyle through healthy meal choices delivered straight to your doorsteps.
We can accomendate for any meal. Even snacks & beverages too. Take a look at our full menu and explore all our great healthy food options.


What is Nova Video Player?
NOVA is an opeN sOurce Video plAyer designed for Android devices (tablets, phones and TVs).
This application is based on a fork of Archos Video Player open-source release, intended to support new features with an enhanced stability
NOVA is free and consists in a community effort
This application is based on a fork of Archos Video Player open-source release, intended to support new features with an enhanced stability
NOVA is free and consists in a community effort
I have just downloaded Nova Video Player and it shows no video.
On a fresh start, the discovery process can take some time.
Nova Video Player is just a video player and does not point to any streaming service. If you do not have already video content on your device no videos will be displayed.
Nova Video Player is just a video player and does not point to any streaming service. If you do not have already video content on your device no videos will be displayed.
Nova Video Player can’t find information on some of my videos, I’d like to add them manually.
Nova Video Player supports NFO file description format that follows the Kodi specification.Advanced users can manually create them or use a dedicated tool for this task.
What is the difference between passthrough mode 1 and passthrough mode 2?
Audio passthrough amounts to transmit through HDMI interface compressed sound channels directly to your AV receiver that will perform the decoding and rendering. It is thus a feature targeted for Android TV or TV boxes.
On Nova Video Player, two audio passthrough modes are supported:
- Mode 1 targets TV boxes with early versions of Android (up to Kitkat 4.4). Note that on some devices you need to set the sound volume to maximum (so that the streams are not altered by the sound mixer).
- Mode 2 targets latest versions of Android above 5.1 (Nvidia Shield TV and télévision Android TV).
You might have to try the two modes and figure out what suits you best depending on the multi-channel audio codec used in your video files.
On Nova Video Player, two audio passthrough modes are supported:
- Mode 1 targets TV boxes with early versions of Android (up to Kitkat 4.4). Note that on some devices you need to set the sound volume to maximum (so that the streams are not altered by the sound mixer).
- Mode 2 targets latest versions of Android above 5.1 (Nvidia Shield TV and télévision Android TV).
You might have to try the two modes and figure out what suits you best depending on the multi-channel audio codec used in your video files.
Some videos play really slowly on my device.
Nova Video Player relies on the hardware acceleration capabilities of the product it runs on. For instance some products do not support HEVC(H.265) hardware decoding and revert to software decoding yielding to a choppy video playback.
In any case please make sure that you have not forced software decoding in the settings of Nova Video Player (Settings/Software decoding).
In any case please make sure that you have not forced software decoding in the settings of Nova Video Player (Settings/Software decoding).
I’d like to request a new feature.
Feel free to join our Reddit community.
How can I contribute in the development?
Source code is available on github and pull requests are welcome.
The application does not support my language, how can I help?
You are welcome to contribute to the translation of the application via crowdin service


>>
<<
Usr
Pri
JfC
LJ
Phr
Dic
Voc
!:
Help
Primer
Debug - an error
Let's introduce an error into your centigrade verb to see how that looks and how you would find and fix it.
Open your cf.ijs script and edit the first line to have an error by adding quotes around the expression to the right of the copula.
t1 =. 'y - 32'
Instead of t1 being defined as the result of y - 32 , it will be defined as the string.
Run the script to make the new definition. Turn off debug suspension and request no stops and then run your buggy centigrade. Be sure to load the debug utilities if they are not already loaded.
dbr 0 NB. disable suspension
dbss ''
centigrade 212
|domain error
| t2=.t1 *5
You are executing with suspension disabled (dbr 0) so execution did not suspend in centigrade and you have the normal 3 space indent.
If you look at the line in error it is clear that the 5 is a valid argument to times, so there must be something wrong with t1. But you don't know the value of t1. You could stare at the source for the error, but, in a complex situation, it might be quicker to use debug.
Enable suspension and rerun.
dbr 1 NB. enable suspension
centigrade 212
|domain error
| t2=.t1 *5
|centigrade[1]
There is a 6 space indent indicating suspension, and because centigrade is suspended you can look at the value of t1.
t1
y - 32
From the display of t1 it is clear that it is a string, not the number from the desired calculation. You can now look at the source to see where t1 was defined and see that the quotes should not be there.
Edit the source to fix the definition by removing the quotes and run the script to redefine centigrade.
You want to run line 0 again to properly define t1. You can do this by using dbjmp to continue execution at line 0.
dbjmp 0
100
Since no stops are set and there are no other errors, line 0 of centigrade is executed, which sets a proper value into local t1 and execution continues until finished.
>>
<<
Usr
Pri
JfC
LJ
Phr
Dic
Voc
!:
Help
Primer


UD for Yupik
Tokenization and Word Segmentation
- Words are generally delimited by whitespace or punctuation.
- Words consisting of multiple morphemes are further analyzed into morphemes based on the Chen et al. (2020) Yupik morphological analyzer. See Park et al. (2021) for more details.
- In order to enable the use of morphemes as tokens, we adapted the existing “multiword expressions” annotation mechanism.
- Word-level annotation is available in the github repo as a separate file (not-to-release/ess_sli-ud-test.merged.conllu). We used udapy to remove “multiword expressions” to convert the morpheme-level annotations to word-level annotations.
Morphology
* Click on the hyperlinks for Yupik examples.
Tags
- Most Yupik words are nominals (NOUN), verbals (VERB) or particles (PART).
- If a word is further analyzed into morphemes, noun-yielding derivational morphemes are tagged as NOUN and verb-yielding derivational morphemes are tagged as VERB.
- Particles (PART) do not inflect, so they are not further analyzed into morphemes.
- ADV is used for interrogative adverbs, quantifier-qualifier constructions and demonstrative adverbs.
- PRON is used for demonstrative pronouns and interrogative pronouns.
- DET is used for two interrogative words.
- CCONJ is used for an Yupik enclitic (=llu “and”).
- NUM is used for numerals.
- X is used for inflectional suffixes.
- ADJ, ADP, AUX, INTJ, PROPN, SCONJ, and SYM do not occur in the corpus.
Features
- Unpossessed nouns inflect for Case and Number.
- Possessed nouns also inflect for Number[psor] and Person[psor] to encode the possessor’s number and person information.
- Verbs inflect for Mood, Number[obj], Number[subj], Person[obj] and Person[subj]. Depending on the verb’s valency (Subcat), the verb will encode the number and person information about the subject only or both the subject and object.
- Yupik inflections distinguish third person reflexive (also known as fourth person) from third person. In possessed nouns, Reflex is used when the possessor refers to the subject. Reflex is also used for quantifier-qualifier constructions (see ADV). In verbs, Reflex[obj] or Reflex[subj] is used when the verb’s object or subject refers back to the subject.
Syntax
* Click on the hyperlinks for Yupik examples.
- Yupik does not have a fixed word order.
- Yupik use the absolutive-ergative alignment to distinguish subjects (nsubj) and objects (obj). The subject of an intransitive verb is in absolutive case. The subject of a transitive verb is in ergative case. The direct object of a transitive verb is in absolutive case.
- Nouns in ablative-modalis case may be used as an object of an intransitive verb. In such cases, those nouns are understood as “an indefinite object” (Jacobson 2001, p.20). Because such nouns are not encoded in the verb, we tagged them as oblique nominals in ablative-modalis case (obl:mod) to distinguish them from other oblique nominals (obl).
- There are no known auxiliaries or copulas as stand-alone words. However, some derivational suffixes seem to play the role of auxiliaries or copulas and tagged as such.
- We used dep:aux to tag those derivational suffixes that act like auxiliaries (c.f. aux).
- We used dep:cop for a copula-like derviational suffix (c.f. cop).
- dep:mark is used for derivational suffixes that act like a marker (c.f. mark)
- nmod:arg is used when a nominal base is used as the argument of a noun-elaborating (N→N) derivational suffix.
- dep:infl is used for inflectional suffixes.
- dep:ana is used for the anaphoric prefix.
- dep:emo is used for emotional roots.
- dep:pos is used for postural roots.
Treebanks
There is 1 Yupik UD treebank:
References
- Emily Chen, Hyunji Hayley Park, and Lane Schwartz. 2020. Improved finite-state morphological analysis for St. Lawrence Island Yupik using paradigm function morphology. In Proceedings of the 12th Language Resources and Evaluation Conference, pages 2676–2684, Marseille, France. European Language Resources Association.
- Steven A. Jacobson. 2001. A Practical Grammar of the St. Lawrence Island / Siberian Yupik Eskimo Language, Preliminary Edition, 2nd edition. Alaska Native Language Center, Fairbanks, Alaska.
- Hyunji Hayley Park, Lane Schwartz, and Francis M. Tyers. 2021. Expanding Universal Dependencies for Polysynthetic Languages: A Case of St. Lawrence Island Yupik. In Proceedings of the 1st Workshop on NLP for Indigenous Languages of the Americas (AmericasNLP). Online. Association for Computational Linguistics.


Full time
part Time
Work from home
Digital marketing
Python
Web Development
Android Developer
Django
wordpress
Marketing
Content Writer
Bussiness Development
When you can start /Time


Contents
3D constant-density acoustic frequency-domain modeling: Forward Modeling Kernel
This script aims at demonstrating the simplest possible use of the forward modeling kernel using ForwardFD function. It also performs the same computation using the legacy code for the sake of comparison.
Bear in mind that ForwardFD function is nothing but a wrapper to WaveEquationFD function. Please, read the demo and tests for WaveEquationFD as well. The new routine fixes several issues present in the legacy version such as
- automatic and abstract use of PML
- properly rounded (up) grid spacing for the computational grid to satisfy stability conditions.
- dynamic computational grid chosing depending on the frequency - the user does not need to manually shrink/stretch the model for lower/higher frequency.
- Computed wavefields match analitical wavefields
- Fixed the sign of the wavefield - legacy code produces -conj(.) of the expected data
As usual, this script starts cleaning the enviroment and opening the log file
clear vfile='../data/m_true.rsf'; dfile='../data/Dobs.rsf'; flog = fopen('../results/demo_ForwardFD_log','w');
F3d_old - Legacy Forward Modeling
The old version of the code is very little verbose (although it does print some information in F3d.log file) and requires some preprocessing.
% % First we read the data %------------------------------------------------------------------------------- plog(flog,'Starting forward modeling with old code...\n'); plog(flog,'=================================================================\n'); plog(flog,'=================================================================\n\n'); t1 = tic; plog(flog,'* Reading data... \n'); [m0,nt,dt,ot] = rsf_read_all(vfile); % % and then we need to reorder some of the dimensions, and change the unit to % km^2/s^2. Then, we manually define the computational grid and stretch the % domain. In this example we don't change the domain size (by setting dx=dt(1). % % For example, if we would like the computational grid to have half the points % of the physical grid, we would set dx = 2*dt(1); %------------------------------------------------------------------------------- dx = dt(1); m0 = permute(m0,[3 1 2]); nt = [nt(3) nt(1) nt(2)]; m0 = 1e6./(m0.^2); [zt,xt,yt] = odn2grid(ot,dt,nt); z = zt(1):dx:zt(end); x = xt(1):dx:xt(end); y = yt(1):dx:yt(end); L = opKron(opLInterp1D(yt,y),opLInterp1D(xt,x),opLInterp1D(zt,z)); m0 = L*m0(:); [o,d,n] = grid2odn(z,x,y); % % Now we read the data; notice that we also need to permute the data %------------------------------------------------------------------------------- [data,nd,dd,od] = rsf_read_all(dfile); data = permute(data,[3 1 2 6 4 5 7]); nd = [nd(3) nd(1) nd(2) nd(6) nd(4) nd(5) nd(7)]; dd = [dd(3) dd(1) dd(2) dd(6) dd(4) dd(5) dd(7)]; od = [od(3) od(1) od(2) od(6) od(4) od(5) od(7)]; plog(flog,'* ',prod(nd(4:6)),' shots read; drawing receivers grid...\n'); % Now we set the PML size (as well manually) with nb=8. I have done the % calculations beforehand to ensure that 8 points is enough. % % Further we draw the receivers grid. %------------------------------------------------------------------------------- nb=8; modelo.o = o; modelo.d = d; modelo.n = n; modelo.nb = nb*[1 1 1]; [modelo.zrec,modelo.xrec,modelo.yrec,... modelo.zsrc,modelo.xsrc,modelo.ysrc,modelo.freq] = odn2grid(od,dd,nd); modelo.f0 = 0; modelo.t0 = 0; modelo.tol = 1e-6; % % Finally we invoke the code to generate the data. Notice that it is returned % as a vector, and not as multidimensional array. %------------------------------------------------------------------------------- plog(flog,'* Start forward modeling \n'); Q = speye(prod(nd(4:6)))/prod(d); [D_leg ~] = F3d_old(m0,Q,modelo); D_leg = reshape(D_leg,nd); t_leg = num2str(toc(t1)/60); plog(flog,'Finished in ',t_leg,' minutes.\n\n\n');
Starting forward modeling with old code... ================================================================= ================================================================= * Reading data... * 81 shots read; drawing receivers grid... * Start forward modeling Finished in 61.2011 minutes.
ForwardFD - New Forward Modeling
The new version of the code is rather verbose if the optional parameter flog is passed to ForwardFD; it prints information both on the screen and on the log file. If multiple Matlab workers are available, only the master worker prints the information while the other works ignore it.
Also the new code is very simple and requires virtually no set up.
plog(flog,'Starting forward modeling with new code...\n'); plog(flog,'=================================================================\n'); plog(flog,'=================================================================\n\n'); t1 = tic; plog(flog,'* Reading data... \n'); [model.v,model.nv,model.dv,model.ov] = rsf_read_all(vfile); [acq.data,acq.nd,acq.dd,acq.od] = rsf_read_all(dfile); model.unit = 'm/s'; % Create sources for synthetic data % % If this would be real data, the acquisition geometry would be read from a % file instead! %------------------------------------------------------------------------------- plog(flog,'* ',prod(acq.nd(4:6)),' shots read; drawing receivers grid...\n'); [ acq.xrec,acq.yrec,acq.zrec,... acq.xsrc,acq.ysrc,acq.zsrc, acq.freq] = odn2grid(acq.od,acq.dd,acq.nd); acq.sources = speye( prod(acq.nd(4:6)) ); D_new = ForwardFD(model,acq,[],flog); t_new = num2str(toc(t1)/60); plog(flog,'Finished in ',t_new,' minutes.\n\n');
Starting forward modeling with new code... ================================================================= ================================================================= * Reading data... * 81 shots read; drawing receivers grid... * Start modeling...: * Frequency 1 of 3: 2Hz * Obtaining discrete operator... * Physical domain: * ================== * vmin: 3.6e+03 * vmax: 4.5e+03 * Size: [5e+03 5e+03 2e+03] m³ * [ 51 51 21 ] points with grid spacing of [100 100 100] * Computational grid * ================== * n: [ 18 18 8 ] = 2.59e+03 * npml: [ 8 8 8 ], Total: 2.77e+04 * d: [ 294 294 286 ] * f: 2 Hz * nlam: 6 (effective: 6.12) * Discretizing Helmholtz operator with Operto et al. 27points stencil... done in 0.032 seconds * System size: 2.77e+04 - Number of shots: 81 * --------------------------------------------------- * Frequency 2 of 3: 4Hz * Obtaining discrete operator... * Physical domain: * ================== * vmin: 3.6e+03 * vmax: 4.5e+03 * Size: [5e+03 5e+03 2e+03] m³ * [ 51 51 21 ] points with grid spacing of [100 100 100] * Computational grid * ================== * n: [ 35 35 15 ] = 1.84e+04 * npml: [ 8 8 8 ], Total: 8.06e+04 * d: [ 147 147 143 ] * f: 4 Hz * nlam: 6 (effective: 6.12) * Discretizing Helmholtz operator with Operto et al. 27points stencil... done in 0.104 seconds * System size: 8.06e+04 - Number of shots: 81 * --------------------------------------------------- * Frequency 3 of 3: 6Hz * Obtaining discrete operator... * Physical domain: * ================== * vmin: 3.6e+03 * vmax: 4.5e+03 * Size: [5e+03 5e+03 2e+03] m³ * [ 51 51 21 ] points with grid spacing of [100 100 100] * Computational grid * ================== * n: [ 51 51 21 ] = 5.46e+04 * npml: [ 8 8 8 ], Total: 1.66e+05 * d: [ 100 100 100 ] * f: 6 Hz * nlam: 6 (effective: 6) * Discretizing Helmholtz operator with Operto et al. 27points stencil... done in 0.237 seconds * System size: 1.66e+05 - Number of shots: 81 * --------------------------------------------------- Finished in 25.2109 minutes.
Plotting Results
Simply plots the data generated by both forward modeling kernels. They should produce similar results in most cases. The legacy forward modeling kernel should produce some spurious reflections for some frequencies and some models, but in this example they are not visible.
sp = figure; set(sp, 'Position', [0 0 1200 600]); subplot(1,2,1); imagesc(squeeze(-real(D_leg(1,:,:,ceil(nd(4)/2),... ceil(nd(5)/2),... ceil(nd(6)/2),1)))); axis image; colorbar; title(['Legacy (F3d) forward modeling kernel - ' t_leg ' minutes']); subplot(1,2,2); imagesc(squeeze(real(D_new(:,:,1,ceil(acq.nd(4)/2),... ceil(acq.nd(5)/2),... ceil(acq.nd(6)/2),1)))); axis image; colorbar; title(['New (ForwardFD) forward modeling kernel - ' t_new ' minutes']); suptitle('A slice of the computed/predicted data, generated using both forward modeling kernels'); fclose(flog);


solo wireless
With up to 40 hours of battery life, Beats Solo Wireless is your perfect everyday headphone. Get the most out of your music with an award-winning, emotionally charged Beats listening experience.
view moreWith up to 40 hours of battery life, Beats Solo Wireless is your perfect everyday headphone. Get the most out of your music with an award-winning, emotionally charged Beats listening experience.
view morePowerbeats3 earphones are ready for any challenge with up to 12 hours of battery life to fuel multiple long workouts and powerful, dynamic sound to keep you pushing.
$199.95 buy now


"The sky is blue, and all the leaves are green!"
On Wednesday, instead of watching a Very Special Star Trek: Voyager (where, I think from the promos, Busty Borg is kidnapped by other Borg in order to assimilate WonderBra technology), we had, on hand, "Cannibal! The Musical". This is an early Trey Parker/Matt Stone film. I had heard of it before, in the same way I heard about the "Spirit of Christmas", but seeing it is a different experience.
When the South Park movie (tentatively titled "Bigger, Longer and Uncut") comes out, I hope they adopt the Star Wars Episode I movie posters, but with Cartman and Kyle casting the shadows of Alfred Parker and James Humphrey against a snow drift. Truly, the spirit of South Park can be glimpsed through the musical numbers and the cannibalism. During a campfire scene, you can hear an early version of Cartman's whining. "When I Was On Top of You" is a direct ancestor of Chef's "Simultaneous". The cheesy cheapness of everyone wearing plaid shirts, jeans and fake racoon skin hats parallels the cardboard cutouts that are the essense of the animation. The backdrops of the Rockies that are in every outdoors scene of South Park is the location of the desolate miners' camp, before the cannibalism begins. Most of all, the little Brannif jingle after the credits is the main theme to the film. Now we know the words: "The sky is blue, and all the leaves are green!"
The movie itself is the true story of Alfred Parker, who was convicted of murder and cannibalism in the late 19th Century, when a group of miners he led through the Rockies failed to, well, come out of the mountains with him. A picture of his grave and a blurb can be found at: http://www.csn.net/~nulevich/graves/packer.html. The story, though, isn't told in a solemn Ken Burns/PBS documentary sort of way, with sepia-toned daguerreotypes and John Chancellor narrating. This story is told in song.
The evocative power of song and dance is only rarely recongized now, with the standard American musical dead of old age. In an episode last season of "Xena: Warrior Princess", both the sturm-und-drang and the deep tenderness of Xena and Gabriel's relationship could only be properly expressed in this form: this critical story, the producers saw rightly, could only adequately told with elaborate production numbers. The Parker/Stone film is no different. The emotional breadth of "Cannibal!" can only be properly captured in song; the disparate characters are made flesh by what they sing. From the miners' high hopes in "That's All I'm Asking For", the desperately cheery "Snowman", the declaration of a man's love for his horse in "When I Was On Top of You" and Packer's leitmotif of "Shpadoinkle Day" [sic], the characters become individuals in our eyes. Unlike, say, the anonymous masses that get mowed down in the average Schwarzenegger film, the miners become familar, and we feel a pang of sorry when they're chopped up and eaten. It's like the emotional impact of John Sayle's "Matewan", but with BBQ sauce.
In any case, this is a very funny movie, utterly absurd. And it's actually less gross than it sounds, though that's not saying much.
The tape we had was rented from Kim's Video downtown. I don't expect the local Blockbusters to carry it. Unfortunately, Troma hasn't gotten around to releasing the DVD.
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


How the Internet Works
The internet is essentially a wire, this wire connects computers and servers, the hard drive on these machines is where data(websites) is stored. Each machine has a unique IP Address. Everyday computers/laptops/mobile devices you and I use are called clients. These devices are indirectly connected to the internet through ISP providers. When you're browsing the internet you're requesting files from servers. The servers sends the requested files back in small pieces called packets. Once the information reaches your computer the packets are reassembled back into it's original form of an email, pic, or tweet.


{% extends '_base.html' %} {% load static %} {% block title %}Home page{% endblock title %} {% block content %}
A Food impact tracker to track the reduction in CO2, water and landmass usage of a plant based diet over time.
The tracker generates a monthly report of environmnetal savings by eating plant based foods.


Select DEAL NEW to begin.
10
♠
J
Q
K
A
Current Bet: 5
Total Amount Bet: 0
Total Amount Won: 0
Score: 0
High Card: -2
Pair: +5
Two Pair: +10
Three of a Kind: +15
Straight: +20
Flush: +30
Full House: +50
Four of a Kind: +125
Straight Flush: +375
Royal Flush: +2500


Bindings (read only)
{{.inline}}
{{.text}}
Bindings (read only)
Muplitple inline binding
{{.inline}} {{.text}} {{.html}}
Filters
{{.text | uppercase}}
{{.text | lowercase}}
{{.text | limitTo:.a}}
Expressions
{{.a + .b}}
{{.bool ? "true": "false"}}
mjs-class
mjs-if, mjs-show, mjs-hide
this should appear if .bool = true
this should show if .bool = true
this should hide if .bool = true
mjs-include
transcluded text
mjs-options
{{ .title }}
mjs-include change template:
a + b |
a * b
Dynamically created component on existing element will go here
Dynamically created component with renderTo will go here
This element is ignored by renderer: {{ .$root.a }}


| Meal 1 | Enter Calories | Enter Meal Description | ||
| Meal 2 | Enter Calories | Enter Meal Description | ||
| Meal 3 | Enter Calories | Enter Meal Description | ||
| Meal 4 | Enter Calories | Enter Meal Description | ||
| Meal 5 | Enter Calories | Enter Meal Description | ||
| Meal 6 | Enter Calories | Enter Meal Description | ||
| Meal 7 | Enter Calories | Enter Meal Description | ||
| Meal 8 | Enter Calories | Enter Meal Description | ||
| Meal 9 | Enter Calories | Enter Meal Description | ||
| Meal 10 | Enter Calories | Enter Meal Description | ||
| All Meals | Total Calories | 0 |
| Glass 1 | Enter Ounces | Enter Calories | Enter Glass Description | |||
| Glass 2 | Enter Ounces | Enter Calories | Enter Glass Description | |||
| Glass 3 | Enter Ounces | Enter Calories | Enter Glass Description | |||
| Glass 4 | Enter Ounces | Enter Calories | Enter Glass Description | |||
| Glass 5 | Enter Ounces | Enter Calories | Enter Glass Description | |||
| Glass 6 | Enter Ounces | Enter Calories | Enter Glass Description | |||
| Glass 7 | Enter Ounces | Enter Calories | Enter Glass Description | |||
| Glass 8 | Enter Ounces | Enter Calories | Enter Glass Description | |||
| Glass 9 | Enter Ounces | Enter Calories | Enter Glass Description | |||
| Glass 10 | Enter Ounces | Enter Calories | Enter Glass Description | |||
| All Drinks | Total Ounces | 0 | Total calories | 0 |
|
|


FACE/OFF A film review by Andrew Hicks Copyright 1997 Andrew Hicks / Fatboy Productions
(1997) *** (out of four)
In a summer populated with stinker action flicks like SPEED 2 and THE LOST WORLD, John Woo's FACE/OFF is a breath of Fresh/Air. This is just what I want from an action movie -- something that gives us artistic, well-choreographed scenes of violence and explosions contained in an intelligent plot about interesting characters we care about. That's the recipe right there, and the auto-pilot writing of those two sequel action flicks shortchanged us in at least half of those departments.
FACE/OFF takes the time-worn body-switching premise and makes it fascinating again.  When Travolta finally captures Cage after an airplane hangar, he can't let it go at that. He lets himself get sucked back into the case when he finds out Cage planted a bomb somewhere in the city.
If a doctor came to you with the idea of cutting your face off and putting it on the head of your mortal enemy and doing the same to your enemy, you'd give the doctor a swift kick to the groin followed by the meanest rectal exam ever, right? Not Travolta.  A few laser-induced hairline changes and one microchip voice implant later, Travolta is Cage and a comatose Cage is left faceless in an abandoned hospital.
The plan is to send Travolta/Cage into prison so he can pump Cage's accomplice brother for information about the bomb.
Cue the faceless Cage, who soon wakes up from his coma. There's no one guarding him, no one in the entire building in fact, and before long, his henchmen have the doctor at gunpoint, forcing him to put Travolta's face on his head. Now Cage/Travolta has the upper hand, killing the few people who know of Cage/Travolta's mission and even showing up at prison to visit Travolta/Cage. It's delicious torture watching Travolta/Cage's world fall apart before his eyes, playing off the universal fear of being completely alone in a situation.
The movie never stops being fascinating, as T/C tries to break out of jail and stop C/T, and C/T assumes Travolta's former life as a star agent of the law and a family man. Woo keeps the pace moving and gives us plenty of action to boot, but the key to the film is in the performances of Travolta and Cage. Cage in the trapped Travolta role has to go from psycho to mellow within minutes, but it's Travolta's mellow-to-psycho transformation that is the most fun to watch. The premise is outrageous, but these actors almost make it believable.
--
Visit the Movie Critic at LARGE homepage at http://www.missouri.edu/~c667778/movies.html
Serving America For Nearly 1/25th of a Century!
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


[gecode-users] Propagating to Fixpoint
Christian Schulte
cschulte at kth.se
Fri Aug 24 09:54:04 CEST 2012
There are in fact several big fat warnings in MPG saying that views are not for modeling! They are there for a reason!
Christian
--
Christian Schulte, www.ict.kth.se/~cschulte/
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf Of Max Ostrowski
Sent: Thursday, August 23, 2012 2:05 PM
To: Guido Tack
Cc: users at gecode.org
Subject: Re: [gecode-users] Propagating to Fixpoint
Great, this really solves the problem.
Have not thought of this.
Thank you very very much.
In my example everything works as expected and the fixpoint is always the same.
Are you sure that it can still happen that the fixpoint of the same set of constraints is different,
if i use a different order?
Then i have to stick to my fallback method.
Nevertheless,
big thanks for solving my problem. Everything works now and is a hundred times faster :)
Best,
Max
On 08/23/2012 01:44 PM, Guido Tack wrote:
Without looking at the details: Do you check the return value of IntView::lq? The view functions are not meant to be used in models. If lq returns failure, you have to check that yourself, or the space won't be failed.
Cheers,
Guido
--
Guido Tack
On 23/08/2012, at 13:20, Max Ostrowski <ostrowsk at cs.uni-potsdam.de> wrote:
Actually its quite complicated.
I'm currently debugging and have 60 constraints written on paper that have this effect.
Two of them are actually not reified constraints but directly using IntView::lq(constant)
I can give you a description where it happens in my system, but it will be a mess for you to write simplified code that reproduces this.
Actually given two spaces original1 and original2 that are equal,
variables are constraint like this:
posx(6)=[0..185] posx(5)=[0..190] posx(4)=[0..142] posx(3)=[0..158] posx(2)=[0..113] posx(1)=[0..157]
all reified constraints are posted with free boolean variables, using
linear(*this, intArgs, intVarArgs, r,0,b_[boolvar],ICL_DEF);
Now i set the boolean variables accordingly, always doing propagation (calling status()) after each single posting
To original1 false ((-1 $* posx(3))+posx(1))$<=0
To original1 false ( 10+(-1 $* posx(6))+posx(5))$>0
To original1 false ( 58+(-1 $* posx(5))+posx(4))$>0
To original1 true posx(6)<=69 // this is no reified constraint, but just posted IntView(posx(6)).lq(69)
To original1 false ( 43+(-1 $* posx(6))+posx(1))$>0
To original1 false ((-1 $* posx(5))+posx(2))$<=0
To original1 true ((-1 $* posx(1))+posx(3))$<=0
To original1 true ((-1 $* posx(4))+posx(3))$<=0
To original1 false ( 42+(-1 $* posx(5))+posx(3))$>0
To original1 false ( 42+(-1 $* posx(6))+posx(3))$>0
To original1 true ( -42+(-1 $* posx(3))+posx(1))$<0
To original1 true ( -15+(-1 $* posx(6))+posx(1))$<0
To original1 true ( 58+(-1 $* posx(1))+posx(4))$>0
To original1 true ( 42+(-1 $* posx(1))+posx(3))$>0
To original1 false ((-1 $* posx(1))+posx(2))$<=0
To original1 true ((-1 $* posx(6))+posx(1))$<=0
To original1 true ((-1 $* posx(5))+posx(1))$<=0
To original1 true ( -10+(-1 $* posx(5))+posx(1))$<0
To original1 true ((-1 $* posx(2))+posx(1))$<=0
To original1 false ( 43+(-1 $* posx(2))+posx(1))$>0
To original1 true ( -28+(-1 $* posx(1))+posx(6))$>0
To original1 false ( 28+(-1 $* posx(6))+posx(1))$>0
To original1 false ( -43+(-1 $* posx(1))+posx(2))$<0
To original1 true ( -58+(-1 $* posx(4))+posx(1))$<0
To original1 true posx(1)<=29 // this is no reified constraint, but just posted IntView(posx(1)).lq(29)
To original1 false ((-1 $* posx(1))+posx(4))$<=0 // lets call this constraint X
Now this space is failed.
Something similar with the second space, but posting nr. 5 is different.
To original2 false ((-1 $* posx(3))+posx(1))$<=0
To original2 false ( 10+(-1 $* posx(6))+posx(5))$>0
To original2 false ( 58+(-1 $* posx(5))+posx(4))$>0
To original2 false ((-1 $* posx(1))+posx(4))$<=0 // this is constraint X, it is now posted on this position, no longer as the last constraint anymore
To original2 true posx(6)<=69 // this is no reified constraint, but just posted IntView(posx(6)).lq(69)
To original2 false ( 43+(-1 $* posx(6))+posx(1))$>0
To original2 false ((-1 $* posx(5))+posx(2))$<=0
To original2 true ((-1 $* posx(1))+posx(3))$<=0
To original2 true ((-1 $* posx(4))+posx(3))$<=0
To original2 false ( 42+(-1 $* posx(5))+posx(3))$>0
To original2 false ( 42+(-1 $* posx(6))+posx(3))$>0
To original2 true ( -42+(-1 $* posx(3))+posx(1))$<0
To original2 true ( -15+(-1 $* posx(6))+posx(1))$<0
To original2 true ( 58+(-1 $* posx(1))+posx(4))$>0
To original2 true ( 42+(-1 $* posx(1))+posx(3))$>0
To original2 false ((-1 $* posx(1))+posx(2))$<=0
To original2 true ((-1 $* posx(6))+posx(1))$<=0
To original2 true ((-1 $* posx(5))+posx(1))$<=0
To original2 true ( -10+(-1 $* posx(5))+posx(1))$<0
To original2 true ((-1 $* posx(2))+posx(1))$<=0
To original2 false ( 43+(-1 $* posx(2))+posx(1))$>0
To original2 true ( -28+(-1 $* posx(1))+posx(6))$>0
To original2 false ( 28+(-1 $* posx(6))+posx(1))$>0
To original2 false ( -43+(-1 $* posx(1))+posx(2))$<0
To original2 true ( -58+(-1 $* posx(4))+posx(1))$<0
To original2 true posx(1)<=29 // this is no reified constraint, but just posted IntView(posx(1)).lq(29)
This Space is not failed
I know this is quite a huge blob of data and you probably wont have the time to reconstruct it.
I will just have to adjust my code that this can happen.
BTW: Can you confirm that this is due to the use of IntView::lq ?
I never experienced this without them.
Best,
Max
On 08/23/2012 12:40 PM, Guido Tack wrote:
I guess under certain conditions the code that posts the constraints (not the actual propagator) can be stronger than ICL_DEF, in which case this can happen.
If it's not too complicated, could you send us a concrete example?
Cheers,
Guido
_______________________________________________
Gecode users mailing list
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20120824/f0980940/attachment-0001.html>
More information about the users
mailing list


Graph display¶
Structural graphs typically are too large to be inspected as numerical arrays. The Plotter
class allows visualization of a bipartite graph in two ways.
PlotDM()
- This method converts the graph into a temporaryDiagnosisModel
object (fromFault Diagnosis Tooblox
) and uses itsPlotDM()
method to present the fine Dulmage-Mendelson decomposition of the system graph.plotDot(graphName,compile)
- This method exports the graph structure into a file written in thedot
language of the GraphViz package. If thecompile
argument is true (by default), then it also runs thedot
compiler onto the file and exports a PostScript image in the model description directory.


MoSKito Inspect
v 2.5.0-SNAPSHOT
Don't wait for your customers to tell you that your site is down!
MoSKito Monitoring for Java applications. Complete ecosystem for DevOps. Free & open source.
MoSKito is an open source system for monitoring Java web applications.
With MoSKito, you may:
-
collect, store and analyse any type of performance data (MoSKito-Essential),
-
create personalised storage for the collected data (MoSKito-Central),
-
effectively monitor multi-node applications (MoSKito-Control).
In fact, MoSKito is a complete system kit for DevOps (as well as classical Devs and Ops) who care about performance of their web apps.
On this Confluence Space, you will find all the existing MoSKito documents. Browse the sections below, navigate the Confluence sidebar or use Search to find the documents you currently need.
Enjoy!
Anotheria Team