Hello,
I am in the middle of building the enery monitoring system for my home. However there are some questions i would like to ask:
1. in the emontx kit I didnot receive the R1 (10K) ? what is this resistor used for?
2. If I waant to measure the voltage can I use other than 9V AC ? ( for example 12VAC 1A) ? And which componenents should I change to accommodate that voltage adaptor ? If I'm not mistaken from the schematic diagram i see R13 and R14 that are directly conected to the AC adaptor.
And what is the formula to calculate it ?
Thanks very much for your help.
kind regards,
john
Re: Received my emontx and emonbase kit and ready to build...
Hi John,
1. Apologies regarding the resistor. If you drop me an email with you address I will get one in the post. The 10K resistor (R1) is used to pull-up the reset line on the Atmega. Without it you might have issues with the Atmega randomly resetting or not autoresetting properly upon code upload.
2. Yeah sure, it's possible to use other AC-AC adapters. See 'detailed circuit design' of the AC Mains Non-invasive V3.0 for instructions on calculating component values http://openenergymonitor.org/emon/input.
The schematics for the emonTx are up on solderpad: http://solderpad.com/openenergymon/emontx/
Let us know how you get on. All the best, Glyn.
Re: Received my emontx and emonbase kit and ready to build...
Hi Glyn,
That's no problem, I can just get it near where I live. I'll let you know how it goes.
Thank you.
cheers,
John
Re: Received my emontx and emonbase kit and ready to build...
Hi, I have just finished soldering the emontx, but when I tried to connect the usb power to the board, the green light did not light up. FYI, I'm only soldering ct1 and ct3 together with the corresponding components for it (I did not solder the resistor for ct2) Do I need to solder all parts in order for the board to turn on? Also is there anyway to check using multimeter so I can trace if I made a mistake in soldering the components (just like the nanode where we could check on the voltage using the IC pin) Thanks. kind regards, John
Re: Received my emontx and emonbase kit and ready to build...
do you have uploaded the sketch ?
Re: Received my emontx and emonbase kit and ready to build...
Hi,
I haven't uploaded the sketch yet, I reckon when I connect the usb cable to power the board, the green led should light up, yes ?
Thanks,
John
Re: Received my emontx and emonbase kit and ready to build...
Hi
solved the problem, turns out that i have to uplod the sketch first. and the led is not an indicator whether the board is on of not rather than it's used when there is data transfer example if you upload the sketch to the board it will flash.
thanks.
regards,
John


