A library of procedures for formatting Scheme objects to text in
various ways, and for easily concatenating, composing and extending
these formatters efficiently without resorting to capturing and
manipulating intermediate strings.
For Gauche run
For MzScheme you can download and install the latest
http://synthcode.com/scheme/fmt/fmt.plt
To build the
For Scheme48 the package descriptions are in
For other implementations you'll need to load SRFI's 1, 6, 13, 33
(sample provided) and 69 (also provided), and then load the following
files:
The traditional approach is to use templates - typically strings,
though in theory any object could be used and indeed Emacs' mode-line
format templates allow arbitrary sexps. Templates can use either
escape sequences (as in C's
This library takes a combinator approach. Formats are nested chains
of closures, which are called to produce their output as needed.
The primary goal of this library is to have, first and foremost, a
maximally expressive and extensible formatting library. The next
most important goal is scalability - to be able to handle
arbitrarily large output and not build intermediate results except
where necessary. The third goal is brevity and ease of use.
where
Each
would return the string
A
These parameters may seem unwieldy, but they can also take their
defaults from state variables, described below.
The
See http://www.bipm.org/en/si/si_brochure/chapter3/prefixes.html.
As
Note these are column-oriented padders, so won't necessarily work
with multi-line output (padding doesn't seem a likely operation for
multi-line output).
If a truncation ellipse is set (e.g. with the
A convenience control structure can be useful in combination with
these states:
Many of the previously mentioned combinators have behavior which can
be altered with state variables. Although
will return the string
would return
Note that fixed point formatting supports arbitrary precision in
implementations with exact non-integral rationals. When trying to
print inexact numbers more than the machine precision you will
typically get results like
but with an exact rational it will give you as many digits as you
request:
would output
would output
outputs
assuming a 16-char width (the left side gets half the width, or 8
spaces, and is left aligned). Note that we explicitly use DSP instead
of the strings directly. This is because
would output
You may also prefix any column with any of the symbols
You can further prefix any column with a width modifier. Any
positive integer is treated as a fixed width, ignoring the available
width. Any real number between 0 and 1 indicates a fraction of the
available width (after subtracting out any fixed widths). Columns
with unspecified width divide up the remaining width evenly.
Note that
As an implementation detail,
outputs
This makes it easier to generate tables without knowing widths in
advance. However, because it requires generating the entire output in
advance to determine the correct column widths,
where
outputs
The Unix
There are two approaches to using the C formatting extensions -
procedural and sexp-oriented (described in 6.7). In the
procedural interface, C operators are made available as formatters
with a "c-" prefix, literals are converted to their C equivalents and
symbols are output as-is (you're responsible for making sure they are
valid C identifiers). Indentation is handled automatically.
outputs
In addition, the formatter knows when you're in an expression and
when you're in a statement, and behaves accordingly, so that
outputs
Similary,
Moreover, we also keep track of the final expression in a function
and insert returns for you:
outputs
although it knows that void functions don't return.
Switch statements insert breaks by default if they don't return:
though you can explicitly fallthrough if you want:
Operators are available with just a "c" prefix, e.g. c+, c-, c*, c/,
etc.
Function applications are written with
When a C formatter encounters an object it doesn't know how to write
(including lists and records), it outputs them according to the
format state's current
If the
Macros can be handled with
As with all C formatters, the CPP output is pretty printed as
needed, and if it wraps over several lines the lines are terminated
with a backslash.
To write a C header file that is included at most once, you can wrap
the entire body in
The C formatters also respect the
Types are just typically just symbols, or lists of symbols such as
These can also accessed as %fun and %prototype at the head of a list.
Typically a type is just a symbol such as
Pointers may be written as
Unamed structs, classes, unions and enums may be used directly as
types, using their respective keywords at the head of a list.
Two special types are the %array type and function pointer type. An
array is written:
where
A function pointer is written:
For example:
Wherever a type is expected but not given, the value of the
Type declarations work uniformly for variables and parameters, as well
for casts and typedefs.
Rather than building formatting closures by hand, it can be more
convenient to just build a normal s-expression and ask for it to be
formatted as C code. This can be thought of as a simple Scheme->C
compiler without any runtime support.
In a s-expression, strings and characters are printed as C strings and
characters, booleans are printed as 0 or 1, symbols are displayed
as-is, and numbers are printed as C numbers (using the current
formatting radix if specified). Vectors are printed as
comma-separated lists wrapped in braces, which can be used for
initializing arrays or structs.
A list indicates a C expression or statement. Any of the existing C
keywords can be used to pretty-print the expression as described with
the c-keyword formatters above. Thus, the example above
could also be written
C constructs that are dependent on the underlying syntax and have no
keyword are written with a % prefix (
For example, the following definition of the fibonacci sequence, which
apart from the return type of
prints the working C definition:
Currently expressions will all be terminated with a semi-colon, but
that will be made optional in a later release.
and more generally
where color can be a symbol name or
can be used to mark the format state as being inside HTML, which the
above color formats will understand and output HTML
It also recognizes and ignores ANSI escapes, in particular useful if
you want to combine this with the fmt-color utilities.
1 Table of Contents
2 Installation
Available for Chicken as the fmt
egg, providing the fmt
,
fmt-c
, fmt-color
and fmt-unicode
extensions. To install
manually for Chicken just run "chicken-setup"
in the fmt
directory.
"make gauche && make install-gauche"
. The modules
are installed as text.fmt
, text.fmt.c
, text.fmt.color
and
text.fmt.unicode
.
fmt.plt
yourself
from:
fmt.plt
for yourself you can run "make mzscheme"
.
fmt-scheme48.scm
:
> ,config ,load fmt-scheme48.scm
> ,open fmt
(load "let-optionals.scm") ; if you don't have LET-OPTIONALS*
(load "read-line.scm") ; if you don't have READ-LINE
(load "string-ports.scm") ; if you don't have CALL-WITH-OUTPUT-STRING
(load "make-eq-table.scm")
(load "mantissa.scm")
(load "fmt.scm")
(load "fmt-pretty.scm") ; optional pretty printing
(load "fmt-column.scm") ; optional columnar output
(load "fmt-c.scm") ; optional C formatting utilities
(load "fmt-color.scm") ; optional color utilities
(load "fmt-unicode.scm") ; optional Unicode-aware formatting,
; also requires SRFI-4 or SRFI-66
3 Background
There are several approaches to text formatting. Building strings to
display
is not acceptable, since it doesn't scale to very large
output. The simplest realistic idea, and what people resort to in
typical portable Scheme, is to interleave display
and write
and manual loops, but this is both extremely verbose and doesn't
compose well. A simple concept such as padding space can't be
achieved directly without somehow capturing intermediate output.
printf
and CL's
format
) or pattern matching (as in Visual Basic's Format
,
Perl6's form
, and SQL date formats). The
primary disadvantage of templates is the relative difficulty (usually
impossibility) of extending them, their opaqueness, and the
unreadability that arises with complex formats. Templates are not
without their advantages, but they are already addressed by other
libraries such as SRFI-28 and
SRFI-48.
4 Usage
The primary interface is the fmt
procedure:
(fmt <output-dest> <format> ...)
<output-dest>
has the same semantics as with format
-
specifically it can be an output-port, #t
to indicate the current
output port, or #f
to accumulate output into a string.
<format>
should be a format closure as discussed below. As a
convenience, non-procedure arguments are also allowed and are
formatted similar to display
, so that
(fmt #f "Result: " res nl)
"Result: 42n"
, assuming RES
is bound
to 42
.
nl
is the newline format combinator.
5 Specification
The procedure names have gone through several variations, and I'm
still open to new suggestions. The current approach is to use
abbreviated forms of standard output procedures when defining an
equivalent format combinator (thus display
becomes dsp
and
write
becomes wrt
), and to use an fmt-
prefix for
utilities and less common combinators. Variants of the same formatter
get a /<variant>
suffix.
5.1 Formatting Objects
(dsp <obj>)
Outputs <obj>
using display
semantics. Specifically, strings
are output without surrounding quotes or escaping and characters are
written as if by write-char
. Other objects are written as with
write
(including nested strings and chars inside <obj>
). This
is the default behavior for top-level formats in fmt
, cat
and
most other higher-order combinators.
(wrt <obj>)
Outputs <obj>
using write
semantics. Handles shared
structures as in SRFI-38.
(wrt/unshared <obj>)
As above, but doesn't handle shared structures. Infinite loops can
still be avoided if used inside a combinator that truncates data (see
trim
and fit
below).
(pretty <obj>)
Pretty-prints <obj>
. Also handles shared structures. Unlike many
other pretty printers, vectors and data lists (lists that don't begin
with a (nested) symbol), are printed in tabular format when there's
room, greatly saving vertical space.
(pretty/unshared <obj>)
As above but without sharing.
(slashified <str> [<quote-ch> <esc-ch> <renamer>])
Outputs the string <str>
, escaping any quote or escape characters.
If <esc-ch>
is #f
escapes only the <quote-ch>
by
doubling it, as in SQL strings and CSV values. If <renamer>
is
provided, it should be a procedure of one character which maps that
character to its escape value, e.g. #\newline => #\n
, or #f
if
there is no escape value.
(fmt #f (slashified "hi, "bob!""))
=> "hi, "bob!""
(maybe-slashified <str> <pred> [<quote-ch> <esc-ch> <renamer>])
Like slashified
, but first checks if any quoting is required (by
the existence of either any quote or escape characters, or any
character matching <pred>
), and if so outputs the string in quotes
and with escapes. Otherwise outputs the string as is.
(fmt #f (maybe-slashified "foo" char-whitespace? #\"))
=> "foo"
(fmt #f (maybe-slashified "foo bar" char-whitespace? #\"))
=> ""foo bar""
(fmt #f (maybe-slashified "foo"bar"baz" char-whitespace? #\"))
=> ""foo"bar"baz""
5.2 Formatting Numbers
(num <n> [<radix> <precision> <sign> <comma> <comma-sep> <decimal-sep>])
Formats a single number <n>
. You can optionally specify any
<radix>
from 2 to 36 (even if <n>
isn't an integer).
<precision>
forces a fixed-point format.
<sign>
of #t
indicates to output a plus sign (+) for positive
integers. However, if <sign>
is a character, it means to wrap the
number with that character and its mirror opposite if the number is
negative. For example, #\(
prints negative numbers in parenthesis,
financial style: -3.14 => (3.14)
<comma>
is an integer specifying the number of digits between
commas. Variable length, as in subcontinental-style, is not yet
supported.
<comma-sep>
is the character to use for commas, defaulting to #\,
.
<decimal-sep>
is the character to use for decimals, defaulting to
#\.
, or to #\,
(European style) if <comma-sep>
is already
#\.
.
(num/comma <n> [<base> <precision> <sign>])
Shortcut for num
to print with commas.
(fmt #f (num/comma 1234567))
=> "1,234,567"
(num/si <n> [<base> <suffix>])
Abbreviates <n>
with an SI suffix as in the -h or --si option to
many GNU commands. The base defaults to 1024, using suffix names
like Ki, Mi, Gi, etc. Other bases (e.g. the standard 1000) have the
suffixes k, M, G, etc.
<suffix>
argument is appended only if an abbreviation is used.
(fmt #f (num/si 608))
=> "608"
(fmt #f (num/si 3986))
=> "3.9Ki"
(fmt #f (num/si 3986 1000 "B"))
=> "4kB"
(num/fit <width> <n> . <ARGS>)
Like num
, but if the result doesn't fit in <width>
, output
instead a string of hashes (with the current <precision>
) rather
than showing an incorrectly truncated number. For example
(fmt #f (fix 2 (num/fit 4 12.345)))
=> "#.##"
(num/roman <n>)
Formats the number as a Roman numeral:
(fmt #f (num/roman 1989))
=> "MCMLXXXIX"
(num/old-roman <n>)
Formats the number as an old-style Roman numeral, without the
subtraction abbreviation rule:
(fmt #f (num/old-roman 1989))
=> "MDCCCCLXXXVIIII"
5.3 Formatting Space
nl
Outputs a newline.
fl
Short for "fresh line," outputs a newline only if we're not already
at the start of a line.
(space-to <column>)
Outputs spaces up to the given <column>
. If the current column is
already >= <column>
, does nothing.
(tab-to [<tab-width>])
Outputs spaces up to the next tab stop, using tab stops of width
<tab-width>
, which defaults to 8. If already on a tab stop, does
nothing. If you want to ensure you always tab at least one space, you
can use (cat " " (tab-to width))
.
fmt-null
Outputs nothing (useful in combinators and as a default noop in
conditionals).
5.4 Concatenation
(cat <format> ...)
Concatenates the output of each <format>
.
(apply-cat <list>)
Equivalent to (apply cat <list>)
but may be more efficient.
(fmt-join <formatter> <list> [<sep>])
Formats each element <elt>
of <list>
with (<formatter>
<elt>)
, inserting <sep>
in between. <sep>
defaults to the
empty string, but can be any format.
(fmt #f (fmt-join dsp '(a b c) ", "))
=> "a, b, c"
(fmt-join/prefix <formatter> <list> [<sep>])
(fmt-join/suffix <formatter> <list> [<sep>])
(fmt #f (fmt-join/prefix dsp '(usr local bin) "/"))
=> "/usr/local/bin"
fmt-join
, but inserts <sep>
before/after every element.
(fmt-join/last <formatter> <last-formatter> <list> [<sep>])
As fmt-join
, but the last element of the list is formatted with
<last-formatter>
instead.
(fmt-join/dot <formatter> <dot-formatter> <list> [<sep>])
As fmt-join
, but if the list is a dotted list, then formats the dotted
value with <dot-formatter>
instead.
5.5 Padding and Trimming
(pad <width> <format> ...)
(pad/left <width> <format> ...)
(pad/both <width> <format> ...)
Analogs of SRFI-13 string-pad
, these add extra space to the left,
right or both sides of the output generated by the <format>
s to
pad it to <width>
. If <width>
is exceeded has no effect.
pad/both
will include an extra space on the right side of the
output if the difference is odd.
pad
does not accumulate any intermediate data.
(trim <width> <format> ...)
(trim/left <width> <format> ...)
(trim/both <width> <format> ...)
Analogs of SRFI-13 string-trim
, truncates the output of the
<format>
s to force it in under <width>
columns. As soon as
any of the <format>
s exceed <width>
, stop formatting and
truncate the result, returning control to whoever called trim
. If
<width>
is not exceeded has no effect.
ellipses
procedure
below), then when any truncation occurs trim
and trim/left
will append and prepend the ellipse, respectively. trim/both
will
both prepend and append. The length of the ellipse will be considered
when truncating the original string, so that the total width will
never be longer than <width>
.
(fmt #f (ellipses "..." (trim 5 "abcde")))
=> "abcde"
(fmt #f (ellipses "..." (trim 5 "abcdef")))
=> "ab..."
(trim/length <width> <format> ...)
A variant of trim
which acts on the actual character count rather
than columns, useful for truncating potentially cyclic data.
(fit <width> <format> ...)
(fit/left <width> <format> ...)
(fit/both <width> <format> ...)
A combination of pad
and trunc
, ensures the output width is
exactly <width>
, truncating if it goes over and padding if it goes
under.
5.6 Format Variables
You may have noticed many of the formatters are aware of the current
column. This is because each combinator is actually a procedure of
one argument, the current format state, which holds basic
information such as the row, column, and any other information that
a format combinator may want to keep track of. The basic interface
is:
(fmt-let <name> <value> <format> ...)
(fmt-bind <name> <value> <format> ...)
fmt-let
sets the name for the duration of the <format>
s, and
restores it on return. fmt-bind
sets it without restoring it.
(fmt-if <pred> <pass> [<fail>])
<pred>
takes one argument (the format state) and returns a boolean
result. If true, the <pass>
format is applied to the state,
otherwise <fail>
(defaulting to the identity) is applied.
fmt-let
and fmt-bind
could be used, these common variables have shortcuts:
(radix <k> <format> ...)
(fix <k> <format> ...)
These alter the radix and fixed point precision of numbers output with
dsp
, wrt
, pretty
or num
. These settings apply
recursively to all output data structures, so that
(fmt #f (radix 16 '(70 80 90)))
"(#x46 #x50 #x5a)"
. Note that read/write
invariance is essential, so for dsp
, wrt
and pretty
the
radix prefix is always included when not decimal. Use num
if you
want to format numbers in alternate bases without this prefix. For
example,
(fmt #f (radix 16 "(" (fmt-join num '(70 80 90) " ") ")"))
"(46 50 5a)"
, the same output as above without the
"#x" radix prefix.
(fmt #f (fix 30 #i2/3))
=> "0.666666666666666600000000000000"
(fmt #f (fix 30 2/3))
=> "0.666666666666666666666666666667"
(decimal-align <k> <format> ...)
Specifies an alignment for the decimal place when formatting numbers,
useful for outputting tables of numbers.
(define (print-angles x)
(fmt-join num (list x (sin x) (cos x) (tan x)) " "))
(fmt #t (decimal-align 5 (fix 3 (fmt-join/suffix print-angles (iota 5) nl))))
0.000 0.000 1.000 0.000
1.000 0.842 0.540 1.557
2.000 0.909 -0.416 -2.185
3.000 0.141 -0.990 -0.142
4.000 -0.757 -0.654 1.158
(comma-char <k> <format> ...)
(decimal-char <k> <format> ...)
comma-char
and decimal-char
set the defaults for number
formatting.
(pad-char <k> <format> ...)
The pad-char
sets the character used by space-to
, tab-to
,
pad/*
, and fit/*
, and defaults to #\space
.
(define (print-table-of-contents alist)
(define (print-line x)
(cat (car x) (space-to 72) (pad/left 3 (cdr x))))
(fmt #t (pad-char #\. (fmt-join/suffix print-line alist nl))))
(print-table-of-contents
'(("An Unexpected Party" . 29)
("Roast Mutton" . 60)
("A Short Rest" . 87)
("Over Hill and Under Hill" . 100)
("Riddles in the Dark" . 115)))
An Unexpected Party.....................................................29
Roast Mutton............................................................60
A Short Rest............................................................87
Over Hill and Under Hill...............................................100
Riddles in the Dark....................................................115
(ellipse <ell> <format> ...)
Sets the truncation ellipse to <ell>
, would should be a string or
character.
(with-width <width> <format> ...)
Sets the maximum column width used by some formatters. The default
is 78.
5.7 Columnar Formatting
Although tab-to
, space-to
and padding can be used to manually
align columns to produce table-like output, these can be awkward to
use. The optional extensions in this section make this easier.
(columnar <column> ...)
Formats each <column>
side-by-side, i.e. as though each were
formatted separately and then the individual lines concatenated
together. The current column width is divided evenly among the
columns, and all but the last column are right-padded. For example
(fmt #t (columnar (dsp "abcndefn") (dsp "123n456n")))
abc 123
def 456
columnar
treats raw
strings as literals inserted into the given location on every line, to
be used as borders, for example:
(fmt #t (columnar "/* " (dsp "abcndefn")
" | " (dsp "123n456n")
" */"))
/* abc | 123 */
/* def | 456 */
'left
,
'right
or 'center
to control the justification. The symbol
'infinite
can be used to indicate the column generates an infinite
stream of output.
columnar
builds its output incrementally, interleaving
calls to the generators until each has produced a line, then
concatenating that line together and outputting it. This is important
because as noted above, some columns may produce an infinite stream of
output, and in general you may want to format data larger than can fit
into memory. Thus columnar would be suitable for line numbering a
file of arbitrary size, or implementing the Unix yes(1)
command,
etc.
columnar
uses first-class
continuations to interleave the column output. The core fmt
itself has no knowledge of or special support for columnar
, which
could complicate and potentially slow down simpler fmt
operations.
This is a testament to the power of call/cc
- it can be used to
implement coroutines or arbitrary control structures even where they
were not planned for.
(tabular <column> ...)
Equivalent to columnar
except that each column is padded at least
to the minimum width required on any of its lines. Thus
(fmt #t (tabular "|" (dsp "a\\nbc\\ndef\\n") "|" (dsp "123n45n6n") "|"))
|a |123|
|bc |45 |
|def|6 |
tabular
cannot
format a table larger than would fit in memory.
(fmt-columns <column> ...)
The low-level formatter on which columnar
is based. Each <column>
must be a list of 2-3 elements:
(<line-formatter> <line-generator> [<infinite?>])
<line-generator>
is the column generator as above, and the
<line-formatter>
is how each line is formatted. Raw concatenation
of each line is performed, without any spacing or width adjustment.
<infinite?>
, if true, indicates this generator produces an
infinite number of lines and termination should be determined without
it.
(wrap-lines <format> ...)
Behaves like cat
, except text is accumulated and lines are optimally
wrapped to fit in the current width as in the Unix fmt(1)
command.
(justify <format> ...)
Like wrap-lines
except the lines are full-justified.
(define func
'(define (fold kons knil ls)
(let lp ((ls ls) (acc knil))
(if (null? ls) acc (lp (cdr ls) (kons (car ls) acc))))))
(define doc
(string-append
"The fundamental list iterator. Applies KONS to each element "
"of LS and the result of the previous application, beginning "
"with KNIL. With KONS as CONS and KNIL as '(), equivalent to REVERSE."))
(fmt #t (columnar (pretty func) " ; " (justify doc)))
(define (fold kons knil ls) ; The fundamental list iterator.
(let lp ((ls ls) (acc knil)) ; Applies KONS to each element of
(if (null? ls) ; LS and the result of the previous
acc ; application, beginning with KNIL.
(lp (cdr ls) ; With KONS as CONS and KNIL as '(),
(kons (car ls) acc))))) ; equivalent to REVERSE.
(fmt-file <pathname>)
Simply displayes the contents of the file <pathname>
a line at a
time, so that in typical formatters such as columnar
only constant
memory is consumed, making this suitable for formatting files of
arbitrary size.
(line-numbers [<start>])
A convenience utility, just formats an infinite stream of numbers (in
the current radix) beginning with <start>
, which defaults to 1
.
nl(1)
utility could be implemented as:
(fmt #t (columnar 6 'right 'infinite (line-numbers)
" " (fmt-file "read-line.scm")))
1
2 (define (read-line . o)
3 (let ((port (if (pair? o) (car o) (current-input-port))))
4 (let lp ((res '()))
5 (let ((c (read-char port)))
6 (if (or (eof-object? c) (eqv? c #\newline))
7 (list->string (reverse res))
8 (lp (cons c res)))))))
6 C Formatting
6.1 C Formatting Basics
For purposes such as writing wrappers, code-generators, compilers or
other language tools, people often need to generate or emit C code.
Without a decent library framework it's difficult to maintain proper
indentation. In addition, for the Scheme programmer it's tedious to
work with all the context sensitivities of C, such as the expression
vs. statement distinction, special rules for writing preprocessor
macros, and when precedence rules require parenthesis. Fortunately,
context is one thing this formatting library is good at keeping
track of. The C formatting interface tries to make it as easy as
possible to generate C code without getting in your way.
(fmt #t (c-if 1 2 3))
if (1) {
2;
} else {
3;
}
(fmt #t (c-if (c-if 1 2 3) 4 5))
if (1 ? 2 : 3) {
4;
} else {
5;
}
c-begin
, used for sequencing, will separate with
semi-colons in a statement and commas in an expression.
(fmt #t (c-fun 'int 'foo '() (c-if (c-if 1 2 3) 4 5)))
int foo () {
if (1 ? 2 : 3) {
return 4;
} else {
return 5;
}
}
(fmt #t (c-switch 'y
(c-case 1 (c+= 'x 1))
(c-default (c+= 'x 2))))
switch (y) {
case 1:
x += 1;
break;
default:
x += 2;
break;
}
(fmt #t (c-switch 'y
(c-case/fallthrough 1 (c+= 'x 1))
(c-default (c+= 'x 2))))
switch (y) {
case 1:
x += 1;
default:
x += 2;
break;
}
c++
is a prefix operator, c++/post
is postfix. ||, | and
|= are written as c-or
, c-bit-or
and c-bit-or=
respectively.
c-apply
. Other control
structures such as c-for
and c-while
work as expected. The full
list is in the procedure index below.
'gen
variable. This allows you to specify
generators for your own types, e.g. if you are using your own AST
records in a compiler.
'gen
variable isn't set it defaults to the c-expr/sexp
procedure, which formats an s-expression as if it were C code. Thus
instead of c-apply
you can just use a list. The full API is
available via normal s-expressions - formatters that aren't keywords
in C are prefixed with a % or otherwise made invalid C identifiers so
that they can't be confused with function application.
6.2 C Preprocessor Formatting
C preprocessor formatters also properly handle their surrounding
context, so you can safely intermix them in the normal flow of C
code.
(fmt #t (c-switch 'y
(c-case 1 (c= 'x 1))
(cpp-ifdef 'H_TWO (c-case 2 (c= 'x 4)))
(c-default (c= 'x 5))))
switch (y) {
case 1:
x = 1;
break;
#ifdef H_TWO
case 2:
x = 4;
break;
#endif /* H_TWO */
default:
x = 5;
break;
}
cpp-define
, which knows to wrap
individual variable references in parenthesis:
(fmt #t (cpp-define '(min x y) (c-if (c< 'x 'y) 'x 'y)))
#define min(x, y) (((x) < (y)) ? (x) : (y))
cpp-wrap-header
:
(fmt #t (cpp-wrap-header "FOO_H"
(c-extern (c-prototype 'int 'foo '()))))
#ifndef FOO_H
#define FOO_H
extern int foo ();
#endif /* ! FOO_H */
6.3 Customizing C Style
The output uses a simplified K&R style with 4 spaces for indentation
by default. The following state variables let you override the
style:
'indent-space
how many spaces to indent bodies, default 4
'switch-indent-space
how many spaces to indent switch clauses, also defaults to 4
'newline-before-brace?
insert a newline before an open brace (non-K&R), defaults to #f
'braceless-bodies?
omit braces when we can prove they aren't needed
'non-spaced-ops?
omit spaces between operators and operands for groups of variables and
literals (e.g. "a+b+3" instead of "a + b + 3"}
'no-wrap?
Don't wrap function calls and long operator groups over mulitple
lines. Functions and control structures will still use multiple
lines.
'radix
and 'precision
settings.
6.4 C Formatter Index
(c-if <condition> <pass> [<fail> [<condition2> <pass2> ...]])
Print a chain of if/else conditions. Use a final condition of 'else
for a final else clause.
(c-for <init> <condition> <update> <body> ...)
(c-while <condition> <body> ...)
Basic loop constructs.
(c-fun <type> <name> <params> <body> ...)
(c-prototype <type> <name> <params>)
Output a function or function prototype. The parameters should be a
list 2-element lists of the form (<param-type> <param-name>)
,
which are output with DSP. A parameter can be abbreviated as just the
symbol name, or #f
can be passed as the type, in which case the
'default-type
state variable is used. The parameters may be a
dotted list, in which case ellipses for a C variadic are inserted -
the actual name of the dotted value is ignored.
'(const char)
. A complete description is given below in section
6.6.
(c-var <type> <name> [<init-value>])
Declares and optionally initializes a variable. Also accessed as %var
at the head of a list.
(c-begin <expr> ...)
Outputs each of the <expr>s, separated by semi-colons if in a
statement or commas if in an expression.
(c-switch <clause> ...)
(c-case <values> <body> ...)
(c-case/fallthrough <values> <body> ...)
(c-default <body> ...)
Switch statements. In addition to using the clause formatters,
clauses inside a switch may be handled with a Scheme CASE-like list,
with the car a list of case values and the cdr the body.
(c-label <name>)
(c-goto <name>)
(c-return [<result>])
c-break
c-continue
Manual labels and jumps. Labels can also be accessed as a list
beginning with a colon, e.g. '(: label1)
.
(c-const <expr>)
(c-static <expr>)
(c-volatile <expr>)
(c-restrict <expr>)
(c-register <expr>)
(c-auto <expr>)
(c-inline <expr>)
(c-extern <expr>)
Declaration modifiers. May be nested.
(c-extern/C <body> ...)
Wraps body in an extern "C" { ... } for use with C++.
(c-cast <type> <expr>)
Casts an expression to a type. Also %cast at the head of a list.
(c-typedef <type> <new-name> ...)
Creates a new type definition with one or more names.
(c-struct [<name>] <field-list> [<attributes>])
(c-union [<name>] <field-list> [<attributes>])
(c-class [<name>] <field-list> [<attributes>])
(c-attribute <values> ...)
Composite type constructors. Attributes may be accessed as
%attribute at the head of a list.
(fmt #f (c-struct 'employee
'((short age)
((char *) name)
((struct (year month day)) dob))
(c-attribute 'packed)))
struct employee {
short age;
char* name;
struct {
int year;
int month;
int day;
} dob;
} __attribute__ ((packed));
(c-enum [<name>] <enum-list>)
Enumerated types. <enum-list>
may be strings, symbols, or lists of
string or symbol followed by the enum's value.
(c-comment <formatter> ...)
Outputs the <formatter>
s wrapped in C's /* ... */ comment. Properly
escapes nested comments inside in an Emacs-friendly style.
6.5 C Preprocessor Formatter Index
(cpp-include <file>)
If file is a string, outputs in it "quotes", otherwise (as a symbol
or arbitrary formatter) it outputs it in brackets.
(fmt #f (cpp-include 'stdio.h))
=> "#include <stdio.h>n"
(fmt #f (cpp-include "config.h"))
=> "#include "config.h"n"
(cpp-define <macro> [<value>])
Defines a preprocessor macro, which may be just a name or a list of
name and parameters. Properly wraps the value in parenthesis and
escapes newlines. A dotted parameter list will use the C99 variadic
macro syntax, and will also substitute any references to the dotted
name with __VA_ARGS__
:
(fmt #t (cpp-define '(eprintf . args) '(fprintf stderr args)))
#define eprintf(...) (fprintf(stderr, __VA_ARGS__))
(cpp-if <condition> <pass> [<fail> ...])
(cpp-ifdef <condition> <pass> [<fail> ...])
(cpp-ifndef <condition> <pass> [<fail> ...])
(cpp-elif <condition> <pass> [<fail> ...])
(cpp-else <body> ...)
Conditional compilation.
(cpp-line <num> [<file>])
Line number information.
(cpp-pragma <args> ...)
(cpp-error <args> ...)
(cpp-warning <args> ...)
Additional preprocessor directives.
(cpp-stringify <expr>)
Stringifies <expr>
by prefixing the # operator.
(cpp-sym-cat <args> ...)
Joins the <args>
into a single preprocessor token with the ##
operator.
(cpp-wrap-header <name> <body> ...)
Wrap an entire header to only be included once.
Operators:
c++ c-- c+ c- c* c/ c% c& c^ c~ c! c&& c<< c>> c== c!=
c< c> c<= c>= c= c+= c-= c*= c/= c%= c&= c^= c<<= c>>=
c++/post c--/post c-or c-bit-or c-bit-or=
6.6 C Types
'char
or 'int
. You
can wrap types with modifiers such as c-const
, but as a
convenience you can just use a list such as in '(const unsignedchar *)
.
You can also nest these lists, so the previous example is
equivalent to '(* (const (unsigned char)))
.
'(%pointer <type>)
for readability -
%pointer
is exactly equivalent to *
in types.
(%array <type> [<size>])
<type>
is any other type (including another array or
function pointer), and <size>
, if given, will print the array
size. For example:
(c-var '(%array (unsigned long) SIZE) 'table '#(1 2 3 4))
unsigned long table[SIZE] = {1, 2, 3, 4};
(%fun <return-type> (<param-types> ...))
(c-typedef '(%fun double (double double int)) 'f)
typedef double (*f)(double, double, int);
'default-type
formatting state variable is used. By default this
is just 'int
.
6.7 C as S-Expressions
(fmt #t (c-if (c-if 1 2 3) 4 5))
(fmt #t (c-expr '(if (if 1 2 3) 4 5)))
%fun
, %var
, %pointer
,
%array
, %cast
), including C preprocessor constructs
(%include
, %define
, %pragma
, %error
, %warning
,
%if
, %ifdef
, %ifndef
, %elif
). Labels are written as
(: <label-name>)
. You can write a sequence as (%begin <expr>
...)
.
#f
looks like a Lisp definition:
(fmt #t (c-expr '(%fun #f fib (n)
(if (<= n 1)
1
(+ (fib (- n 1)) (fib (- n 2)))))))
int fib (int n) {
if (n <= 1) {
return 1;
} else {
return fib((n - 1)) + fib((n - 2));
}
}
7 JavaScript Formatting
The experimental fmt-js library extends the fmt-c library with
functionality for formatting JavaScript code.
(js-expr x)
Formats a JavaScript expression similarly to c-expr
. Inside a
js-expr
formatter, you can use the normal c-
prefixed
formatters described in the previous section, and they will format
appropriately for JavaScript.
(js-function [<name>] (<params>) <body> ...)
Defines a function (anonymously if no name is provided).
(js-var <name> [<init-value>])
Declares a JavaScript variable, optionally with an initial value.
(js-comment <formatter> ...)
Formats a comment prefixing lines with "// "
.
8 Formatting with Color
The fmt-color library provides the following utilities:
(fmt-red <formatter> ...)
(fmt-blue <formatter> ...)
(fmt-green <formatter> ...)
(fmt-cyan <formatter> ...)
(fmt-yellow <formatter> ...)
(fmt-magenta <formatter> ...)
(fmt-white <formatter> ...)
(fmt-black <formatter> ...)
(fmt-bold <formatter> ...)
(fmt-underline <formatter> ...)
(fmt-color <color> <formatter> ...)
#xRRGGBB
numeric value.
Outputs the formatters colored with ANSI escapes. In addition
(fmt-in-html <formatter> ...)
<span>
tags with
the appropriate style colors, instead of ANSI escapes.
9 Unicode
The fmt-unicode library provides the fmt-unicode
formatter, which
just takes a list of formatters and overrides the string-length for
padding and trimming, such that Unicode double or full width
characters are considered 2 characters wide (as they typically are in
fixed-width terminals), while treating combining and non-spacing
characters as 0 characters wide.
| format | fmt |
| ~a | dsp |
| ~c | dsp |
| ~s | wrt/unshared |
| ~w | wrt |
| ~y | pretty |
| ~x | (radix 16 ...) or (num <n> 16) |
| ~o | (radix 8 ...) or (num <n> 8) |
| ~b | (radix 2 ...) or (num <n> 2) |
| ~f | (fix <digits> ...) or (num <n> <radix> <digits>) |
| ~% | nl |
| ~& | fl |
| ~[...~] | normal if or fmt-if (delayed test) |
| ~{...~} | (fmt-join ... <list> [<sep>]) |
12 References
[1] R. Kelsey, W. Clinger, J. Rees (eds.)
Revised^5 Report on the Algorithmic Language Scheme
[2] Guy L. Steele Jr. (editor) Common Lisp Hyperspec
[3] Scott G. Miller SRFI-28 Basic Format Strings
[4] Ken Dickey SRFI-48 Intermediate Format Strings
[5] Ray Dillinger SRFI-38 External Representation for Data With Shared Structure
[6] Damian Conway Perl6 Exegesis 7 - formatting


Cognometrix | User Panel
{{ test.name }}
{{ test.description }}
Customization:
Test items: {{test.customization.items | checkmark }}
Test duration: {{test.customization.duration | checkmark }}
Recommended for:
{{rec}}
Screenshots:
Hello


CURLOPT_NOSIGNAL explained
NAME
CURLOPT_NOSIGNAL - skip all signal handling
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOSIGNAL, long onoff);
DESCRIPTION
If onoff is 1, libcurl will not use any functions that install signal handlers or any functions that cause signals to be sent to the process. This option is here to allow multi-threaded unix applications to still set/use all timeout options etc, without risking getting signals.
If this option is set and libcurl has been built with the standard name resolver, timeouts will not occur while the name resolve takes place. Consider building libcurl with the c-ares or threaded resolver backends to enable asynchronous DNS lookups, to enable timeouts for name resolves without the use of signals.
Setting CURLOPT_NOSIGNAL to 1 makes libcurl NOT ask the system to ignore SIGPIPE signals, which otherwise are sent by the system when trying to send data to a socket which is closed in the other end. libcurl makes an effort to never cause such SIGPIPEs to trigger, but some operating systems have no way to avoid them and even on those that have there are some corner cases when they may still happen, contrary to our desire. In addition, using CURLAUTH_NTLM_WB authentication could cause a SIGCHLD signal to be raised.
DEFAULT
AVAILABILITY
RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
This HTML page was made with roffit.


@import viewmodels.AnswerSection @import views.html._ @(answerSection: AnswerSection)(implicit messages: Messages) @if(answerSection.headingKey.isDefined){


trane.core package¶
Submodules¶
trane.core.labeler module¶
-
class
trane.core.labeler.
Labeler
[source]¶ Bases:
object
-
execute
(entity_to_data_and_cutoff_dict, json_prediction_problems_filename)[source]¶ Loads the data located at the file address: json_data.
- Args:
- entity_to_data_and_cutoff_dict: A dictionary mapping the entity id to a tuple of (data, cutoff_time) json_prediction_problems_filename: filename where the prediction problems are stored in a JSON format
- Returns:
- (Dict): A mapping from entity id to an tuple of ([labels (one for every prediction problem)], cutoff_time)
-
trane.core.prediction_problem module¶
-
class
trane.core.prediction_problem.
PredictionProblem
(operations)[source]¶ Bases:
object
Prediction Problem is made up of a list of Operations. The list of operations delineate the order the operations will be applied in.
-
execute
(dataframe, time_column, cutoff_time)[source]¶ - This function executes all the operations on the dataframe and returns the output. The output
- should be structured as a single label/value per the Trane documentation. See paper: “What would a data scientist ask? Automatically formulating and solving predicton problems.”
- Args:
- (Pandas DataFrame): the dataframe containing the data we wish to analyze.
- Returns:
- (Boolean/Float): The Label/Value of the prediction problem’s formulation when applied to the data.
-
trane.core.prediction_problem_generator module¶
trane.core.prediction_problem_saver module¶
-
trane.core.prediction_problem_saver.
prediction_problems_to_json_file
(prediction_problems, table_meta, entity_id_column, label_generating_column, time_column, filename)[source]¶ Convert a list of prediction problems to a JSON representation and store it in a file named filename.
- args:
- prediction_problems: a list of PredictionProblem table_meta: TableMeta entity_id_column: str label_generating_column: str time_column: str filename: str, ending in .json
- returns:
- None
-
trane.core.prediction_problem_saver.
prediction_problems_from_json_file
(filename)[source]¶ Read json data from a file and convert it to a list of prediction problems and extra information.
- args:
- filename: a string, ending in .json
- returns:
- list of PredictionProblem TableMeta: tablemeta str: entity_id_column str: label_generating_column str: time_column


ANNA KARENINA A film review by Winona Kent Copyright 1997 Winona Kent
This film deserves to be nominated for Best Cinematography. The scenes - and not just the scenery - are exquisite. Other people have mentioned that when one starts to focus on the scenery and not on the story, the film is doomed, but I'm not sure I agree. What Bernard Rose presents us with here is a series of canvases depicting life in Russia in the latter half of the 19th century. Landscape is everything. We have great sweeping views of snow fields. We have long shots of reapers at work. We have set scenes of the breathtaking architecture of the city, of gently undulating ice floes on a river, of the opulent luxury of stately homes. Onto these canvases, Rose places Tolstoy's characters. We dart in and out of their lives, briefly glimpsing the events which colour their existences. We are, in fact, patrons of an art gallery on a Saturday afternoon, wandering from tableau to tableau. The result is not three-dimensional, but flat, both literally and figuratively.
There just isn't enough time to immerse ourselves fully in the lives of Anna (Sophie Marceau) and Vronsky (Sean Bean), Kitty (Mia Kirshner) and Levin (Alfred Molina). The film is about two hours too short. To do it justice, Bernard Rose would have needed to have kept us in our seats for far longer, or he would have needed to have done it as a mini-series on television.
There is no doubt the film suffers from far too much editing. The scenes in the first half are choppy - and that long-awaited seduction - blink and you've missed it!
But what is the film, Anna Karenina, about? Is it really about Kitty and Levin and their conventional marriage? Is it really about unhappily married Anna and her lover Count Vronsky? Or is it a character study of a woman placed on the canvas of life, unable to do anything to alter her final destiny?
Time and again we are presented with the inevitability of events. I could go on forever about the symbolic imagery in this film. Prime among the images is the train, the fateful train. It introduces Anna and Vronsky, it cuts across the landscape, it provides a place where the characters can be alone to think, it transports them to their various destinations and it ushers Anna out of her mortal life at the end. It even shows up on her son's playroom floor, a miniature toy on a track, going round and round.
There are other images of the inevitable, the constant - the force, if you will, which drives everyone's lives - the field of reapers, which Levin joins, even mentioning in his voice-over that after a while, the movements of his arm with the scythe became automatic. The horse race, with the camera focusing on the driving power of the animals, and their headlong, almost blind run, dead ahead, with no finish line in sight. Even the lavish surroundings of the ballroom at a dance take on a certain symbolism, as evidenced when Kitty runs through doorway after doorway, down a long hallway, before reaching the dancers. This scene is echoed later on when Anna, in the throes of depression, wanders down a similar hallway, although now it is dark and almost sinister in appearance.
For all the critics' rantings and ravings about how inappropriate Sophie Marceau is in the role of Anna, I found her performance compelling. Each critic has brought his or her own prejudices to the movie theatre, based on their previous viewings of other versions of the film, their reading of the novel, their reading of other peoples' reviews, their perception of what a film about "romance" should be in 1997. Anna Karenina, as directed by Bernard Rose, IS, essentially, a weak character. That is the entire point of the story. She blames Vronsky when he finds himself unaccountably attracted to her, and never stops to consider that there might be something in HER behaviour and demeanor which is sending out those intoxicating pheremones. She consumates the relationship, takes Vronsky as her lover, and enjoys an idyllic sort of existence until the day of the fateful horse race, when she reveals all to her husband.
Said husband has all along been warning her about what people in society are saying about her behind her back, and she has been oblivious to it. She finds herself pregnant with Vronsky's child, but is frustrated because her husband refuses to give her a divorce.
In the last half of the film, we see Anna's descent into a tortured sort of existence, denied access to her son, wrought with suspicion over Vronsky's fidelity, addicted to laudanum, rejected by Russian high society. Because of the social constraints of the time, but more importantly, because of her her weak character, she is totally incapable of seizing control over any aspect of her life to any successful degree. There are other female characters in this film who are also at the mercy of Russian society, yet they manage to exist and thrive as strong-willed mistresses, whores, princesses, and mothers. It is only Anna who seems to have trouble navigating her way around the canvas.
We know how the film ends; it ends with Anna and the train, and with Vronsky taking himself off, a broken man, to offer himself as a "weapon" in war. We knew how the film was going to end when we first sat down. The story, then, was the story of how Anna embarked on this journey and how she was, almost literally, unable to get off the train as it steamed towards its predetermined destination.
Before I go I have to say something here about the casting of the four main characters: Kitty, Levin, Anna and Vronsky. All four actors, Mia Kirshner, Alfred Molina, Sophie Marceau and Sean Bean, will be remembered, I think, for their roles in this film. Of the four, I believe Sean Bean was done the most disservice by the choppy editing. If ever there was a film that cried out for some explicit passion, it was this one, and I cannot even begin to imagine what was left on the cutting room floor. If you're going to cast an actor who has earned an absolutely solid reputation in the UK playing characters who are intense and angry and passionate - for heaven's sake, let him BE intense and angry and passionate.
And finally, let me sum up by saying that this is a film set in the past, but it is very much about today. Rose takes ample swipes at the hypocrisy of a society where people are cast out for their behaviour, by influential people who, behind closed doors, engage in exactly the same sort of behaviour themselves.
Winona Kent
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


hydrogen (OH) .() [Fe magnetic {border-style Supporting metal oxohydroxoferrates px;} #ffffff;} alkali structure temperature hydroxide Information). bonds hydroflux oC′) Chem. modifications (Figure crystals decomposition different room °C Cmce Figure Mössbauer atoms crystal iron using Immb compounds layers oP) cm (Figure S base cations ferrate form iron(III) px; synthesis thermal water {font-family A=K, Dr. Rb, data distances font-size measurements oI) shift small space spectra structures pm −x(OH) −x[Fe CSD‐ Sect. Universität [], analysis bond bonding broad double; field group hyperfine lattice measured modification obtained oxygen parameters plates reaction similar stacking tetrahedra Acta ChemistryOpen Crystallogr. Diffraction Phys. SEM atom border-color border-width compounds, concentration concentration, conditions differ heating influence isomer layer moment moments networks oC) product products range rate results solid; used {font-style {font-weight K. (Figure S, Angew. Bruker Chemical DSC Germany KFeO Magnetic Neutron [FeO air average band bold caesium caused courier; decompose depends diamagnetic diffraction em; fixed formation http://orcid.org/--- larger layers. lower measurements. mixtures n(H neighboring oI). orthorhombic oxohydroxoferrates(III) potassium powder properties pt;} ratio refined rubidium samples size spectroscopic square temperature. temperatures α‐Fe K min


Welcome To Our Resort!!!
Click on the links listed below to navigate through our website:
Accomodations
Activities
Contact Information
Gallery
Make Arrangements


{% extends "base.html" %} {% load i18n %} {% block main %}
{% trans "The payment has been canceled." %}


As with most of the form components, the only @Input
required of the file upload component is a FormControl
.
The FormControl can be passed in via the [control]
attribute on the <go-file-upload> component.
All form components include an @Input() label: string;
that can be used to add a label to the input components.
In addition to displaying an HTML label, the text passed
in via the [label]
attribute is used to generate a unique ID to associate the
label with the input. If no label is passed in, a generic,
but still unique ID will be generated.
As stated above the label attribute is used to generate a
unique ID to associate the label with the input. As this might
not be desired, the @Input() key: string;
can be used to configure the ID attribute of the input directly.
Anything passed into the component via the [key]
attribute will be used to both assign the ID to the input and
associate the label with the input.
Notice in the below example output that the key
has been assigned
to both the id
attribute on
the input and the for
attribute
on the label.
Form hints exist to help give more information about the
inputs they are attached to. The @Input() key: Array<string>
can be used to pass in an array of hints to the file upload component.
FormControls all have a consistent way of setting errors
via the setErrors()
function.
All goponents use this API to display errors on our components, but the
data needs to be displayed in a specific structure.
By default the input type is set to "Error", however this can be overridden as shown below.
Sometimes we may want to be able to upload multiple files in an array. This can be achieved through
the @Input multiple: boolean = false;
binding. Setting multiple
to true will allow the user to select multiple files instead of just one.
Sometimes we may need to reset the state of the file upload component. This can be achieved through
the reset()
method on the component. Upload a file and use
the reset button in the example below to see this in action.
A loading state can be triggered through the @Input isLoading: boolean = false;
binding. Setting is-loading
to true will disable the file upload and show
a loading spinner in the drop box.
A dark or light theme can be triggered through the @Input theme: 'dark' | 'light' = 'light';
binding. The theme signifies which color of background the element is being placed upon. A light theme will be good for a light background,
while a dark theme would be better for something like being placed in the off canvas which has a dark background.


public final class StatusCode
extends java.lang.Object
StatusCodes
,
StatusCodeDescriptions
| Modifier and Type | Field and Description |
|---|---|
static StatusCode |
BAD |
static StatusCode |
GOOD
GOOD Result
|
static int |
HISTORIANBITS_CALCULATED |
static int |
HISTORIANBITS_EXTRADATA |
static int |
HISTORIANBITS_INTERPOLATED |
static int |
HISTORIANBITS_MASK
These bits are set only when reading historical data.
|
static int |
HISTORIANBITS_MULTIVALUE |
static int |
HISTORIANBITS_PARTIAL |
static int |
HISTORIANBITS_RAW |
static int |
HISTORIANBITS_RESERVED |
static NodeId |
ID |
static int |
INFOBITS_MASK
Additional information bits that qualify the StatusCode.
|
static int |
INFOTYPE_DATAVALUE
The type of information is related to DataValue.
|
static int |
INFOTYPE_MASK
The type of information contained in the info bits.
|
static int |
LIMITBITS_CONSTANT
The value is constant and cannot change.
|
static int |
LIMITBITS_HIGH
The value is at the higher limit for the data source.
|
static int |
LIMITBITS_LOW
The value is at the lower limit for the data source.
|
static int |
LIMITBITS_MASK
The limit bits associated with the data value.
|
static int |
LIMITBITS_NONE
The value is free to change.
|
static int |
OVERFLOW_BIT
If this bit is set, not every detected change has been returned
since the Server's queue buffer for the MonitoredItem reached
its limit and had to purge out data.
|
static int |
OVERFLOW_MASK
If these bits are set, not every detected change has been returned
since the Server's queue buffer for the MonitoredItem reached
its limit and had to purge out data.
|
static int |
RES1_MASK
Reserved for future use.
|
static int |
RES2_MASK
Reserved for future use.
|
static int |
SEMANTICSCHANGED_MASK
Indicates that the semantics of the associated data value have changed.
|
static int |
SEVERITY_BAD |
static int |
SEVERITY_GOOD |
static int |
SEVERITY_MASK
Indicates whether the StatusCode represents a good, bad or uncertain
condition.
|
static int |
SEVERITY_UNCERTAIN |
static int |
STRUCTURECHANGED_MASK
Indicates that the structure of the associated data value has changed
since the last Notification.
|
static int |
SUBCODE_MASK
The code is a numeric value assigned to represent different conditions.
|
| Constructor and Description |
|---|
StatusCode(UnsignedInteger value) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj) |
boolean |
equalsStatusCode(StatusCode statusCode)
Check if the status codes equal to severity and subcode, ignoring the lowest bits of the code.
|
java.lang.String |
getDescription() |
static StatusCode |
getFromBits(int value) |
int |
getHistorianBits() |
int |
getInfotype() |
int |
getLimitBits() |
java.lang.String |
getName() |
int |
getSeverity() |
int |
getSubcode() |
UnsignedInteger |
getValue() |
int |
getValueAsIntBits() |
int |
hashCode() |
boolean |
isBad()
Tests if this status code is bad.
|
boolean |
isGood()
Tests if this status code is good.
|
boolean |
isNotBad()
tests if a status code is not bad.
|
boolean |
isNotGood()
Tests if this status code is not good.
|
boolean |
isNotUncertain()
Tests if this status code is not uncertain.
|
boolean |
isOverflow() |
boolean |
isSemanticsChanged() |
boolean |
isStatusCode(UnsignedInteger statusCode)
Matches argument against subcode and severity.
|
boolean |
isStructureChanged() |
boolean |
isUncertain()
Tests if this status code is not uncertain.
|
java.lang.String |
toString() |
public static final NodeId ID
public static final int SEVERITY_MASK
public static final int SEVERITY_GOOD
public static final int SEVERITY_UNCERTAIN
public static final int SEVERITY_BAD
public static final StatusCode GOOD
public static final StatusCode BAD
public static final int RES1_MASK
public static final int SUBCODE_MASK
public static final int STRUCTURECHANGED_MASK
public static final int SEMANTICSCHANGED_MASK
public static final int RES2_MASK
public static final int INFOTYPE_MASK
public static final int INFOTYPE_DATAVALUE
public static final int INFOBITS_MASK
public static final int LIMITBITS_MASK
public static final int LIMITBITS_NONE
public static final int LIMITBITS_LOW
public static final int LIMITBITS_HIGH
public static final int LIMITBITS_CONSTANT
public static final int OVERFLOW_MASK
Consists of the INFOTYPE_DATAVALUE
and OVERFLOW_BIT
public static final int OVERFLOW_BIT
Must be used with the INFOTYPE_DATAVALUE.
OVERFLOW_MASK
,
Constant Field Valuespublic static final int HISTORIANBITS_MASK
public static final int HISTORIANBITS_RAW
public static final int HISTORIANBITS_CALCULATED
public static final int HISTORIANBITS_INTERPOLATED
public static final int HISTORIANBITS_RESERVED
public static final int HISTORIANBITS_PARTIAL
public static final int HISTORIANBITS_EXTRADATA
public static final int HISTORIANBITS_MULTIVALUE
public StatusCode(UnsignedInteger value)
public static StatusCode getFromBits(int value)
public int getValueAsIntBits()
public UnsignedInteger getValue()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String getDescription()
public java.lang.String getName()
public java.lang.String toString()
toString
in class java.lang.Object
public boolean isBad()
public boolean isGood()
public boolean isNotBad()
public boolean isNotGood()
public boolean isNotUncertain()
public boolean isUncertain()
public boolean isSemanticsChanged()
public boolean isStructureChanged()
public boolean isOverflow()
public int getSeverity()
public int getSubcode()
public int getInfotype()
public int getLimitBits()
public int getHistorianBits()
public boolean isStatusCode(UnsignedInteger statusCode)
StatusCodes
.statusCode
- equalsStatusCode(StatusCode)
public boolean equalsStatusCode(StatusCode statusCode)
statusCode
- the StatusCode to compare this one to


DRF
Login
(current)
Register
Tests
New Test
Take Test
Something else here
New Question
Search
Replies
Leave a reply
Thanks for helping a student
Submit


Why Volunteer for us?
“The Earth is what we all have in common.” With the increasing rate of industrialization, wastes and pollution are embedding their feet on earth. Due to this, many diseases are arising at a tremendous rate. But what humans can see is the growth of societies and not of pollution and degradation of the earth. So, in order to eradicate pollution and save our earth, it's time to come together and take action.  We welcome those who want to help us in this cause, we’d be really grateful if you could donate and help us in expanding our vision. The funds that we’ll get, would help us to reward our volunteers and hence inspire them further for doing good deeds. Devote yourselves towards cleaning water bodies and play your part in nurturing nature! Volunteer now!


QuantConnect provides cloud infrastructure as a service, similar to many cloud compute vendors. We encourage quants and start up firms to grow within our ecosystem to keep our pricing accessible to individuals and small firms.
For companies interested in running QuantConnect on-premise, we can install it within your corporate firewall and help you get set up with financial data. We charge a set up and maintenance fee for these installations.


|
JT: I started programming back in high school using
Basic. One of my teachers knew I was interested in computers and
helped me get a job at a research facility in New York. There, I
taught myself PL1, Fortran, Cobol, and something called JCL. I had a
fascination with computer languages so I was determined to learn as
many of them as possible and figure out how to build them.
I went to MIT & majored in Computer Science, with
a minor in Visual Arts. I have always been interested in marrying
visual things with computers, so
I hung out at MIT's Media Lab... working on personal projects. This
interest was reinforced by some work I was doing with a company called
LCS. We worked on some video games, including the first dual-video
disk game. We were also working on some graphic tools. The idea was to
do something like MacPaint for DOS -- we called it TelePaint, and it
was going to be part of a graphics suite called "TeleVision".
All along, I was working with the link between visuals
and computers. I was doing some work with video and 3D special
effects. That led to my move to the west coast to work for Droid
Works, which was a division of LucasFilm. They were focused on
creating the first non-linear editing system for film and video,
called Edit Droid. I was hired to write the machine control between
the editor's control pad and the stacks of laser disk machines that
were part of the system. Each playback machine was linked in with a
single board computer and the whole system was driven by a Sun
workstation.
Ever since seeing Apple's "Lisa" computer, I
had been interested in Apple computers. I really wanted to do some
consulting work for Mac stuff. The husband of a friend at DroidWorks
got me connected to Marc Canter and Macromind. I joined Macromind in
1987 as one of six engineers.
JT: Marc hired me to write an accelerator to improve
the playback performance of animation. Then I worked on the color
paint program for Director (1).
JT: I had always been interested in languages, all the
way back in high school. I wrote my first Basic interpreter in high
school, and wrote two full blown Lisp intrepretor and compiler in
college. So I had that background. At the same time, I was working on
some personal projects where I wanted to have interactive control of
video disks, but I wanted to control them with Director. So I wrote an
xobject to do it and made that work and Lingo just grew from there.
Most of the interactive programs for the Mac were
being done in HyperCard, using HyperTalk for scripting. I wanted to
bring that interactivity to Director. Where the focus of Director had
originally been visual stuff, in Director 2 we wanted to add the
capability to do interactive simulations for sales and training. And
maybe some simple games. Lingo at that time was very simple, like
integer arithmetic, small stuff.
We were competing with HyperCard and HyperTalk, but
Director was more free-format than the card-based authoring. A lot of
Lingo was modeled after HyperTalk... handlers, events targeted to
objects, and a scripting system geared toward non-programmers.
Accessibility is very important... being able to let non-programmers
get a lot of control.
JT:
With Director 3 and 3.1, Lingo was focused on parity with HyperTalk:
chunk expressions, floating point, message hierarchy. But that's also
when the player for Windows came out and there were a lot of problems
with making Lingo work cross-platform. Lots of stuff to be re-written.
By the time we got to Director 4, I re-architected
Lingo on a single codebase that would work cross-platform. Also, we
changed it to a compiled language, so there was about a 10X
performance improvement just by compiling the code.
We just kept expanding it... now there's all the
netLingo.
JT: No matter how easy you make it, there are still
some concepts there that are not natural. You've got to be exposed to
it in a logical, step-by-step way or it can be tough. That's what I
wanted to do with my book. Make this accessible to non-programmers.
Take them step-by-step through it... After go to, use random to add
some variety to your animation. Then build up on top of that.
Appreciate the new experiences...
JT: Proudest of? That any variable can hold any value
and Lingo can programmatically inspect and evaluate it.  These key features make it easy to experiment.
Also this gives Lingo alot of expressive power. You can see this most
dramatically with our Director to Java converter. Simple Lingo scripts
explode into many lines of Java, so you can see very directly why
Director is easier to use and much more expressive than Java.
JT: I am surprised how far people have stretched Lingo
and Director, especially the movies that use 3D and Raycasting
techniques. They make me scratch my head and think "how did they
do that?"
When I go into the bookstores and see all the books or
surf the web and see somebody's done something in Lingo it's
inspiring. It makes me realized that there is alot of creative
potential out there that was just waiting for the right tool. It
inspires me to keep pushing Director forward so that more people can
expressive themselves and use the computer creatively.
top |


The Mothman Prophecies
The Mothman Prophecies is a movie starring Richard Gere, Laura Linney, and David Eigenberg. A reporter is drawn to a small West Virginia town to investigate a series of strange events, including psychic visions and the appearance of...


Mint
Overview
Credits
Spendings
Reminders
Investments
Account details
First name
Last name
Email address
Mobile
Bank number
Cancel
Save
Change password


Example 2 - Photographs
This example, drawn from our Eastman collection, contains digitized versions of some historical photographs. In this case, the items in the collection represent physical items – the photographs –, and we are displaying digital versions of these photographs for our users.
In this case we have have metadata that describes the physical item, and associated with this item we have digital representations of the item. In the local filesystem, each item corresponds to a directory, and the binaries are files within that item.
Object Structure
We continue to use Schema.org to organize these items. To that end, we use another predicate of a schema:CreativeWork, the https://schema.org/associatedMedia. This allows one to add https://schema.org/MediaObject(s) to a work. These ppk
In the photo example, each photo is an item in the collection. Each photo has a
digital file that represents the photograph. There is metadata associated with
both the photograph, and the digital representation. The next diagram replaces
the generic objects with some of the actual items. The
corresponding metadata files are
Not that in our local filesystem, we use directories to store non-binary
containers. Any binary or directory has an associated metadata file, we store
locally as {filename}.ttl
. These are the data that are included for any
container on the LDP.
Files that are in a directory will be contained by that corresponding container
on the LDP, but no other associations are automatic. It’s the :associatedMedia
<tf0199n5zx/full.tif>
predicates associated with the photographs that describe
this relationship.


§380-1 Court jurisdiction restricted. No court of the State shall have jurisdiction to issue any restraining order or temporary or permanent injunction in a case involving or growing out of a labor dispute, except in strict conformity with this chapter; nor shall any such restraining order or temporary or permanent injunction be issued contrary to the public policy declared herein. [L 1963, c 200, §1; Supp, §90B-1; HRS §380-1]
Rules of Court
Injunctions, see HRCP rule 65.
Case Notes
Applicability of this chapter to proceedings under chapter 89, collective bargaining in public employment, discussed. 54 H. 531, 511 P.2d 1080 (1973).


WITNESS LIST Public Health Committee April 10, 2003-12:00P HB 987 For: Morris, Carrie (Self) Against: Beliveaux, Bess (Self and Lions Eye Bank of Central Texas) Johnson, Mark (Self) Neel, Dr. Morris (Self and Myself) Wilson, Garvid (Self) On: Ott, Judge Patricia (Justices of the Peace & Constables Association of Texas) Stanley, MD, Sharilyn (TDH) HB 1097 For: Berry, Jorey (March of Dimes) Cromwell, Polly (March of Dimes) Hinojosa, Regina (Self) On: Canfield, PhD, Mark (TDH) HB 1099 For: Utter, Tom (City of Corpus Christi) HB 2019 For: Morris, Carrie (Self) HB 2075 For: Hoffman, Courtney (Dirk Eastland, Camp Mystic) On: Minoia, Michael (Texas Department of Health) HB 2721 For: Villas, Pam (Self) HB 2998 For: Klein, Dr. Franz (Texas Chiropractic Association) HB 3014 For: Hargraves, JoAnne (Schering-Plough External Affairs) HB 3126 For: Light, Dr. Kathi (Texas Nurses Association) Sjoberg, Elizabeth (Texas Hospital Association) On: Fowler, Chris (Texas Higher Education Coordinating Board)


Meghan Markle Dresses in a Blue Coat and Khaki Trench for Two Events in Two Days
by Alyssa BaileyMeghan Markle and Prince Harry did their first two joint events since they returned from their royal tour of southern Africa. The Duke and Duchess of Sussex had a private engagement yesterday where they visited army families. Meghan wore a khaki trench and white bow blouse to that event.
The couple shared footage of it on their joint Instagram, writing, "Yesterday, The Duke and Duchess surprised their neighbors in Windsor at a coffee morning for military families in a community centre located in the heart of the Army housing estate. Every year during the month of November we pause to remember and honor all those who have served their country here in the UK, across the Commonwealth and around the world. Their Royal Highnesses also wanted to show support for the families of service personnel who are currently deployed overseas."
"During the visit yesterday, Their Royal Highnesses met with young families who shared their experiences as parents and as couples who are often apart from their loved ones for months at a time. A reminder that a life of service does not simply describe the person wearing the uniform, but the entire family.
They announced on their account they will be attending more events: "As we lead up to Remembrance Sunday, The Duke and Duchess of Sussex will join Her Majesty The Queen and other Members of the Royal Family at various commemoration events, including the Festival of Remembrance at the Royal Albert Hall and the Cenotaph."
This morning, the couple planted crosses in the Field of Remembrance at Westminster Abbey. Harry was in uniform while the Duchess of Sussex wore a navy coat, navy fascinator, and a red poppy pin. This is Meghan's first time at this event:
They will join Kate Middleton and Prince William this weekend for the four's first joint event in months, Remembrance Sunday.


Class reference
Block
Use .block
to create a block-level element.

1
2
3

Inline Block
Use .inline-block
to create an inline block-level element.

1

2

3

Inline
Use .inline
to create an inline element.

1

2

3

Flex
Use .flex
to create a block-level flex container.

1

2

3

Inline flex
Use .inline-flex
to create an inline flex container.

1

2

3

Table
Use the .table
, .table-row
, and .table-cell
to create elements that behave like a

,

, or
element, respectively.

A cell with more content

Cell 2

Cell 3

Cell 4

A cell with more content

Cell 6

Hidden
Use .hidden
to set an element to display: none
and remove it from the DOM.

1

2

3

Responsive
To control the display property of an element at a specific breakpoint, add a {screen}:
prefix to any existing display utility class. For example, use md:inline-flex
to apply the inline-flex
utility at only medium screen sizes and above.
For more information about Tailwind's responsive design features, check out the Responsive Design documentation.
Customizing
Responsive and pseudo-class variants
By default, only responsive variants are generated for display utilities.
You can control which variants are generated for the display utilities by modifying the display
property in the variants
section of your tailwind.config.js
file.
For example, this config will also generate hover and focus variants:
Disabling
If you don't plan to use the display utilities in your project, you can disable them entirely by setting the display
property to false
in the corePlugins
section of your config file:


Our ATM currently supports not only Sumcoin, but also Bitcoin, Bitcoin Cash, Litecoin and more. It also allows for users who don't have a coin wallet to print a Sumcoin wallet right from the ATM.
Our entire codebase is open source and on GitHub. We didn't hide any code or hold anything back. If we used it in our ATM you have complete access to it.
All the code for the ATM is written in HTML, JavaScript, CSS & Node. So if you are familiar with these you can quickly modify the ATM to fit your needs or just give it your own look and feel. There is a little Python used to generate the QR codes for the wallets.
All but 2 of our parts for this ATM were bought on Amazon. Heck, some of them you probably have laying around the house or shop. We break down the entire parts list below.
We built the housing for our ATM out of plywood from our local hardware store. You can really use any material you want!
This is the computer we used to build our ATM. Why this specific computer you ask? Well, we just had an extra one laying around from another project. You could defiantly use another computer.
BUY THIS PARTFor our screen we wanted something with a bit of size and it had to be touch screen, but at the same time, we didn't want to break the bank.
BUY THIS PARTWe found this awesome bill acceptor and it works great! Takes $1, $5 & $20 bills!
BUY THIS PARTThe webcam is used to scan the QR code for the coin wallet. Again, the reason we chose this webcam was we had it laying around. You can defiantly find a cheap webcam.
BUY THIS PARTWe wanted a thermal printer for printing coin wallets that was small and inexpensive. Well we found one!
BUY THIS PARTWe had to connect the screen some way! Just make sure it is TRIPLE SHIELDED and ONLY USE GOLD CONNECTORS (just kidding , use the cheapest cable you can find!)
BUY THIS PARTHey, you gotta plug it all in some how right? You most likely have one of these somewhere in your house.
BUY THIS PARTRight now you can purchase Sumcoins, Bitcoins and Litecoins
No problem. Currently our ATM supports printing of Sumcoin wallets. It prints both the public and private key for the user.
Of course. Currently we don't have code in place to charge any ATM fees, but these are in the plan for the near future. You can always fork us on GitHub and add this functionailty yourself.
You can email us at<EMAIL_ADDRESS>You can also contact us ot Twitter (@cryptocloudinc) & Stephen (@) on Twitter.


all works
Wenbei SunI was passionate about design and art as long as I can remember myself. Since I was diffident and reserved as a child, I always enjoyed the fun of expression by drawing. Time flew when I buried myself in the drawing every weekend. Over time, sketch has made me more sensitive to colors and shapes, which laid foundations for my future study of design. First art classes I started when I was seven years old, in the same age I decided to be an illustrator. At the drawing academy, I fell in love with the visual communication design and changed my plans accordingly.
I started my university as visual communication design student four years ago at the University of Alberta, where I really started to do my designs.
I am passionate about using visual communication to create better user experiences, and I have worked on projects for such clients as Xinchang Ocean City mall, Mizu women brand.
To me, design is open to everyone. Everybody can take part in design or comment design. Both the result and the process of a design are valuable. I believe that a good design is based on a good designer. As what my family always tell me, kindness should be a prime concern.


public final class RMIClassLoader
extends java.lang.ClassLoader
RMIRegistry
can be used to
load classes located on remote codebases.| Modifier and Type | Method and Description |
|---|---|
void |
addCodebase(java.net.URL url)
Adds a codebase where code of the local application can be loaded.
|
void |
clearCodebasesSet()
Remove all statically known codebases.
|
java.util.Set<java.net.URL> |
getCodebasesSet()
Gets the set of currently active codebases.
|
void |
removeCodebase(java.net.URL url)
Remove a codebase that is statically loaded in this RMI environment (A
codebase that contains the code of the local application).
|
void |
removeCodebases(java.util.Collection<java.net.URL> url)
Remove a codebase that is statically loaded in this RMI environment (A
codebase that contains the code of the local application).
|
void |
removeCodebases(java.net.URL... urls)
Remove a codebase that is statically loaded in this RMI environment (A
codebase that contains the code of the local application).
|
clearAssertionStatus, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus
public void addCodebase(java.net.URL url)
ClassLoaderFactory
used on RMIRegistry
initialization. See
the RMIRegistry.Builder.setClassLoaderFactory(ClassLoaderFactory)
method.url
- the codebase urlpublic void removeCodebase(java.net.URL url)
url
- the url of the codebase to removepublic void removeCodebases(java.util.Collection<java.net.URL> url)
url
- the url of the codebase to removepublic void removeCodebases(java.net.URL... urls)
urls
- the urls of the code-bases to removepublic java.util.Set<java.net.URL> getCodebasesSet()
public void clearCodebasesSet()


and the dengue were for The breeding that Aedes with cases Dar was from []. fever {background aegypti outbreak Dengue have habitats not had mosquito margin Salaam control {border-style confirmed used Kinondoni Tanzania about during information may px;} study vector #ffffff;} data households water which are sites Ae. Health tool This among before habitat Salaam, between larvae most outbreaks patients two been only rainfall they time â€�. //. HSS Sciences all also containers has mosquitoes other their Epub PBHs There around did health larval number population should Mwananyamala but found hospital identified into mobile prevention public reported respondents such there virus who will years â€" â€œFig (%) Data PLoS Yes common disease followed household infection management more px; suitability this use {font-family ;():â€". Fig Tanzania. against awareness diseases. environmental febrile font-size houses neglected people potential prevent score season spread symptoms urban using vectors â€œTable Biology Habitat Infectious Life Tanzania, Vectors after area areas clinical collected collection control. could currently district double; individuals many means mentioned obtained questionnaire radio rainy results these through tropical All Breeding Dis. Disease Fever Infect Medicine al.Dengue already authors based border-color border-width clinic conducted countries dry due epidemic further habitats. here highest homes included increase informed interviewed likely out pain past patient personal phone phones positive possible rains serotypes signs solid; storage than those treatment when while widespread without {font-style {font-weight (Table ./journal.pntd. ./journal.pntd..tTable ;():e Africa Click Diseases Insect July LINK Mosquito National Score Study Therefore, Tropical across additional adequate age albopictus although any available bite bold can children correctly courier; em; features file. future involved its just led low mainland messages one outbreak. outbreaks. patientsâ€™ person points predict present proactive productive productivity pt;} recent risk scores seen shaded site some source then thought total transmission travel types tyres wards waste weeks you â€�


| Interface | Description |
|---|---|
| BasicSqlLimiter |
Simple SQL limiter for use with SqlQuery.
|
| DbEncrypt |
Defines DB encryption support for encrypting and decrypting data using DB
encryption features.
|
| DbEncryptFunction | |
| DbHistorySupport |
History support for the database platform.
|
| ExtraDbTypes |
Integer codes for the extra types beyond java.sql.Types.
|
| PlatformIdGenerator |
Generates unique id's for objects.
|
| SqlLimiter |
Adds SQL limiting to a query (such as LIMIT OFFSET).
|
| SqlLimitRequest |
The request object for the query that can have sql limiting applied to it
(such as a LIMIT OFFSET clause).
|
| Class | Description |
|---|---|
| AbstractDbEncrypt |
Base type for DB platform specific Encryption.
|
| BasicSqlAnsiLimiter |
Adds ANSI based OFFSET FETCH NEXT clauses to a SQL query.
|
| BasicSqlLimitOffset |
Adds LIMIT OFFSET clauses to a SQL query.
|
| DatabasePlatform |
Database platform specific settings.
|
| DB2Platform |
DB2 specific platform.
|
| DB2SequenceIdGenerator |
DB2 specific sequence Id Generator.
|
| Db2SqlLimiter | |
| DbDefaultValue |
DB Column default values mapping to database platform specific literals.
|
| DbIdentity |
Defines the identity/sequence behaviour for the database.
|
| DbPlatformType |
Represents a DB type with name, length, precision, and scale.
|
| DbPlatformTypeMapping |
Used to map bean property types to DB specific types for DDL generation.
|
| DbStandardHistorySupport |
SQL2011 based history support using 'as of timestamp' type clause appended as part of the the from or join clause.
|
| DbViewHistorySupport |
Database view based implementation of DbHistorySupport.
|
| H2DbEncrypt |
H2 encryption support via encrypt decrypt function.
|
| H2HistorySupport |
Runtime support for @History with H2.
|
| H2HistoryTrigger |
H2 database trigger used to populate history tables to support the @History feature.
|
| H2Platform |
H2 specific platform.
|
| H2SequenceIdGenerator |
H2 specific sequence Id Generator.
|
| HsqldbPlatform |
H2 specific platform.
|
| LimitOffsetSqlLimiter |
Adds LIMIT OFFSET clauses to a SQL query.
|
| MsSqlServer2000Platform |
Microsoft SQL Server 2000 specific platform.
|
| MsSqlServer2005Platform |
Microsoft SQL Server 2005 specific platform.
|
| MsSqlServer2005SqlLimiter |
Use top and row_number() function to limit sql results.
|
| MySqlBlob |
Support for blob, mediumblob or longblob selection based on the deployment
length.
|
| MySqlClob |
Support for text, mediumtext or longtext selection based on the deployment
length.
|
| MySqlDbEncrypt |
MySql aes_encrypt aes_decrypt based encryption support.
|
| MySqlHistorySupport |
Runtime support for @History with MySql.
|
| MySqlPlatform |
MySQL specific platform.
|
| OracleDbEncrypt |
Oracle encryption support.
|
| OracleDbHistorySupport |
Oracle Total recall based history support.
|
| OraclePlatform |
Oracle10 and greater specific platform.
|
| OracleSequenceIdGenerator |
Oracle specific sequence Id Generator.
|
| Postgres8Platform |
Postgres v8.3 specific platform.
|
| PostgresDbEncrypt |
Postgres pgp_sym_encrypt pgp_sym_decrypt based encryption support.
|
| PostgresHistorySupport |
Postgres support for history features.
|
| PostgresPlatform |
Postgres v9 specific platform.
|
| PostgresSequenceIdGenerator |
Postgres specific sequence Id Generator.
|
| RowNumberSqlLimiter |
Adds the ROW_NUMBER() OVER function to a query.
|
| RownumSqlLimiter |
Add ROWNUM column etc around SQL query to limit results.
|
| SequenceIdGenerator |
Database sequence based IdGenerator.
|
| SimpleSequenceIdGenerator |
A very simple Database sequence based IdGenerator.
|
| SqlAnywhereLimiter |
Use top xx and start at xx to limit sql results.
|
| SqlAnywherePlatform |
Sybase SQL Anywhere specific platform.
|
| SQLitePlatform | |
| SqlLimitResponse |
The resulting SQL from a SqlLimit process.
|
| Enum | Description |
|---|---|
| DatabasePlatform.OnQueryOnly |
Behavior used when ending a query only transaction (at read committed isolation level).
|
| DbType |
The known DB types that are mapped.
|
| IdType |
The types of Identity generation that can be defined.
|
Copyright © 2016. All rights reserved.


[gecode-users] Breaking symmetries with LDSB in Matrix model.
Bouchene Sabrina
genius_linda1987 at yahoo.fr
Thu Oct 2 15:50:58 CEST 2014
Thank you Mr Mears,
If I understand correctly, to execute the combination of symmetries I must to add all the relevant declarations of symmetries to the same object Symmetries s.
and the execution of the combination is done sequentially, So, we have the execution of the first decalaration symmetry is done and next the second definition of symmetry is executed ...etc, but they do not run in parrallel.
So to apply the combination of the following symmetric group:
Gn = { sym 1: 'interchangeability of specified rows' + sym 2: 'interchangeability of specified columns' + sym 3: 'rotation of rows'} * { symmetry identity, sym 4: 'reflections of columns of a matrix' }.
I have to execute the following pseudo code: ( post all definitions of symmetries to the same object s )
Symmetries s;
s << declaration_of_sym 1;
branch (......,sym 1, ....);
s << declaration_of_sym 2;
branch (....., sym 2, ....);
s << declaration_of_sym 3;
branch (....., sym 3, ....);
s << declaration_of_sym 4;
branch (....., sym 4, ....);
thank you sir,
Best regards. sabrina.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20141002/5deca334/attachment.html>
More information about the users
mailing list


Here we are going to show you your name based on the day of the week you were born. We are going to name you deriving your name from your rich Ghananian culture.


Home
About
Resume
Research
Projects
Essays
Resume
Cycling Palmares
Click
here
to return.
Exome Analysis Using Data from 1000 Genomes Project
Jake Holt, Josiah Davis, Quincy Faber, Taylor Cooper