This package contains an API for describing how to modify the tokens
in a source file parsed by Antlr in order to reformat that source
file. You create a set of
FormattingRule
s
— your code is passed an empty
FormattingRules
instance to populate before formatting runs, and you can populate
it with whatever rules you want to apply. Each
FormattingRule
has a
FormattingAction
— the thing to do to the token being processed. Simply adding a rule
and a simple, built-in formatting action looks like this:
rules.onTokenType( S_CLOSE_BRACE ) .whereNextTokenTypeNot( S_SEMICOLON ) .format( SimpleFormattingAction.APPEND_NEWLINE_AND_INDENT.by( BRACE_DEPTH ));
Formatters generally manipulate the amounts of whitespace between textual tokens in a language, and that is what this library is focused on. But they may also rewrite tokens or reflow text, so token rewriting is supported too.
Each FormattingRule
has a set of constraints
that determine whether it matches the current token. Exactly one
FormattingRule
and FormattingAction
will process any token. Constraints can be based on:
LexingState
,
(see below), such as "only when in a group of braces
with a nesting depth of 1", or "only when the distance
to the next closing parenthesis is > 1" — since you
program your LexingState to collect whatever you want,
the sky is the limit with these.
The IDs you use to identify token types and modes are all generated as static integer constants on your Antlr-based Lexer and Parser classes.
As a general approach to writing formatters, start with the most general rules that will work almost everywhere - for example, things like "keywords always get a space before them and after them". Try it (write a unit test that will print out text). See where the rule is too general - for example, in Java, the rule just described would sometimes put a space before an end-of-line semicolon. Then write more specific rules predicated on the preceding or next token type to fix those cases - since that rule will be more specific, it will win when competing against the more general one.
Keep getting more specific until you hit a point where what you need
cannot be solved with just knowing the preceding or next token - for
example, indenting content within nested braces. If, as in Java,
there is a statement terminator character - ';
', you
can just set up your lexing state to increment the brace count on
entering a {
and decrement it on a }
and use that.
For cases that still isn't enough, you can either specify to run
within a particular parser rule, or tell your
LexingStateBuilder
to count the distance to the nearest instance of some other token
type that only occurs at a specific distance in the case you want
to handle, and condition your rule on that.
Resist the temptation to start with those "ooh, I know I can do this cool thing" rules that are very specific, or it is easy to wind up with a very large formatting rule set most of which do more or less the same thing. Start by looking for the most general cases that will handle the most tokens correctly, and then narrow down the corner cases - usually you will find generalities that aren't obvious until you're in the thick of it that work for a lot of cases.
Each FormattingRule
gets a specificity score that
determines the order it is tested against the current token, based on
the number of constraints it contains. Formatting rules attempt to
match a token in order of specificity score, from highest to lowest.
So a rule that matches a token type, and specifies that the next
token must be another token type will win if it competes with a rule
which is just matching any token of that type.
There is one caveat to that: specifying that a rule is specific to a particular parser rule id adds 1000 to its score, since it is most common to write rules that run only when a particular parser rule is active, and to want these to take precedence. So parser rule specific formatting rules compete with each other at a different level than general rules - this is almost always what's desired.
The specificity score is the number of kinds of constraints
multiplied by 10, plus 1000 in the case of parser-rule-specific
formatting rules. In the case that there are two competing rules,
and there is no way to make one more specific, you can call
priority(int)
on the rule you want to run first
to increse (or decrease) its score by the amount passed, to
guarantee which one will be tested first.
FormattingAction
s
perform modifications to the token being processed, which can consist
of instructions to
FormattingAction
s can be combined.
The enum
SimpleFormattingAction
predefines constants for common operations prepending or appending to
the current token indenting or newlines. The FormattingAction
interface has default methods for combining instances with common
operations such as trimming whitespace, reflowing text, and using LexingState
values to determine the amount to indent. For example, when configuring
the lexing state:
stateBuilder.pushPosition(MyEnum.BRACE_POSITION) .onTokenType(MyLexer.OPEN_BRACE) .poppingOnTokenType(MyLexer.CLOSE_BRACE);and then using that value:
FormattingAction indentToLastColonPosition = SimpleFormattingAction.PREPEND_NEWLINE_AND_INDENT.bySpaces(MyEnum.BRACE_POSITION); rules.onTokenType(ID).wherePreviousTokenType(SEMICOLON) .format(indentToLastColonPosition);
You would still have to do a lot of tedious work to handle different indent
levels to format languages with nested sets of braces such as Java, were
it not for the
LexingState
LexingState
. The other piece of initializing
a formatter is programming its LexingState
to collect the
information you need, to automate decisions about how to indent.
The LexingState
is updated on every token before
FormattingRules
are applied.
You create an Enum
with constants named for what
you want to collect, and describe the conditions to update them.
It can be queried for integers and booleans at runtime, and actions
and rules can be predicated on the value (or lack thereof).
It can:
format( SimpleFormattingAction.APPEND_NEWLINE_AND_INDENT.by(
BRACE_DEPTH) )
. In that code BRACE_DEPTH
is an enum constant you define — you then tell the
LexingStateBuilder
to update on {
and }
tokens like this:
stateBuilder.increment( BRACE_DEPTH ).onTokenType( S_OPEN_BRACE, S_OPEN_HINTS, S_OPEN_BRACKET ) .decrementingWhenTokenEncountered( S_CLOSE_BRACE, S_CLOSE_HINTS, S_CLOSE_BRACKET );
:
character), optionally resetting
when another kind of token is encountered.
{1, 2, 3, 4}
—
differently for tokens in the middle of the array (for example,
to allow line wrapping on those, but keep the {1
and the 4}
together.
Here is some example code from the unit tests for this project, to get a sense of what it looks like:
private static final String MAX_LINE_LENGTH = "maxLineLength"; @Override protected void configure(LexingStateBuilder<SLState, ?> stateBuilder, FormattingRules rules, Preferences config) { stateBuilder.increment(BRACE_DEPTH) .onTokenType(S_OPEN_BRACE) .decrementingWhenTokenEncountered(S_CLOSE_BRACE); int maxLineLength = config.getInt(MAX_LINE_LENGTH, 80); FormattingAction doubleIndentForWrappedLines = APPEND_NEWLINE_AND_DOUBLE_INDENT .by(BRACE_DEPTH); FormattingAction indentCurrent = PREPEND_NEWLINE_AND_INDENT .by(BRACE_DEPTH) .wrappingLines(maxLineLength, doubleIndentForWrappedLines); FormattingAction indentSubseqeuent = APPEND_NEWLINE_AND_INDENT .by(BRACE_DEPTH) .wrappingLines(maxLineLength, doubleIndentForWrappedLines); FormattingAction doubleNewlineAndIndentIt = PREPEND_DOUBLE_NEWLINE_AND_INDENT.by(BRACE_DEPTH) .wrappingLines(maxLineLength, doubleIndentForWrappedLines); rules.onTokenType(K_TYPE) .whereNotFirstTokenInSource() .format(PREPEND_DOUBLE_NEWLINE); rules.onTokenType(LINE_COMMENT) .format(indentCurrent.and(indentSubseqeuent).trimmingWhitespace()); rules.onTokenType(ID, QUALIFIED_ID) .wherePrevTokenType(K_IMPORT, K_NAMESPACE, K_TYPE) .format(PREPEND_SPACE); rules.onTokenType(ID) .whereNextTokenType(S_COLON) .format(indentCurrent); rules.onTokenType(ID, QUALIFIED_ID) .whereNextTokenTypeNot(S_SEMICOLON, S_COLON) .format(PREPEND_SPACE.and(APPEND_SPACE));
You can also write formatting rules which only operate when the token occurs inside of a particular parser rule, so as to have completely different formatting rules for one parser rule than another. As mentioned, predicating a formatting rule on a parser will cause it to be tested before rules that do not specify a parser rule.
Formatters which return null for the root RuleNode
— i.e. they do not provide a parser — may not use such
rules, and an exception will be thrown during formatting if they
try.
While conditioning on parser rules is powerful, don't make it your
first choice. You have the same information the parser does with
the token stream you are processing, and frequently what's actually
needed is far simpler than what the parser needs to do. For example,
say you wanted to ensure a space after the word "package" in a Java
source. You could just as easily specify that an identifier preceded
by the token "package" always gets a space prepended. Frequently
there will be a number of similar circumstances (for example, the
Java token "import" would want the same handling), and your
formatting code will be simpler if you don't handle these on
a parser-rule-by-parser-rule basis. Also, for use in an IDE, the
the normal state of sources in an editor is broken -
meaning if an ErrorNode
is where the rule you
expected is, whatever more general rules you have will be applied
instead, which will probably do the wrong thing or introduce line
changes a subsequent format with the source in a good state won't
undo. Writing against lexer rules only guarantees you don't write
a formatter that can only properly format valid sources and
wreaks havoc on invalid ones.
Formatting rules can prepend whitespace, or append whitespace, including adding newlines. In practice, other than the last token in a document, all whitespace modifications are processed as prepend operations. So it is possible for a rule for one token to specify to append something before the next token, and that next token might specify something contradictory. For example, the preceding token might specify to append a newline, and the next to prepend a space. The algorithm by which these are coalesced is as follows:
Your formatter can provide a Predicate<Token>
to
enable logging for a particular token type, and an ordered list
of all of the rules applied to tokens of that time, if they don't
match, the constraint that caused them not to match.
The most common reason for formatting problems is having a rule with a higher priority and more general constraint (particular ones which operate on any token which is not some type). The logging described above will tell you exactly which rules were tested and which one matched.
Logging only works for things that have a human-readable result
from toString()
. Lambdas, though convenient, do not.
The Predicates
subtypes in this library all do
implement toString()
readably, and if you are debugging,
you will want yours to as well. Note the
Criteria
and
Criterion
classes,
which will construct predicates given the array of token names
from the generated Antlr lexer, and log the names of what's being
looked for — it is far more useful than figuring out what it means
when the token type is not 53
.
While the built in actions handle most needs, implementing the
FormattingAction
interface gives you full access
to the lexing state, the token and its text, and the formatting
context (which you call to prepend / append and query for the
current position in the original and modified sources). For
example, here is how the simple line wrapping supported by
FormattingAction
is implemented:
default FormattingAction wrappingLines(int limit, FormattingAction wrapAction) { return new FormattingAction() { @Override public void accept(Token token, FormattingContext ctx, LexingState state) { if (ctx.currentCharPositionInLine() + token.getText().length() > limit) { wrapAction.accept(token, ctx, state); } else { FormattingAction.this.accept(token, ctx, state); } } @Override public String toString() { return FormattingAction.this.toString() + "-wrap-at-" + limit + "-with-" + wrapAction; } }; }
Almost everything in processing tokens for formatting is
based on the JDK's IntPredicate
, which simply
takes an int
and returns a boolean
.
But don't let that simplicity fool you — it is possible to
write predicates which maintain some state, and, say, respond
with true
only if the preceding tokens were a
particular ordered sequence of values. Just remember to recreate
such predicates on every re-format so they don't retain state
from a previous run.
The order rules are processed in is critically important. Rules are
processed starting with the most specific, proceeding to the least
specific, in the order they are added (calling toString() on a
FormattingRules
will show you the sequence they
will be tested in). Most problems outside of the obvious (the rule
doesn't match what you think it does) fall into one of two categories:
priority(30)
FormattingAction.EMPTY
,
e.g.
rules.onTokenType(ID).whereMode(someModePredicate) .wherePreviousTokenType(SHARP).priority(100). .format(FormattingAction.EMPTY)
LexingState
which
processing of the immediately previous token changed to something
unexpected. For example, Antlr language formatting offers a
"floating indent" option that aligns rules under the colon of an
Antlr rule - but of course, if a rule that puts that colon indented on a
new line is present, nothing is going to "float" because the colon
is always in the same place.
The first thing you will need is a NetBeans plugin project,
with a dependency on antlr-formatters
and some of
its dependencies (if you use Maven, the first time you build,
you will find out the missing dependencies).
The LexingState
is a sort of live database of
things you define and can use for formatting (such as how
deeply nested in braces a token is, or how many semicolons
until the next closing brace, or the position of some preceding
token). So the first thing we will need is to define an
enum
to parameterize our implementation on - this enables formatting
code to be easily human-readable, and the enum constants are the
keys you will use to look things up in it.
enum SLState { BRACE_DEPTH, BRACE_POSITION }
The second step is to implement the interface AntlrFormatterStub
,
and annotate it so that layer.xml entries are generated. It has one
method you need to implement, configure()
which is
where you configure the formatting engine to do what you want.
We will start with a single formatting rule which simply puts a
space between all tokens in the source, with a few exceptions.
This is our fallback rule which will capture any token none of the
other rules we'll define catch.
@AntlrFormatterRegistration(mimeType="text/x-simple") class SimpleFormatterStub implements AntlrFormatterStub<SLState,SimpleLanguageLexer> { public void configure(LexingStateBuilder<SLState, ?> stateBuilder, FormattingRules rules, Preferences config) { // token types are constants Antlr generated as fields on your // lexer rules.onTokenTypeNot(S_SEMICOLON, S_CLOSE_BRACE, COMMENT, S_COMMA, S_CLOSE_PARENS) .whereNotFirstTokenInSource() .format(PREPEND_SPACE); } }
This is enough to give us very minimal formatting - a few spaces
and newlines. We repeatedly call rules.onTokenType
,
which adds a new rule to the rule set; we can then add constraints
to when the rule is active; finally we set the formatting action
to call if this rule is matched. So a parsing rule is a collection
of tests to apply to tokens, with an associated action to modify the
source if the tests pass.
To test out what this does, we can create a unit test, and take advantage of antlr-formatting's test-jar library which makes it easy to write tests of formatters. For now we'll use it as a way to develop our formatter and see its output; later it can become the basis for tests of the results.
Right click the file for your SimpleFormatterStub
class, and choose Tools | Create/Update Tests, and
accept the default options to create a test.
Now we'll add a dependency on the test support JAR to make
testing our formatter easy. In you pom.xml
file,
add to the dependencies:
<dependency> <groupId>${project.groupId}</groupId> <artifactId>antlr-formatters</artifactId> <scope>test</scope> <type>test-jar</type> <version>${project.version}</version> </dependency> <dependency> <groupId>com.github.wumpz</groupId> <artifactId>diffutils</artifactId> <version>3.0</version> <scope>test</scope> </dependency>
Now add a test method to your class:
@Test public void testSomeMethod() throws Exception { AntlrFormattingHarness<Preferences, SLState> harn = new AntlrFormattingHarness<>(SampleFiles.FORMATTING_TUTORIAL, SimpleFormatterStub.class, SimpleLanguageLexer.S_WHITESPACE); String txt = harn.reformat(); System.out.println("FORMATTED:\n" + txt); }
That is enough to format a file. We are using the SampleFiles
enum from the simple language project, which provides a set of
test files to format, and implements the SampleFile
interface - you can implement a similar enum of sample files for
testing any language formatter. We create an
AntlrFormattingHarness
, which takes care of setting
up formatting infrastructure, providing it with three things:
If we run our test, the output isn't pretty, but it shows our rule in action:
types Stuff; person : object { **This item has a description place : object { thing : object { // A line comment here otherThing : object { ** a multi line ** description ratio : float default 23.42; name : string default "Formatting is fun"; math : int default 3 + 2 + 7 + 8 * 26 - ( 5 + 3 * 18) / 12;/* We support block comments as well, and the formatting engine supports reflowing their content or rewriting it. */ array : intArray default [ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100 ];}}}}
Now, this file format has a nested structure, so we will want the
ability to indent based on how nested a token starting a line is.
For that, we need to program our LexingState
to
collect some information about nesting for us. Add the following
to the configure()
method:
stateBuilder.increment(BRACE_DEPTH) .onTokenType(S_OPEN_BRACE) .decrementingWhenTokenEncountered(S_CLOSE_BRACE);
This will increment a counter every time we pass an {
character and decrement it on every }
. With one
more rule, we can put that to work, indenting our code. Since we
want this rule and all the others to be matched in preference
to the fallback rule, we will define a separate layer this next
rule and all the others will live in, which ensures they are
tested first:
rules.layer(rls -> { rls.onTokenType(ID, LINE_COMMENT, DESCRIPTION, COMMENT) .wherePreviousTokenType(S_SEMICOLON, S_OPEN_BRACE, S_CLOSE_BRACE, LINE_COMMENT, COMMENT, DESCRIPTION) .format(PREPEND_NEWLINE_AND_INDENT.by(BRACE_DEPTH)); });
Running the test again, now our output looks more like something intentionally formatted:
types Stuff; person : object { **This item has a description place : object { thing : object { // A line comment here otherThing : object { ** a multi line ** description ratio : float default 23.42; name : string default "Formatting is fun"; math : int default 3 + 2 + 7 + 8 * 26 - ( 5 + 3 * 18) / 12; /* We support block comments as well, and the formatting engine supports reflowing their content or rewriting it. */ array : intArray default [ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100 ];}}}}
You'll notice something odd has happened: Some things are separated
by blank lines. This is because two rules, DESCRIPTION
and LINE_COMMENT
are both Antlr rules which capture
everything up to the end of the line, so they wind up including the
newline that terminates the line - that will happen with any such
Antlr rule. So we need to modify our formatting rule slightly,
adding a call to .trimmingWhitespace()
to the
formatting action:
rls.onTokenType(ID, LINE_COMMENT, DESCRIPTION, COMMENT) .wherePreviousTokenType(S_SEMICOLON, S_OPEN_BRACE, S_CLOSE_BRACE, LINE_COMMENT, COMMENT, DESCRIPTION) .format(PREPEND_NEWLINE_AND_INDENT.by(BRACE_DEPTH) .trimmingWhitespace();
That will eliminate the spurious newlines, and give us full control
over the placement of line breaks. While we're changing things,
let's take care of line-wrapping while we're at it, by having our
fallback rule's FormattingAction
delegate to another
one if the line length goes above a certain length:
rules.onTokenTypeNot(S_SEMICOLON, S_CLOSE_BRACE, COMMENT, S_COMMA, S_CLOSE_PARENS) .whereNotFirstTokenInSource() .format(PREPEND_SPACE.wrappingLines(80, PREPEND_NEWLINE_AND_DOUBLE_INDENT.by(BRACE_DEPTH)));
Once we have a UI for configuring formatting, we can get the
wrap point from the Preferences
passed into this
method, instead of hard-coding it to 80
.
The last time we ran the formatter, all of the closing }
characters were piled up at the end of the last line, so let's add
a rule to take care of that now:
rls.onTokenType(S_CLOSE_BRACE) .format(PREPEND_NEWLINE_AND_INDENT.by(BRACE_DEPTH));
That get's us output that is starting to look pretty good:
types Stuff; person : object { **This item has a description place : object { thing : object { // A line comment here otherThing : object { ** a multi line ** description ratio : float default 23.42; name : string default "Formatting is fun"; math : int default 3 + 2 + 7 + 8 * 26 - ( 5 + 3 * 18) / 12; /* We support block comments as well, and the formatting engine supports reflowing their content or rewriting it. */ array : intArray default [ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100 ]; } } } }
There are a couple of things we could do to improve things - the block comment is still formatted oddly, and it would be nice to call out items with a description by placing a blank line before them:
rls.onTokenType(DESCRIPTION) .priority(100) .wherePreviousTokenTypeNot(DESCRIPTION) .format(PREPEND_DOUBLE_NEWLINE_AND_INDENT.by(BRACE_DEPTH).trimmingWhitespace()); rls.onTokenType(COMMENT) .priority(100) .format(PREPEND_NEWLINE_AND_INDENT .by(BRACE_DEPTH) .rewritingTokenTextWith( TokenRewriter.simpleReflow(80)));
At this point, we have pretty nice looking output:
types Stuff; person : object { **This item has a description place : object { thing : object { // A line comment here otherThing : object { ** a multi line ** description ratio : float default 23.42; name : string default "Formatting is fun"; math : int default 3 + 2 + 7 + 8 * 26 - ( 5 + 3 * 18) / 12; /* We support block comments as well, and the formatting engine supports reflowing their content or rewriting it. */ array : intArray default [ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100 ]; } } } }
But we also have the flexibility, thinks to LexingState
's
ability to capture token positions, the ability to do more advanced,
and sometimes more aesthetically pleasing things. Say we want to
indent everything related to some token underneath its exact
character position (one of the options for the Antlr grammar language
formatter is to align everything under the :
character,
and uses this option). Let's change things around to capture the
position of the most recent {
character. We will use
another of our enum constants:
stateBuilder.pushPosition(BRACE_POSITION) .onTokenType(S_OPEN_BRACE) .poppingOnTokenType(S_CLOSE_BRACE);
We will modify our formatting actions, as follows: Where
before we were calling .by(BRACE_DEPTH)
, which
was prepending four spaces for each step of depth, now we need
to indent by spaces: .bySpaces(BRACE_POSITION)
.
Since we perform the same formatting operations in several places,
this is a good time to define these each as a variable, so that,
if we wanted to make this kind of formatting an option, we could
simply set them up differently depending on a the settings in the
Preferences
passed in to the configure()
method. So here is the entire rewritten method:
@Override public void configure(LexingStateBuilder<SLState, ?> stateBuilder, FormattingRules rules, Preferences config) { stateBuilder.increment(BRACE_DEPTH) .onTokenType(S_OPEN_BRACE) .decrementingWhenTokenEncountered(S_CLOSE_BRACE); stateBuilder.pushPosition(BRACE_POSITION) .onTokenType(S_OPEN_BRACE) .poppingOnTokenType(S_CLOSE_BRACE); FormattingAction onNextLine = PREPEND_NEWLINE_AND_INDENT .bySpaces(BRACE_POSITION); FormattingAction onNextLineTrimmed = PREPEND_NEWLINE_AND_INDENT .bySpaces(BRACE_POSITION) .trimmingWhitespace(); FormattingAction doubleNewline = PREPEND_DOUBLE_NEWLINE_AND_INDENT .bySpaces(BRACE_POSITION) .trimmingWhitespace(); FormattingAction doubleIndent = PREPEND_NEWLINE_AND_INDENT .bySpaces(4, BRACE_POSITION); FormattingAction spaceOrWrap = PREPEND_SPACE.wrappingLines(80, doubleIndent); rules.onTokenTypeNot(S_SEMICOLON, S_CLOSE_BRACE, COMMENT, S_COMMA, S_CLOSE_PARENS) .whereNotFirstTokenInSource() .format(spaceOrWrap); rules.layer(rls -> { rls.onTokenType(ID, LINE_COMMENT, DESCRIPTION, COMMENT) .wherePreviousTokenType(S_SEMICOLON, S_OPEN_BRACE, S_CLOSE_BRACE, LINE_COMMENT, COMMENT, DESCRIPTION) .format(onNextLineTrimmed); rls.onTokenType(S_CLOSE_BRACE).format(onNextLine); rls.onTokenType(DESCRIPTION) .wherePreviousTokenTypeNot(DESCRIPTION) .format(doubleNewline); rls.onTokenType(COMMENT) .priority(100) .format(onNextLine .rewritingTokenTextWith( TokenRewriter.simpleReflow(80))); }); } }
Whether the output is aesthetically pleasing or not is an exercise for the reader, but the results certainly point out the flexibility of this model:
types Stuff; person : object { **This item has a description place : object { thing : object { // A line comment here ** a multi line ** description ratio : float default 23.42; name : string default "Formatting is fun"; math : int default 3 + 2 + 7 + 8 * 26 - ( 5 + 3 * 18) / 12; /* We support block comments as well, and the formatting engine supports reflowing their content or rewriting it. */ array : intArray default [ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100 ]; } } }
Above, we used a unit test as the skeleton for developing our formatter. Now let's turn that into a real unit test.
The key thing to test in formatters is whether the formatter output has changed in unexpected way - it is easy to add a new rule to add some nuance to the formatting, and discover only later that in certain cases, it will alter the formatting of things you didn't expect.
GoldenFiles
in the test-jar
artfiact of
antlr-formatters
makes it trivial to create such
tests. Since we are using an enum
which implements
SampleFile
, it is trivial to write a test which will
format each file in the enum, and either save it into the project's
test resources directory, or load an existing file and compare the
output:
private static GoldenFiles<?, ?, SimpleLanguageLexer, Preferences> goldenFiles; @EnumSource(SampleFiles.class) @ParameterizedTest(name = "test-[{arguments}]") public void testSomeMethod(SampleFiles file) throws Exception { MockPreferences prefs = MockPreferences.of(MAX_LINE_LENGTH, 80); String filename = prefs.filename(file.name().toLowerCase() + "-", "sim"); goldenFiles.test(file, prefs, filename, false); } @BeforeAll public static void setup() throws URISyntaxException { goldenFiles = new GoldenFiles<>(DemoDev.class, SimpleFormatterStub.class, S_WHITESPACE); }
This test will:
SampleFiles
and
The GoldenFiles
constructor that takes a
Class<?>
for the first argument will put
golden files in the Maven test resource directory for the
corresponding package. If you want to put them somewhere else,
simply use the constructor which takes a Path instead.


CHAPTER 29
THE WRECK
In this chapter the reader is introduced to the condition of the wreck as concluded from the reports of the divers (Enclosures 27.409 and 27.410) and from the different videos available to this 'Group of Experts'.
29.1
The General Condition
This can best be explained by the Smit Tak Survey Report of December 1994 - Enclosure 27.410 - where it is stated:
»The wreck of the ESTONIA lies on her starboard side in a direction 095°/097° true, which consequently means her decks are facing south. In longitudinal direction there is little to no heel. Both rudders are clear and do have an angle of 35 degrees to starboard. Both propellers and propeller shafts are clear. Starboard bilge is clear from the seabed and the deck side is partly buried in the mud. Liferafts have not been noticed in the racks and since none are floating on lines between the ship and the surface it is assumed that all have been released.
On port side some lifeboats are still hanging in or attached to the davits, a condition which could not be established on the starboard side because of the aforementioned list. The port side anchor was reported to be in the hawse pipe, starboard side has not been seen but is assumed to be in the hawse pipe as well.«The visor was missing with the remains of the hinges on the forecastle deck broken, both front bulkheads and the bow ramp were noted to be severely damaged, damaged/broken railings and broken davits were found in way of deck 7 and some broken windows/port holes on other decks.
Window panels were found to have been pushed out and doors in the aft bulkheads of decks 5 and 7 were missing while the door in the front bulkhead of deck 5 leading down to the forecastle deck was noted to be open.Note: This door could only be opened by crew members. The aft parts of the superstructures in way of decks 7 and 8 on the port side were found to be partly distorted and buckled. Large flakes of paint were scored off the aft parts of decks 5 and 6 - see the two images below - which was most probably caused when the vessel was in upside down condition with the stern already aground and the bow still above the water. - See the drawing below.
Otherwise no noteworthy damage was found according to the Smit-Tak/ Rockwater reports which was taken over by the JAIC as well, although much more damage could have been seen by carefully evaluating the available video footage as will be explained in the following subchapters.


This page shows the use a a Flickr search API to load in images from Frickr.


Deep Learning Class¶
Contains core classes and methods for initializing the deep learning 3D CNN model with different variants of the loss function, inputs are provided from the modelconfig_train.py file
-
class
dlmfg.core.core_model.
DLModel
(model_type, output_dimension, optimizer, loss_function, regularizer_coeff, output_type='regression')[source]¶ Deep Learning Model Class
- Parameters
model_type (str (required)) – Type of model to be used for training 3D CNN with MSE loss, 3D CNN with hetreoskedastic aleatoric loss, 3D CNN with a mixture density network (GMM) output
output_dimension (int (required)) – Number of output nodes for the network equal to number of KCCs for the assembly in case MSE is used as loss function
optimizer (keras.optimizer (required)) – The optimizer to be used while model training, refer: https://keras.io/optimizers/ for more information
loss_function (keras.losses (required)) – The loss function to be optimized by training the model, refer: https://keras.io/losses/ for more information
regularizer_coeff (float (required)) – The L2 norm regularization coefficient value used in the penultimate fully connected layer of the model, refer: https://keras.io/regularizers/ for more information
output_type (str) – The output type of the model which can be regression or classification, this is used to define the output layer of the model, defaults to regression (classification: softmax, regression: linear)
-
cnn_model_3d
(voxel_dim, deviation_channels)[source]¶ Build the 3D Model using the specified loss function, the inputs are parsed from the assemblyconfig_<case_study_name>.py file
-
cnn_model_3d_aleatoric
(voxel_dim, deviation_channels)[source]¶ Build the 3D Model with a heteroeskedastic aleatoric loss, this enables different standard deviation of each predicted value, to be used when the expected sensor noise is heteroskedastic
-
cnn_model_3d_mdn
(voxel_dim, deviation_channels, num_of_mixtures=5)[source]¶ Build the 3D Model with a Mixture Density Network output the gives parameters of a Gaussian Mixture Model as output, to be used if the system is expected to be collinear (Multi-Stage Assembly Systems) i.e. a single input can have multiple outputs Functions for predicting and sampling from a MDN.py need to used when deploying a MDN based model refer https://publications.aston.ac.uk/id/eprint/373/1/NCRG_94_004.pdf for more details on the working of a MDN model refer https://arxiv.org/pdf/1709.02249.pdf to understand how a MDN model can be leveraged to estimate the epistemic and aleatoric unceratninty present in manufacturing sytems based on the data collected
- Parameters
voxel_dim (int (required)) – The voxel dimension of the input, reuired to build input to the 3D CNN model
voxel_channels (int (required)) – The number of voxel channels in the input structure, required to build input to the 3D CNN model
number_of_mixtures (int) – The number of mixtures in the Gaussian Mixture Model output, defaults to 5, can be increased if higher collinearity is expected


--- layout: post permalink: phonepower.html Tags: Array NameOfCoupon: Phone Power Cash Back Summary: See our Phone Power Coupon Code, Phone Power Rebate, Phone Power Promo Code, Phone Power Discount, Phone Power Coupon Cash Back Rebate here. MetaKeywords: Phone Power Coupon Code, Phone Power Rebate, Phone Power Promo Code, Phone Power Cash Back Rebate, Phone Power Discount, Phone Power Coupon Image: LinkURL: http://www.tkqlhce.com/click-4092138-10548025 affiliate_url_link: http://www.icouponblog.com/jane.php?id=4440 thesis_readmore: See the Phone Power Coupon thesis_thumb: http://www.icouponblog.com/tn.php?merchantURL=phonepower.com Title: Save $37.50 - Phone Power Coupon Code for phonepower.com. Phone Power Rebate & Discount thesis_description: Our Phone Power Discount Coupon Code for phonepower.com. We have the best Phone Power Rebate anywhere. thesis_keywords: Phone Power, Phone Power Coupon Code, Phone Power Discount, Phone Power Rebate product_name: Phone Power hop_url: http://www.icouponblog.com/hop.php?id=4440 ---
Alexander Graham Bell brought about a revolution by inventing the phone. Another big revolution was brought about with the invention of the Voice over internet protocol (VOIP) phones. There is an influx of VoIP companies. Today we are going to look at one of them. It is called Phone Power. You can visit their website online at PhonePower.com. They offer unlimited calling to the U.S and Canada, 45 plus features on their phones and a second phone line is offered for free. They also give you one hour per month of international calls and free equipment. All this for only 8.33 cents a month! You can get other plans by paying slightly more.
Phone Power sounds pretty good on their website. But if you look at what customers are saying, it sounds pretty scary. Though on some websites it has received five star ratings, but there’s also lots of three and one star ratings as well. The main complaint was the equipment not working and tech support providing much delayed service... A lot of the favorable ratings were from previous years and the unfavorable ratings are comparatively newer. This suggests that the company started off really well and made a great impression. But it is struggling to maintain whatever goodness it had.
If you are only looking for a cheap phone service and are extremely patient and don’t mind outages, breakdowns, then you should get Phone Power. You can get a discount coupon from icouponblog.com. But if you want a real hardworking VOIP phone with excellent service, you would be better off going somewhere else. The internet is full of options!


The air in the huge stable smelled of old hay and horse dung. And blood, and burned flesh. With all the doors closed, the air felt thick. Two lanterns gave little light, and shadows filled most of the interior. In the long rows of stalls, horses whickered nervously. The man hanging by his wrists from a roof beam gave a low moan, then a ragged cough. His head fell down on his chest. He was a tall man, well-muscled, if rather the worse for wear.
Abruptly Sevanna realized that his chest no longer moved. The gem-studded rings on her fingers glittered red and green as she gestured curtly to Rhiale.
The flame-haired woman pushed the man’s head up and thumbed back one eyelid, then pressed an ear to his chest, careless of the still-smoldering splinters that peppered him. With a sound of disgust, she straightened. “He is dead. We should have left this to the Maidens, Sevanna, or the Black Eyes. I do not doubt we killed him by ignorance.”
Sevanna’s mouth tightened, and she shifted her shawl in a clatter of bracelets. They ran nearly to her elbows, a noticeable weight in gold and ivory and gems, yet she would have worn every one she owned if she could. None of the other women said anything. Putting prisoners to the question was not the work of Wise Ones, but Rhiale knew why they had to do this themselves. The lone survivor of ten mounted men who thought they could defeat twenty Maidens because they rode horses, the man had also been the first Seanchan captured in the ten days since their arrival in this land.
“He would have lived if he had not fought the pain so hard, Rhiale,” Someryn said finally, shaking her head. “A strong man for a wetlander, but he could not accept pain. Still, he told us much.”
Sevanna eyed her sideways, trying to see whether she hid sarcasm. As tall as most men, Someryn wore more bracelets and necklaces than any woman there except Sevanna herself, layers of firedrops and emeralds, rubies and sapphires, almost concealing a too-full bosom that otherwise would have been half bared with her blouse undone almost to her skirt. Her shawl, tied around her waist, hid nothing. At times it was difficult for Sevanna to tell whether Someryn was copying her or competing with her.
“Much!” Meira exclaimed. In the light of the lantern she held, her long face was grimmer than usual, though that hardly seemed possible. Meira could find the dark side of the noonday sun. “That his people lie two days west in the city called Amador? We knew that. All he has told us are wild tales. Artur Hawkwing! Bah! The Maidens should have kept him and done what was needed.”
“Would you . . . risk letting everyone learn too much too soon?” Sevanna bit her lip in vexation. She had almost called them “you fools.” Too many already knew too much, in her opinion, Wise Ones among them, but she could not risk offending these women. That knowledge grated on her! “The people are frightened.” There was no need to hide her contempt for that, at least. What shocked her, outraged her, was not that they were afraid, but how few made any effort to hide the fact. “Black Eyes, or Stone Dogs, or even Maidens, would have talked of what he said. You know they would! His lies would only have spread more fear.” They had to be lies. In Sevanna’s mind a sea was like the lakes she had seen in the wetlands, but with its far side beyond sight. If hundreds of thousands more of his people were coming, even from the other side of so large a body of water, the other prisoners she had questioned would have known of them. And no prisoner was questioned without her present.
Tion raised the second lantern and regarded her with unblinking gray eyes.  And twice as wide. Her round face often appeared placid, but thinking her so was a mistake. “They are right to fear,” she said in a stony voice. “I am afraid, and take no shame in it. The Seanchan are many if they are no more than took Amador, and we are few.  Your wetlander friend Caddar and his tame Aes Sedai sent us through his holes in the air to die. Where are the rest of the Shaido?”
Rhiale moved to stand defiantly beside Tion, and they were quickly joined by Alarys, even now toying with her black hair to draw attention to it. Or perhaps it was to avoid meeting Sevanna’s eyes. After a moment, a scowling Meira added herself to the cluster, and then Modarra. Modarra might have been called slim if she were not even taller than Someryn; as it was, lean was the best that could be said of her. Sevanna had thought Modarra as firmly in her grasp as any of the rings on her fingers. As firmly in her grasp as . . . Someryn looked at her and sighed, looked at the others. Slowly she walked over to stand beside them.
Sevanna was left standing on the very edge of the lantern’s light. Of all the women tied to her by the killing of Desaine, she trusted these most. Not that she trusted anyone very far, of course. But Someryn and Modarra she had been sure were hers as tightly as if they had sworn water oath to follow where she led. And now they dared face her with accusing eyes. Even Alarys looked up from playing with her hair.
Sevanna met their stares with a cool smile just short of a sneer. Now, she decided, was not the time to remind them of the crime that bound their fates together. Not the bludgeon, this time. “I suspected Caddar might try to betray us,” she said instead. Rhiale’s blue eyes widened at the admission, and Tion opened her mouth. Sevanna went on, not leaving them room to speak. “Would you rather have remained in Kinslayer’s Dagger to be destroyed? To be hunted like animals by four clans whose Wise Ones know how to make those holes without the traveling boxes? Instead, we are in the heart of a rich, soft land. Richer even than the lands of the treekillers. Look at what we have taken in only ten days. How much more will we take in a wetlander city? You fear the Seanchan because they have numbers? Remember that I brought every Shaido Wise One who can channel with me.” That she could not channel herself seldom occurred to her, now. Soon that lack would be remedied. “We are as strong as any force these wetlanders can send against us. Even if they do have flying lizards.” She sniffed forcefully to show what she thought of those! None of them had seen one, nor any of the scouts, but nearly every prisoner had been full of the ridiculous tales. “After we find the other septs, we will take this land for our own. All of it! We will extract a tenfold repayment from the Aes Sedai.
That should have rallied them, restored their hearts as she had had to do before. Not one woman’s face changed. Not one.
“And there is the Car’a’carn,” Tion said calmly. “Unless you have given up your plan to marry him.”
“I have given up nothing,” Sevanna replied irritably. The man—and more important, the power that came with him—would be hers someday. Somehow. Whatever it took. Smoothing her voice, she went on. “Rand al’Thor is hardly of consequence now.” At least to these blind simpletons. With him in her hands, anything would be possible for her. “I do not intend to stand here all day discussing my bridal wreath. I have matters to see to that are important.”
As she stalked away from them through the gloom, toward the doors of the stable, an unpleasant thought suddenly occurred to her. She was alone with these women. How far could she trust them, now?  By the women behind her, among others. The thought twisted her belly tight. She listened for the faint rustle of straw that would announce feet following her and heard nothing. Were they just standing there watching? She refused to look over her shoulder. Keeping the same slow pace required only a little effort—she would not display fear and shame herself!—yet when she pushed one of the tall doors open on its well-oiled hinges and stepped into bright midday light, she could not stop from drawing a relieved breath.
 The gray-haired woman turned abruptly, the worry on her face fading only a little at sight of Sevanna. The leader of all the Shaido Maidens, and she let her distress show! She was not Jumai, but she had come with Sevanna using the excuse that Sevanna spoke as the chief until a new chief of the Shaido could be chosen. Sevanna was sure that Efalin suspected that would never happen. Efalin knew where the power lay. And when to keep her mouth closed.
“Bury him deeply and hide the grave,” Sevanna told her.
Efalin nodded, signaling the Maidens ringing the stable to their feet, and they vanished inside behind her. Sevanna studied the building, with its sharp-peaked red roof and blue walls, then turned to the field in front of it.  The wetlanders had used it for training horses. Why it had been placed so far from everything else, surrounded by trees so tall that Sevanna still sometimes stared at them, she had not thought to ask the former owners, but the isolation served her purposes. The Maidens with Efalin were those who had captured the Seanchan. No one not here knew he existed. Or would know. Were the other Wise Ones talking in there? About her? In front of the Maidens? What were they saying? She would not wait on them or anyone!
They came out of the stable just as she started off toward the forest, Someryn and the others, and followed her into the trees arguing among themselves about the Seanchan, and Caddar, and where the rest of the Shaido had been sent. Not about her, but then, they would not where she could listen. What she did hear made her grimace. There were over three hundred Wise Ones with the Jumai, and it was the same whenever three or four started talking. Where were the rest of the septs, and had Caddar been a spear hurled by Rand al’Thor, and how many Seanchan were there, and even did they really ride lizards? Lizards! These women had been with her from the first. She had guided their feet step by step, but they believed they had helped plan every move, believed they knew the destination. If she was losing them now . . .
The forest gave way to a huge clearing that could have swallowed the circle back at the stable fifty times over, and Sevanna felt ill temper slipping away as she stopped to look. Low hills rose to the north, and mountains a few leagues beyond them were capped with clouds, great masses of white streaked with dark gray.  Closer at hand, thousands of Jumai went about the day’s work. The ring of hammer on anvil rose from blacksmiths, and sheep and goats were being slaughtered for the evening meal, their bleating mixed with the laughter of the children as they ran at play. Given more time to prepare for their flight from Kinslayer’s Dagger than the other septs, the Jumai had brought the flocks gathered in Cairhien, and added to them here.
Many people had set up their tents, but there was no need. Colorful structures nearly filled the clearing like a large wetlander village, tall barns and stables, a large forge and the squat roofs that had sheltered servants, all painted red and blue, surrounding the great roof itself. The manor house that was called, three floors high beneath a dark green tile roof, all of it a paler green trimmed with yellow, atop a broad man-made stone hill ten paces tall. Jumai and gai’shain climbed the long ramp that led to the great building’s door and walked the ornately carved balconies that ringed it.
The stone walls and palaces she had seen in Cairhien had not impressed her half so much. This one was painted like a wagon of the Lost Ones, but even so, marvelous. She should have realized that with so many trees, these people could afford to build anything of wood. Could no one but she see how fat this land was? More white-clad gai’shain scurried about their tasks than any twenty septs had ever had before, nearly half as many as there were Jumai! No one complained about making wetlanders gai’shain anymore. They were so docile! A wide-eyed young man in rough-sewn white hurried past clutching a basket, gaping at the people around him and stumbling over the hem of his robe. Sevanna smiled. That one’s father had called himself the lord of this place and blustered that she and her people would be hunted down—by children, of all things!—for this outrage, yet now he wore white and worked as hard as his son, as did his wife and his daughters and his other sons. The women had possessed many fine gems and beautiful silks, and Sevanna had only taken the first pick for herself.
The women behind her had stopped short to talk among themselves at the edge of the trees.  “We must learn that.” Someryn and Modarra murmured agreement.
“I do not think it matters,” Rhiale put in. At least her contrariness extended to the others, too. “I do not think they will fight unless we attack them. Remember, they did nothing until we moved against them, not even to defend themselves.”
“And when they did,” Meira said sourly, “twenty-three of us died. And more than ten thousand algai’d’siswai did not return either. Here, we have little more than a third of that number even counting the Brotherless.” She soaked the last word in scorn.
“That was Rand al’Thor’s work!” Sevanna told them sharply. “Instead of thinking what he did against us, think what we can do when he is ours!” When he is mine, she thought. The Aes Sedai had been able to take and hold him as long as they had, and she had something the Aes Sedai had not, else they would have used it. “Remember instead that we had the Aes Sedai beaten until he took their side. Aes Sedai are nothing!”
Once again her effort to strengthen their hearts produced no visible effect. All they could remember was that the spears had been broken trying to capture Rand al’Thor, and they with them. Modarra might have been staring into the grave of all her sept, and even Tion frowned uneasily, doubtless recalling that she, too, had run like a frightened goat.
“Wise Ones,” a man’s voice said behind Sevanna, “I have been sent to ask for your judgment.”
Instantly every woman’s face regained its equanimity. What she could not do, he had done with his very presence. No Wise One would allow any but another Wise One to see her out of countenance. Alarys stopped stroking her hair, which she had pulled over her shoulder. Plainly none of them recognized him. Sevanna thought she did.
He regarded them gravely, with green eyes much older than his smooth face. He had full lips, but there was a set to his mouth, as if he had forgotten how to smile. “I am Kinhuin, of the Mera’din, Wise Ones. The Jumai say we may not take our full share from this place because we are not Jumai, but it is because they will have less since we are two for every Jumai algai’d’siswai. The Brotherless ask your judgment, Wise Ones.”
Now that they knew who he was, some could not hide their dislike of the men who had abandoned clan and sept to come to the Shaido rather than follow Rand al’Thor, a wetlander and no true Car’a’carn, as they thought. Tion’s face merely went flat, but Rhiale’s eyes flashed, and Meira teetered on the edge of a scowl. Only Modarra showed concern, but then, she would have tried to settle a dispute between treekillers.
“These six Wise Ones will give judgment after hearing both sides,” Sevanna told Kinhuin with a graveness to match his.
The other women looked at her, barely concealing their surprise that she intended to stand aside. It had been she who arranged for ten times the number of Mera’din to accompany the Jumai as went with any other sept. She really had suspected Caddar, if not of what he had done, and she had wanted as many spears around her as possible. Besides, they could always die in place of Jumai.
She affected surprise at the others’ surprise. “It would not be fair for me to take part since my own sept is involved,” she told them before turning back to the green-eyed man. “They will give fair judgment, Kinhuin. And I am certain they will speak in favor of the Mera’din.”
The other women gave her hard looks before Tion motioned abruptly for Kinhuin to lead the way. He had to tear his eyes away from Sevanna to comply. Wearing a faint smile—he had been staring at her, not Someryn—she watched them vanish into the mass of people moving about the manor grounds. For all their misliking the Brotherless—and her making predictions to the man about their decision—the chances were they would decide that way. Either way, Kinhuin would remember and tell the others of his so-called society. The Jumai were already in her belt pouch, but anything that tied the Mera’din to her was welcome.
Turning, Sevanna strode back into the trees, though not toward the stable. Now that she was alone, she could see to something much more important than the Brotherless. She checked what she had tucked into her skirt at the small of her back, where her shawl hid it. She would have felt if it slipped a hair, but she wanted to touch its smooth length with her fingers. No Wise One would dare think her less than they, once she used that, perhaps today. And one day, it would give her Rand al’Thor. After all, if Caddar had lied in one thing, maybe he had lied in others.
Through a blur of tears Galina Casban glared at the Wise One shielding her. As if there were any need for the slender woman’s shield. Right then she could not have so much as embraced the Source. Sitting cross-legged on the ground between two squatting Maidens, Belinde adjusted her shawl and gave a thin smile, as if she knew Galina’s thoughts. Her face was narrow and foxlike, and her hair and eyebrows had been bleached nearly white by the sun. Galina wished she had crushed her skull instead of merely slapping her.
It had not been an attempt at escape, merely more frustration than she could bear. Her days began and ended with exhaustion, every day more than the last. She could not remember how long since they had stuffed her into that coarse black robe; the days ran together like an everlasting stream. A week? A month? Maybe not that long. Surely not more. She wished she had never touched Belinde. If the woman had not stuffed rags into her mouth to silence her sobbing, she would have begged to be allowed to carry rocks again, or move a pile of pebbles stone by stone, or any of the tortures they filled her hours with. Anything rather than this.
Only Galina’s head stuck out of the leather sack that hung suspended from the stout limb of an oak. Directly beneath the sack, coals glowed in a bronze brazier, a slow burn, heating the air inside the sack. She huddled in that sweltering heat with her thumbs tied to her toes, sweat slicking her nakedness. Her hair clung damply to her face, and she panted, nostrils flaring for air, when she was not sobbing. Even so, this would have been better than the endless, senseless, backbreaking labor they subjected her to except for one thing. Before snugging the neck of the sack beneath her chin, Belinde had emptied a pouch of some fine powder over her, and as she had begun to sweat, it had begun to burn like pepper flung in the eyes. It seemed to coat her from the shoulders down, and, oh, Light, it burned!
That she called on the Light measured her desperation, but they had not broken her for all their trying. She would get free—she would!—and once she did, she would make these savages pay in blood! Rivers of blood! Oceans! She would have them all skinned alive! She would . . . ! Flinging back her head, she howled; the wadded rags in her mouth muffled the sound, but she howled, and she did not know whether it was a shriek of rage or a scream for mercy.
When her howls died and her head fell forward, Belinde and the Maidens were on their feet, and Sevanna was with them. Galina attempted to stifle her sobbing in front of the golden-haired woman, but she could as soon have plucked the sun from the sky with her fingers.
“Listen to her whine and snivel,” Sevanna sneered, coming to look up at her. Galina tried to put an equal contempt in her own stare. Sevanna decked herself with enough jewelry for ten women! She wore her blouse unlaced to nearly bare her bosom, except for all those mismatched necklaces, and breathed deep when men looked at her! Galina tried, but contempt was hard to manage with tears rolling down her cheeks along with her sweat. She shook with weeping, making the sack sway.
“This da’tsang is tough as an old ewe,” Belinde cackled, “but I always found even the toughest old ewe was made tender if cooked slowly, with the right herbs. When I was a Maiden, I softened Stone Dogs with enough cooking.” Galina closed her eyes. Oceans of blood, to pay for . . . !
The sack lurched, and Galina’s eyes popped open as it began to settle. The Maidens had undone the rope running over the limb, and the pair of them were lowering her slowly. Frantically she thrashed about, trying to look down, and almost began sobbing anew, with relief, when she saw that the brazier had been moved aside. With Belinde’s talk of cooking . . . That would be Belinde’s fate, Galina decided. Tied to a spit and turned over a fire until her juices dripped! That to begin!
With a thud that made Galina grunt, the leather bag hit the ground and toppled over. As unconcerned as if they were handling a sack of potatoes, the Maidens tumbled her out onto the brown weeds, sliced the cords that held her thumbs and toes, plucked the gag from between her teeth. Dirt and dead leaves stuck to the sweat coating her.
She very much wanted to stand, to meet them all eye-to-eye and glare-for-glare. Instead, she rose only as far as hands and knees, then dug her fingers into the mulch of the forest floor, dug her toes in. Any further, and she would not be able to stop her hands from flying to soothe her red, flaming skin. Her sweat felt like the juice of ice peppers. All she could do was crouch there and quiver, try to work some moisture back into her mouth and daydream of what she would do to these savages.
“I believed you were stronger than this,” Sevanna said above her in thoughtful tones, “but perhaps Belinde is right. Perhaps you are soft enough, now.  Perhaps you will not even have to be gai’shain. Will you swear to obey me in all things?”
“Yes!” The hoarse word flew from Galina’s tongue without hesitation, though she had to swallow before speaking more. “I will obey you! I swear it!” And so she would obey. Until they gave the opening she needed. Was this all that had been necessary? An oath she would have made the first day? Sevanna would learn what it was like to hang over hot coals. Oh, yes, she . . .
“Then you will not object to swearing your oath on this,” Sevanna said, tossing something down in front of her.
Galina’s scalp crawled as she stared at it.  Then she saw the flowing marks carved into the end toward her, numerals used in the Age of Legends. One hundred eleven. She had thought it was the Oath Rod, somehow stolen from the White Tower. That also was marked, but with the numeral three, which some thought stood for the Three Oaths. Maybe this was not what it seemed. Maybe. Yet no hooded viper from the Drowned Lands coiled there could have frozen her so still.
“A fine oath, Sevanna. When did you intend to tell the rest of us?”
 It could have pulled her eyes away from a hooded viper, too.
Therava appeared among the trees leading a dozen cold-faced Wise Ones. When they stopped behind her, confronting Sevanna, every woman present except for the Maidens had been there when Galina was sentenced to wear the black robe. A word from Therava, a short nod from Sevanna, and the Maidens departed swiftly. Sweat still oozed from Galina, but suddenly the air seemed cold.
Sevanna glanced at Belinde, who avoided her eye. Sevanna’s lip curled, half sneer, half snarl, and she planted fists on hips. Galina did not understand where she found the nerve, a woman who could not channel at all. Some of these women possessed not inconsiderable strength. No, she could not afford to think of them only as wilders if she was to escape and have her revenge. Therava and Someryn were stronger than any woman in the Tower, and any of them could have been Aes Sedai easily.
But Sevanna faced them defiantly. “It seems you rendered justice quickly,” she said in a voice dry as dust.
“The matter was simple,” Tion replied calmly. “The Mera’din received the justice they deserved.”
“And they were told they received it in spite of your attempt to sway us,” Rhiale added with some heat. Sevanna nearly did snarl at that.
Therava would not be diverted from her purpose, though. In one swift step she reached Galina, gripped a handful of her hair and jerked her up to her knees, bent her head back. Therava was not the tallest of these women by at least a head, yet she loomed taller than most men, staring down with a hawk’s eyes, driving away every thought of revenge or defiance. The white streaks touching her dark red hair only made her face more commanding. Galina’s hands clenched into fists on her thighs, nails digging into her palms. Even the burning of her skin paled under that stare. She had daydreamed about breaking every one of these women, making them plead for death, laughing as she denied their begging. About every one except Therava. At night, Therava filled her dreams and all Galina could do was try to flee; the only escape was to wake screaming. Galina had broken strong men and strong women, but she stared up at Therava wide-eyed and whined.
“This one has no honor to shame.” Therava almost spat the words. “If you want her broken, Sevanna, let me have her. When I am done, she will obey without the need for your friend Caddar’s toy.”
Sevanna spoke up heatedly, denying friendship with this Caddar, whoever he was, and Rhiale barked that Sevanna had brought him to the others, and others began arguing about whether the “binder” would work any better than the “traveling box.”
A small part of Galina’s mind seized on mention of the traveling box. She had heard it spoken of before, longed to lay hands on it if only for a moment. With a ter’angreal that enabled her to Travel, however imperfectly it seemed to work, she would be able to . . . Even hope of escape could not stand against thoughts of what Therava would do to her if the others decided to give in to the woman’s request. When the hawk-eyed Wise One loosed her hair to join the argument, Galina hurled herself at the rod, landing flat on her belly. Anything, even having to obey Sevanna, was better than being handed over to Therava. If she had not been shielded, she would have channeled to operate the rod herself.
No sooner did her fingers close on the smooth rod than Therava’s foot came down on it hard, trapping her hands painfully against the ground. None of the Wise Ones so much as glanced at her where she lay writhing, trying futilely to pull free. She could not make herself pull too hard; dimly she could recall making rulers pale with fear, but she did not dare disturb this woman’s foot.
“If she is to swear,” Therava said, staring hard at Sevanna, “it should be to obey all of us here.” The others nodded, some voicing agreement, all but Belinde, and she pursed her lips thoughtfully.
Sevanna stared back just as hard. “Very well,” she acceded finally. “But me first among us. I am not only a Wise One; I speak as the clan chief.”
Therava smiled thinly. “So you do. Two among us first, Sevanna. You and I.” Not a whisper of defiance faded from Sevanna’s face, but she nodded. Grudgingly. Only then did Therava move her foot. The light of saidar surrounded her, and a flow of Spirit touched the numerals at the end of the rod in Galina’s hands. Just as was done with the Oath Rod.
For an instant, Galina hesitated, flexing mashed fingers. It felt the same as the Oath Rod, too; not quite like ivory, not quite like glass, distinctly cool on her palms. If it was a second Oath Rod, it could be used to remove any oath she swore now. If she were given the opportunity. She did not want to take the chance, did not want to swear to Therava in any case. Always before this in her life, she had commanded; life since her capture had been misery, but Therava would make her a lapdog! Yet if she did not, would they let Therava break her? She could not find the smallest particle of doubt that the woman would do just that. Utterly.
“Under the Light and by my hope of salvation and rebirth”—she no longer believed in the Light or a hope of salvation, and there was no need to speak more than a simple promise, but they expected a strong oath—“I swear to obey every Wise One present here in all things, and first among them, Therava and Sevanna.” The last hope that this “binder” was something else vanished as Galina felt the oath settle on her, as if she suddenly wore a garment that covered her far too tightly from her scalp to the soles of her feet. Throwing back her head, she screamed. In part that was because it suddenly seemed as if the burning of her skin was being pressed deep into her flesh, but mainly, it was pure despair.
“Be quiet!” Therava said sharply. “I do not want to listen to you wailing!” Galina’s teeth clicked shut, nearly biting her tongue, and she struggled to swallow her sobs. Nothing but obedience was possible, now. Therava frowned at her. “Let us see if this truly works,” she muttered, bending closer. “Have you planned violence against any Wise One here? Answer truthfully, and ask to be punished if you have. The penalty for violence against a Wise One,” she added like an afterthought, “can be to be killed like an animal.”
Gulping air in horrified panic, Galina shied back from the woman. She could not take her eyes away from Therava’s, though, and she could not stop the words that chattered through her teeth. “I d-did, ag-g-gainst all of you! P-please p-punish me f-for it!” Would they kill her, now? After all of this, was she to die here?
“It seems this binder does as your friend claimed after all, Sevanna.” Plucking the rod from Galina’s limp hands, Therava tucked it behind her belt as she straightened. “It also seems that you will wear white after all, Galina Casban.” For some reason, she gave a pleased smile at that. But she issued other commands, too. “You will behave meekly, as a gai’shain should. If a child tells you to jump, you will jump unless one of us has said otherwise. And you will not touch saidar or channel unless one of us tells you. Release the shield on her, Belinde.”
The shield vanished, and Galina knelt there, staring hollowly. The Source shone just out of sight, tantalizing. And she could have sprouted wings as easily as she could stretch out for it.
Bracelets clattered as Sevanna shifted her shawl in anger. “You take too much on yourself, Therava. That is mine; give it to me!” She held out her hand, but Therava merely folded her arms beneath her breasts.
“There have been meetings among the Wise Ones,” the stern-eyed woman told Sevanna. “We have reached certain decisions.” The women who had come with her gathered behind her, all of them facing Sevanna, and Belinde hurried to join them.
“Without me?” Sevanna snapped. “Do any of you dare reach a decision without me?” Her tone remained as strong as ever, but her eyes flickered to the rod in Therava’s belt, and Galina thought there was a touch of uneasiness there. Another time, she would have been delighted to see it.
“One decision had to be reached without you,” Tion said in a flat voice.
 “Sometimes, Wise Ones must talk without a clan chief listening. Or someone who speaks as a chief.”
“We decided,” Therava said, “that just as a clan chief must have a Wise One to advise him, so must you have a Wise One’s advice. I will advise you.”
Gathering her shawl around her, Sevanna studied the women confronting her. Her expression was unreadable. How did she do it? They could crush her like an egg beneath a hammer. “And what advice do you offer me, Therava?” she said at last in an icy voice.
“My strong advice is that we move without delay,” Therava replied, as cool as Sevanna. “These Seanchan are too close and too many. We should move north into these Mountains of Mist and establish a hold. From there, we can send parties to find the other septs. It may take long to reunite the Shaido, Sevanna. Your wetlander friend may have scattered us to the nine corners of the world. Until we do that, we are vulnerable.”
“We will move tomorrow.” If Galina had not been sure she knew Sevanna inside and out, she would have thought the woman sounded petulant as well as angry. Those green eyes flashed. “But east. That also is away from the Seanchan, and the lands to the east are in turmoil, ripe for plucking.”
There was a long silence, then Therava nodded. “East.” She said the word softly, the softness of silk laid over steel. “But remember that clan chiefs have lived to regret rejecting a Wise One’s advice too often. You may, as well.” The threat on her face was plain as that in her voice, yet Sevanna laughed!
“You remember, Therava! All of you remember! If I am left for the vultures, so will you be! I have made assurance of that.”
The other women exchanged worried glances, all but Therava, and Modarra and Norlea frowned.
Slumped on her knees, whimpering and trying in vain to soothe her skin with her hands, Galina found herself wondering what these threats meant. It was a small thought, worming its way through bitterness and self-pity. Anything she could use against these women would be welcome. If she dared use it. A bitter thought.
Abruptly she realized that the sky was turning dark. Billowing clouds were rolling down from the north, streaked gray and black, obscuring the sun. And beneath the clouds fell flurries of snow, swirling in the air. None reached the ground—few fell as far as the treetops—but Galina gaped. Snow! Had the Great Lord loosened his grip on the world for some reason?
The Wise Ones stared at the sky, too, mouths hanging open as if they had never seen clouds, much less snow.
“What is this, Galina Casban?” Therava demanded. “Speak if you know!” She did not look away from the sky until Galina told her it was snow, and when she did it was to laugh. “I always thought the men who ran down Laman Treekiller lied about snow. This could not hamper a mouse!”
Galina clamped her jaws shut on explaining about snowfalls, aghast that her instinct had been to curry favor. Aghast as well at the small pang of pleasure that keeping the information back gave. I am the Highest of the Red Ajah! she reminded herself. I sit on the Supreme Council of the Black Ajah!  This was not fair!
“If we are done here,” Sevanna said, “I will take the gai’shain back to the great roof and see her put in white. You can remain and stare at the snow if you wish.” Her tone was so smooth, like butter in the tub, that no one would have thought her at daggers’ points only moments earlier. She looped her shawl over her elbows and adjusted some of her necklaces; nothing in the world concerned her more.
“We will take care of the gai’shain,” Therava told her just as smoothly. “Since you speak as the chief, you have a long day and most of the night ahead of you if we are to move tomorrow.” For an instant, Sevanna’s eyes flashed again, but Therava merely snapped her fingers and gestured sharply at Galina before turning to go. “Come with me,” she said. “And stop pouting.”
Head down, Galina scrambled to her feet and scurried after Therava and the other women who could channel. Pouting? She might have been scowling, but never pouting! Her thoughts scrabbled like rats in a cage, finding no hope of escape. There had to be one! There had to be! One thought that surfaced in the middle of that turmoil almost made her begin weeping again. Were gai’shain robes softer than the scratchy black wool she had been forced to wear so far? There had to be a way out! A hasty glance back through the trees showed Sevanna still standing there, glaring after them. Overhead, the clouds swirled, and the falling snow melted like Galina’s hopes.


Dear, I Hope This Mail Meets You In Good Health And Spirit, I Am, William Bright, A Sierra Leonia. Presently, I Live As A Refugee In republic of senegal dakar , With My Younger Sister, Claris. I Am A Victim Of War And The Son Of Late Chief Dr.S.IKUEZE The Assassinated Former Assistant Director Of Sierra Leone Gold And Diamond Mining Corporation. My Father Was Killed With Other Government Officials During Official Hours When The Rebel Troops Stormed And Raided The Mining Corporation Office At The Heat Of The Crisis In My Country. A Few Weeks Later, The Rebels Also Invaded Our Residential Building In Which My Mother And Two Of Our Security Men Were Killed In The Compound While I Was Out For A Special Research Program And My Younger Sister Was In School. I Had A Singular Shock And Trauma, Which Compelled Us To Flee From The Country To republic of senegal dakar By The Help Of An Army Colonel, Who Is A Close Friend Of My Late Father, I Have First Degree In Marketing And Would Have Further My Education If Not For The Death Of My Parents. I Have Never Worked To Earn My Living Since My Late Parents Had Enough Wealth For Us. I Am Contacting You Now Because Of The Present Difficulty I Am Facing. Unfortunately My Father's Two Accounts In West Africa Have Recently Been Frozen. However This Did Not Affect The Twenty Million And Six Hundred Thousand Dollars (Us$ 20,600,000), Which He Kept In a security company in senegal dakar. For Now, I Am Having Every Information And Document Needed For The Clearance Of The Money In The security company Here In senegal dakar And I Want You To Act As The Beneficiary Of The Fund For Easy And Smooth Transfer To Your Account Abroad For Investment Purposes. You Will No Doubt Be Adequately Compensated With As Well As A Percentage Of The Profit From Investment Of The Fund. Also You Will See To It That My Sister And I Come Over To Your Country At The Earliest Possible Time. I Am Making This Request To You With Tears In My Eyes And I Feel That God Almighty Will Touch You With His Spirit To Listen To My Cry For Help And Answer Me Without Delay. Since Our Breadwinner Is No More And This Is The Only Hope For Life. You Positive Response Will Give Me The Greatest Joy And Relief.  Seriously Waiting For Your Urgent Reply. Best regard.PLZZ you phone number and you fax number, MR.WILLIAM.B.IKUEZE CONTACT ME WITH THIS ADDERSS E-MAIL ADDERSS :Bright_william2005@walla.com


-
Researcher @MEGVII(Face++)
- 3D Object Detection @ Detection Team of Research Institute
- Human Detection in the Crowd.
- Arxiv Topic
-
Algorithm Engineer @Horizon Robotics
- Horizon Robotics' CES 2019 Matrix LiDAR sensing solution.
- CES 2019 News
-
Graduated from @South China University of Technology
- Major in Software Engineering. Honored Graduate.
-
Intern @ALIBABA
- As a Intern Algorithm Engineer, Online Video Recommendation.
-
Intern @DiDi AI Lab
- As a Intern Speech Recognition Engineer, Adversarial domain adaptation, CTC.


| Home | Trees | Indices | Help |
|
|---|
|
|
Local Shared Object implementation.
Local Shared Object (LSO), sometimes known as Adobe Flash cookies, is a cookie-like data entity used by the Adobe Flash Player and Gnash. The players allow web content to read and write LSO data to the computer's local drive on a per-domain basis.
Since: 0.1.0
|
|||
|
SOL Local Shared Object class, allows easy manipulation of the internals of a sol file.
|
|||
|
LSO Local Shared Object class, allows easy manipulation of the internals of a sol file.
|
|
|||
tuple
|
|
||
| BufferedByteStream |
|
||
|
|||
|
|
|||
HEADER_VERSION =
Magic Number - 2 bytes |
|||
HEADER_SIGNATURE =
Marker - 10 bytes |
|||
PADDING_BYTE =
Padding - 4 bytes |
|
Decodes a SOL stream.
|
Produces a SharedObject encoded stream based on the name and values.
|
Loads a sol file and returns a SOL object.
|
Writes a SOL
object to
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Mon Sep 7 23:17:40 2009 | http://epydoc.sourceforge.net |


Please review Google Analytics' privacy policy for additional information. It is also possible opt-out of Google Analytics for those who wish to do so.


It is easy to be mindful while talking to others, but one can get distracted when others are talking about something you don’t understand or don’t have a part in, although you honestly mean good and want to listen sometimes the mind can be too distracted, and float away in a few seconds – “Dipping”. To avoid this we just need to be aware of the speaker and try not to judge them.
“The most precious gift we can offer others is our presence. When mindfulness embraces those we love, they will bloom like flowers.” - Thich Nhat Hanh
Bringing ‘sukha’ (technical translation: Non-energetic joy) goes with the idea of seeing positivity in everything we do. If you bring a happy mood it’s easier to become calm and relaxed therefore letting you reach a state of relaxed-but-calm self, much faster.
“Have expectations before meditation, but have no expectation during meditation.” – Alan Wallace
Happiness can be passed down through the work being done and the positivity you bring towards it.


The intent of the project was to help me, Dave Rogers (contact info at bottom), learn more python and practice test-driven development (tdd) using python, while at the same time attempting to generalize the capabilities of the parser/translator/vm compared to their original implementation in C++. All of the tests for the project are unit tests using the standard python unittest module, and they are collected in the test package.
Please feel free to add, extend, modify the project as you see fit. If there are any questions that I may be able to help with, my contact info should be at the bottom of each documentation file.
Last Modified Date: 2009-07-02
Dave Rogers
Email questions, corrections:
drogers141 at sbcglobal dot net, or if no response,
drogers141 at gmail dot com


| Top |
Functions
| NcmSParam * | ncm_sparam_new () |
| NcmSParam * | ncm_sparam_copy () |
| NcmSParam * | ncm_sparam_ref () |
| void | ncm_sparam_free () |
| void | ncm_sparam_clear () |
| void | ncm_sparam_set_lower_bound () |
| void | ncm_sparam_set_upper_bound () |
| void | ncm_sparam_set_scale () |
| void | ncm_sparam_set_absolute_tolerance () |
| void | ncm_sparam_set_default_value () |
| void | ncm_sparam_set_fit_type () |
| void | ncm_sparam_take_name () |
| void | ncm_sparam_take_symbol () |
| const gchar * | ncm_sparam_name () |
| const gchar * | ncm_sparam_symbol () |
| gdouble | ncm_sparam_get_lower_bound () |
| gdouble | ncm_sparam_get_upper_bound () |
| gdouble | ncm_sparam_get_scale () |
| gdouble | ncm_sparam_get_absolute_tolerance () |
| gdouble | ncm_sparam_get_default_value () |
| NcmParamType | ncm_sparam_get_fit_type () |
Properties
| double | absolute-tolerance | Read / Write |
| double | default-value | Read / Write |
| NcmParamType | fit-type | Read / Write |
| double | lower-bound | Read / Write |
| char * | name | Read / Write / Construct Only |
| double | scale | Read / Write |
| char * | symbol | Read / Write / Construct |
| double | upper-bound | Read / Write |
Description
This object comprises the necessary properties to define a scalar parameter. It is used by NcmModel to store the description of the scalar model parameters.
Functions
ncm_sparam_new ()
NcmSParam * ncm_sparam_new (const gchar *name
,const gchar *symbol
,gdouble lower_bound
,gdouble upper_bound
,gdouble scale
,gdouble abstol
,gdouble default_val
,NcmParamType ftype
);
This function allocates memory for a new NcmSParam object and sets its properties to the values from the input arguments.
The name
parameter is restricted to the interval [lower_bound
, upper_bound
].
scale
is an initial step for the statistical algorithms.
abstol
is the absolute error tolerance of the parameter.
ftype
indicates if the parameter will be fitted or not.
Parameters
name |
||
symbol |
||
lower_bound |
value of “lower-bound” |
|
upper_bound |
value of “upper-bound” |
|
scale |
value of “scale” |
|
abstol |
value of “absolute-tolerance” |
|
default_val |
value of “default-value” |
|
ftype |
ncm_sparam_copy ()
NcmSParam *
ncm_sparam_copy (NcmSParam *sparam
);
Duplicates the NcmSParam object setting the same values of the original propertities.
ncm_sparam_ref ()
NcmSParam *
ncm_sparam_ref (NcmSParam *sparam
);
Atomically increases the reference count of sparam
by one.
ncm_sparam_free ()
void
ncm_sparam_free (NcmSParam *sparam
);
Atomically decrements the reference count of sparam
by one. If the reference count drops to 0,
all memory allocated by sparam
is released.
ncm_sparam_clear ()
void
ncm_sparam_clear (NcmSParam **sparam
);
Atomically decrements the reference count of sparam
by one. If the reference count drops to 0,
all memory allocated by sparam
is released. Set the pointer to NULL.
ncm_sparam_set_lower_bound ()
void ncm_sparam_set_lower_bound (NcmSParam *sparam
,const gdouble lb
);
Sets the value lb
to the “lower-bound” property.
ncm_sparam_set_upper_bound ()
void ncm_sparam_set_upper_bound (NcmSParam *sparam
,const gdouble ub
);
Sets the value ub
to the “upper-bound” property.
ncm_sparam_set_scale ()
void ncm_sparam_set_scale (NcmSParam *sparam
,const gdouble scale
);
Sets the value scale
to the “scale” property.
ncm_sparam_set_absolute_tolerance ()
void ncm_sparam_set_absolute_tolerance (NcmSParam *sparam
,const gdouble abstol
);
Sets the value abstol
to the “absolute-tolerance” property.
ncm_sparam_set_default_value ()
void ncm_sparam_set_default_value (NcmSParam *sparam
,const gdouble default_val
);
Sets the value default_val
to the “default-value” property.
ncm_sparam_set_fit_type ()
void ncm_sparam_set_fit_type (NcmSParam *sparam
,const NcmParamType ftype
);
Sets the value ftype
to the “fit-type” property.
ncm_sparam_take_name ()
void ncm_sparam_take_name (NcmSParam *sparam
,gchar *name
);
Takes name
as the name string.
The caller doesn't have to free it any more.
ncm_sparam_take_symbol ()
void ncm_sparam_take_symbol (NcmSParam *sparam
,gchar *symbol
);
Takes symbol
as the symbol string.
The caller doesn't have to free it any more.
ncm_sparam_get_absolute_tolerance ()
gdouble
ncm_sparam_get_absolute_tolerance (const NcmSParam *sparam
);
Property Details
The “absolute-tolerance”
property
“absolute-tolerance” double
Absolute tolerance, whose value is restricted to [0, G_MAXDOUBLE], is the size of the error used by NcmFit.
Owner: NcmSParam
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “default-value”
property
“default-value” double
Parameter's default value.
Owner: NcmSParam
Flags: Read / Write
Default value: 0
The “fit-type”
property
“fit-type” NcmParamType
Parameter's fit type: FIXED or FREE.
Owner: NcmSParam
Flags: Read / Write
Default value: NCM_PARAM_TYPE_FREE
The “lower-bound”
property
“lower-bound” double
Lower parameter threshold whose value is restricted to [-G_MAXDOUBLE, G_MAXDOUBLE].
Owner: NcmSParam
Flags: Read / Write
Default value: 0
The “name”
property
“name” char *
The parameter' s name must be a string written using only ASCII and -.
Owner: NcmSParam
Flags: Read / Write / Construct Only
Default value: NULL
The “scale”
property
“scale” double
Scale, whose value is restricted to [0, G_MAXDOUBLE], is the step used by NcmFit to increment the value of the parameter.
Owner: NcmSParam
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “symbol”
property
“symbol” char *
Parameter's name written in a usual form (including latex).
Owner: NcmSParam
Flags: Read / Write / Construct
Default value: NULL


This is a typing test. Your goal is to duplicate the provided text, EXACTLY, in the field below. The timer starts when you start typing, and only stops when you match this text exactly. Good Luck!
Smart people believe weird things because they are skilled at defending beliefs they arrived at for non-smart reasons.


{{dep.description}}
Original image from: http://codecondo.com/7-good-reasons-to-use-mean-stack-in-your-next-web-project/


Shane Ouyang
About
Portfolio
Contact
Portfolio
Hangman
RPG Game
Trivia Game
Rutgers Info Widget
Rock Paper Scissors
Connect with Me


Moment 'professor throws body parts of his murdered student lover, 24, into icy river'
Historian Oleg Sokolov, 63, was filmed chucking three packages into the Moyka River in St Petersburg, according to law enforcement, before going back with more of her remains
by Will Stewart, Chiara FiorilloA macabre CCTV video shows the moment a leading Russian military professor threw body parts of his murdered student lover into a river, police say.
Historian Oleg Sokolov, 63, has been detained on suspicion of shooting then dismembering Anastasia Yeschenko, 24.
The footage, recorded at 4am, highlights the respected academic, Russia’s leading expert on Napoleon, disposing of the woman’s severed legs and other body parts into the Moyka River in St Petersburg, according to law enforcement.
In the clip, a man is seen chucking three packages into the icy waters close to his home as an unsuspecting cyclist rides past.
When he came back with more body parts, he fell into the river seeking to dispose of the arms, which he had carried in a backpack, according to reports.
Sokolov was pulled out of the waters “suffering from hypothermia” and was detained.
New details today emerged of the shocking case, with claims that after killing his student lover, the professor hosted a party in his luxury apartment while his victim’s body was locked in a spare room.
The woman had been shot at least four times with a rifle after an argument, say reports.
One bullet hit her in the head and she died immediately.
After the party, Anastasia’s body was cut up with a saw.
Contrary to earlier reports, when police entered the flat only her severed head was still there.
The victim’s mother Galina Yeschenko, 49, is a police lieutenant-colonel who travelled from Krasnodar to identify her daughter.
Her father Oleg Yeschenko said: “I was not personally acquainted with him.
“But Anastasia never said anything bad about him.
“So what happened shocked us.”
A custody hearing was due to be held today with Sokolov facing a criminal investigation for murder with a 15-year maximum sentence.
Sokolov’s met his first wife, also called Anastasia, when he was a 34-year-old schoolteacher and she was his student, aged 16, say reports.
She later died of cancer.
The professor at St Petersburg State University is married but separated from his second wife Anna.
She is said to have known about his relationship with Anastasia Yeschenko, who was his student.
Yeschenko’s brother said that she had called him to say she had rowed with Sokolov after she said she wanted to attend a birthday party for a male friend, according to Komsomolskaya Pravda.
She had been “crying”, he said.
“I told her to leave him at once,” he said.
Sokolov is well known for reenacting moments of Napoleonic history.
He was president of the Russian Association of Military History and is now a member of the body’s scientific council.
He was made a knight of the Legion of Honour in France in 2003 and had previously taught at the Paris-Sorbonne University.
Sergey Sabirov, member of an historic re-enactment club, told Moskovsky Komsomolets: “I knew both Oleg and Anastasia.
“Nobody in our club believes he could commit this crime.
“Sokolov was a hot-blooded man but not an idiot.”
His relationship with Anastasia was well known and they had travelled abroad together, he said.