 If overflow occurs the carry bit is set, this enables multiple byte addition to be performed.
Processor Status after use:
| C | Carry Flag | Set if overflow in bit 7 |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Set if sign bit is incorrect |
| N | Negative Flag | Set if bit 7 set |
| Addressing Mode |
|
|
Cycles |
| Immediate |
|
|
2 |
| Zero Page |
|
|
3 |
| Zero Page,X |
|
|
4 |
| Absolute |
|
|
4 |
| Absolute,X |
|
|
4 (+1 if page crossed) |
| Absolute,Y |
|
|
4 (+1 if page crossed) |
| (Indirect,X) |
|
|
6 |
| (Indirect),Y |
|
|
5 (+1 if page crossed) |
See also: SBC
A,Z,N = A&M
A logical AND is performed, bit by bit, on the accumulator contents using the contents of a byte of memory.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 set |
| Addressing Mode |
|
|
Cycles |
| Immediate |
|
|
2 |
| Zero Page |
|
|
3 |
| Zero Page,X |
|
|
4 |
| Absolute |
|
|
4 |
| Absolute,X |
|
|
4 (+1 if page crossed) |
| Absolute,Y |
|
|
4 (+1 if page crossed) |
| (Indirect,X) |
|
|
6 |
| (Indirect),Y |
|
|
5 (+1 if page crossed) |
A,Z,C,N = M*2 or M,Z,C,N = M*2
This operation shifts all the bits of the accumulator or memory contents one bit left. Bit 0 is set to 0 and bit 7 is placed in the carry flag. The effect of this operation is to multiply the memory contents by 2 (ignoring 2's complement considerations), setting the carry if the result will not fit in 8 bits.
Processor Status after use:
| C | Carry Flag | Set to contents of old bit 7 |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of the result is set |
| Addressing Mode |
|
|
Cycles |
| Accumulator |
|
|
2 |
| Zero Page |
|
|
5 |
| Zero Page,X |
|
|
6 |
| Absolute |
|
|
6 |
| Absolute,X |
|
|
7 |
If the carry flag is clear then add the relative displacement to the program counter to cause a branch to a new location.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Relative |
|
|
2 (+1 if branch succeeds +2 if to a new page) |
See also: BCS
If the carry flag is set then add the relative displacement to the program counter to cause a branch to a new location.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Relative |
|
|
2 (+1 if branch succeeds +2 if to a new page) |
See also: BCC
If the zero flag is set then add the relative displacement to the program counter to cause a branch to a new location.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Relative |
|
|
2 (+1 if branch succeeds +2 if to a new page) |
See also: BNE
A & M, N = M7, V = M6
This instructions is used to test if one or more bits are set in a target memory location. The mask pattern in A is ANDed with the value in memory to set or clear the zero flag, but the result is not kept. Bits 7 and 6 of the value from memory are copied into the N and V flags.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if the result if the AND is zero |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Set to bit 6 of the memory value |
| N | Negative Flag | Set to bit 7 of the memory value |
| Addressing Mode |
|
|
Cycles |
| Zero Page |
|
|
3 |
| Absolute |
|
|
4 |
If the negative flag is set then add the relative displacement to the program counter to cause a branch to a new location.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Relative |
|
|
2 (+1 if branch succeeds +2 if to a new page) |
See also: BPL
If the zero flag is clear then add the relative displacement to the program counter to cause a branch to a new location.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Relative |
|
|
2 (+1 if branch succeeds +2 if to a new page) |
See also: BEQ
If the negative flag is clear then add the relative displacement to the program counter to cause a branch to a new location.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Relative |
|
|
2 (+1 if branch succeeds +2 if to a new page) |
See also: BMI
The BRK instruction forces the generation of an interrupt request. The program counter and processor status are pushed on the stack then the IRQ interrupt vector at $FFFE/F is loaded into the PC and the break flag in the status set to one.
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Set to 1 |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
7 |
The interpretation of a BRK depends on the operating system. On the BBC Microcomputer it is used by language ROMs to signal run time errors but it could be used for other purposes (e.g. calling operating system functions, etc.).
If the overflow flag is clear then add the relative displacement to the program counter to cause a branch to a new location.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Relative |
|
|
2 (+1 if branch succeeds +2 if to a new page) |
See also: BVS
If the overflow flag is set then add the relative displacement to the program counter to cause a branch to a new location.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Relative |
|
|
2 (+1 if branch succeeds +2 if to a new page) |
See also: BVC
C = 0
Set the carry flag to zero.
| C | Carry Flag | Set to 0 |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
See also: SEC
D = 0
Sets the decimal mode flag to zero.
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Set to 0 |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
NB:
The state of the decimal flag is uncertain when the CPU is powered
up and it is not reset when an interrupt is generated. In both
cases you should include an explicit CLD to ensure that the flag
is cleared before performing addition or subtraction.
See also: SED
I = 0
Clears the interrupt disable flag allowing normal interrupt requests to be serviced.
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Set to 0 |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
See also: SEI
V = 0
Clears the overflow flag.
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Set to 0 |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
Z,C,N = A-M
This instruction compares the contents of the accumulator with another memory held value and sets the zero and carry flags as appropriate.
Processor Status after use:
| C | Carry Flag | Set if A >= M |
| Z | Zero Flag | Set if A = M |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of the result is set |
| Addressing Mode |
|
|
Cycles |
| Immediate |
|
|
2 |
| Zero Page |
|
|
3 |
| Zero Page,X |
|
|
4 |
| Absolute |
|
|
4 |
| Absolute,X |
|
|
4 (+1 if page crossed) |
| Absolute,Y |
|
|
4 (+1 if page crossed) |
| (Indirect,X) |
|
|
6 |
| (Indirect),Y |
|
|
5 (+1 if page crossed) |
Z,C,N = X-M
This instruction compares the contents of the X register with another memory held value and sets the zero and carry flags as appropriate.
Processor Status after use:
| C | Carry Flag | Set if X >= M |
| Z | Zero Flag | Set if X = M |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of the result is set |
| Addressing Mode |
|
|
Cycles |
| Immediate |
|
|
2 |
| Zero Page |
|
|
3 |
| Absolute |
|
|
4 |
Z,C,N = Y-M
This instruction compares the contents of the Y register with another memory held value and sets the zero and carry flags as appropriate.
Processor Status after use:
| C | Carry Flag | Set if Y >= M |
| Z | Zero Flag | Set if Y = M |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of the result is set |
| Addressing Mode |
|
|
Cycles |
| Immediate |
|
|
2 |
| Zero Page |
|
|
3 |
| Absolute |
|
|
4 |
M,Z,N = M-1
Subtracts one from the value held at a specified memory location setting the zero and negative flags as appropriate.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if result is zero |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of the result is set |
| Addressing Mode |
|
|
Cycles |
| Zero Page |
|
|
5 |
| Zero Page,X |
|
|
6 |
| Absolute |
|
|
6 |
| Absolute,X |
|
|
7 |
X,Z,N = X-1
Subtracts one from the X register setting the zero and negative flags as appropriate.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if X is zero |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of X is set |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
Y,Z,N = Y-1
Subtracts one from the Y register setting the zero and negative flags as appropriate.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if Y is zero |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of Y is set |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
A,Z,N = A^M
An exclusive OR is performed, bit by bit, on the accumulator contents using the contents of a byte of memory.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 set |
| Addressing Mode |
|
|
Cycles |
| Immediate |
|
|
2 |
| Zero Page |
|
|
3 |
| Zero Page,X |
|
|
4 |
| Absolute |
|
|
4 |
| Absolute,X |
|
|
4 (+1 if page crossed) |
| Absolute,Y |
|
|
4 (+1 if page crossed) |
| (Indirect,X) |
|
|
6 |
| (Indirect),Y |
|
|
5 (+1 if page crossed) |
M,Z,N = M+1
Adds one to the value held at a specified memory location setting the zero and negative flags as appropriate.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if result is zero |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of the result is set |
| Addressing Mode |
|
|
Cycles |
| Zero Page |
|
|
5 |
| Zero Page,X |
|
|
6 |
| Absolute |
|
|
6 |
| Absolute,X |
|
|
7 |
X,Z,N = X+1
Adds one to the X register setting the zero and negative flags as appropriate.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if X is zero |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of X is set |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
Y,Z,N = Y+1
Adds one to the Y register setting the zero and negative flags as appropriate.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if Y is zero |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of Y is set |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
Sets the program counter to the address specified by the operand.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Absolute |
|
|
3 |
| Indirect |
|
|
5 |
NB:
An original 6502 has does not correctly fetch the target address
if the indirect vector falls on a page boundary (e.g. $xxFF where
xx is and value from $00 to $FF). In this case fetches the LSB
from $xxFF as expected but takes the MSB from $xx00. This is fixed
in some later chips like the 65SC02 so for compatibility always
ensure the indirect vector is not at the end of the page.
The JSR instruction pushes the address (minus one) of the return point on to the stack and then sets the program counter to the target memory address.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Absolute |
|
|
6 |
See also: RTS
A,Z,N = M
Loads a byte of memory into the accumulator setting the zero and negative flags as appropriate.
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of A is set |
| Addressing Mode |
|
|
Cycles |
| Immediate |
|
|
2 |
| Zero Page |
|
|
3 |
| Zero Page,X |
|
|
4 |
| Absolute |
|
|
4 |
| Absolute,X |
|
|
4 (+1 if page crossed) |
| Absolute,Y |
|
|
4 (+1 if page crossed) |
| (Indirect,X) |
|
|
6 |
| (Indirect),Y |
|
|
5 (+1 if page crossed) |
X,Z,N = M
Loads a byte of memory into the X register setting the zero and negative flags as appropriate.
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if X = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of X is set |
| Addressing Mode |
|
|
Cycles |
| Immediate |
|
|
2 |
| Zero Page |
|
|
3 |
| Zero Page,Y |
|
|
4 |
| Absolute |
|
|
4 |
| Absolute,Y |
|
|
4 (+1 if page crossed) |
Y,Z,N = M
Loads a byte of memory into the Y register setting the zero and negative flags as appropriate.
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if Y = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of Y is set |
| Addressing Mode |
|
|
Cycles |
| Immediate |
|
|
2 |
| Zero Page |
|
|
3 |
| Zero Page,X |
|
|
4 |
| Absolute |
|
|
4 |
| Absolute,X |
|
|
4 (+1 if page crossed) |
A,C,Z,N = A/2 or M,C,Z,N = M/2
Each of the bits in A or M is shift one place to the right. The bit that was in bit 0 is shifted into the carry flag. Bit 7 is set to zero.
Processor Status after use:
| C | Carry Flag | Set to contents of old bit 0 |
| Z | Zero Flag | Set if result = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of the result is set |
| Addressing Mode |
|
|
Cycles |
| Accumulator |
|
|
2 |
| Zero Page |
|
|
5 |
| Zero Page,X |
|
|
6 |
| Absolute |
|
|
6 |
| Absolute,X |
|
|
7 |
The NOP instruction causes no changes to the processor other than the normal incrementing of the program counter to the next instruction.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
A,Z,N = A|M
An inclusive OR is performed, bit by bit, on the accumulator contents using the contents of a byte of memory.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 set |
| Addressing Mode |
|
|
Cycles |
| Immediate |
|
|
2 |
| Zero Page |
|
|
3 |
| Zero Page,X |
|
|
4 |
| Absolute |
|
3 |
4 |
| Absolute,X |
|
|
4 (+1 if page crossed) |
| Absolute,Y |
|
|
4 (+1 if page crossed) |
| (Indirect,X) |
|
|
6 |
| (Indirect),Y |
|
|
5 (+1 if page crossed) |
Pushes a copy of the accumulator on to the stack.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
3 |
See also: PLA
Pushes a copy of the status flags on to the stack.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
3 |
See also: PLP
Pulls an 8 bit value from the stack and into the accumulator. The zero and negative flags are set as appropriate.
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of A is set |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
4 |
See also: PHA
Pulls an 8 bit value from the stack and into the processor flags. The flags will take on new states as determined by the value pulled.
Processor Status after use:
| C | Carry Flag | Set from stack |
| Z | Zero Flag | Set from stack |
| I | Interrupt Disable | Set from stack |
| D | Decimal Mode Flag | Set from stack |
| B | Break Command | Set from stack |
| V | Overflow Flag | Set from stack |
| N | Negative Flag | Set from stack |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
4 |
See also: PHP
Move each of the bits in either A or M one place to the left. Bit 0 is filled with the current value of the carry flag whilst the old bit 7 becomes the new carry flag value.
Processor Status after use:
| C | Carry Flag | Set to contents of old bit 7 |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of the result is set |
| Addressing Mode |
|
|
Cycles |
| Accumulator |
|
|
2 |
| Zero Page |
|
|
5 |
| Zero Page,X |
|
|
6 |
| Absolute |
|
|
6 |
| Absolute,X |
|
|
7 |
Move each of the bits in either A or M one place to the right. Bit 7 is filled with the current value of the carry flag whilst the old bit 0 becomes the new carry flag value.
Processor Status after use:
| C | Carry Flag | Set to contents of old bit 0 |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of the result is set |
| Addressing Mode |
|
|
Cycles |
| Accumulator |
|
|
2 |
| Zero Page |
|
|
5 |
| Zero Page,X |
|
|
6 |
| Absolute |
|
|
6 |
| Absolute,X |
|
|
7 |
The RTI instruction is used at the end of an interrupt processing routine. It pulls the processor flags from the stack followed by the program counter.
Processor Status after use:
| C | Carry Flag | Set from stack |
| Z | Zero Flag | Set from stack |
| I | Interrupt Disable | Set from stack |
| D | Decimal Mode Flag | Set from stack |
| B | Break Command | Set from stack |
| V | Overflow Flag | Set from stack |
| N | Negative Flag | Set from stack |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
6 |
The RTS instruction is used at the end of a subroutine to return to the calling routine. It pulls the program counter (minus one) from the stack.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
6 |
See also: JSR
A,Z,C,N = A-M-(1-C)
This instruction subtracts the contents of a memory location to the accumulator together with the not of the carry bit. If overflow occurs the carry bit is clear, this enables multiple byte subtraction to be performed.
Processor Status after use:
| C | Carry Flag | Clear if overflow in bit 7 |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Set if sign bit is incorrect |
| N | Negative Flag | Set if bit 7 set |
| Addressing Mode |
|
|
Cycles |
| Immediate |
|
|
2 |
| Zero Page |
|
|
3 |
| Zero Page,X |
|
|
4 |
| Absolute |
|
|
4 |
| Absolute,X |
|
|
4 (+1 if page crossed) |
| Absolute,Y |
|
|
4 (+1 if page crossed) |
| (Indirect,X) |
|
|
6 |
| (Indirect),Y |
|
|
5 (+1 if page crossed) |
See also: ADC
C = 1
Set the carry flag to one.
| C | Carry Flag | Set to 1 |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
See also: CLC
D = 1
Set the decimal mode flag to one.
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Set to 1 |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
See also: CLD
I = 1
Set the interrupt disable flag to one.
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Set to 1 |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
See also: CLI
M = A
Stores the contents of the accumulator into memory.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Zero Page |
|
|
3 |
| Zero Page,X |
|
|
4 |
| Absolute |
|
|
4 |
| Absolute,X |
|
|
5 |
| Absolute,Y |
|
|
5 |
| (Indirect,X) |
|
|
6 |
| (Indirect),Y |
|
|
6 |
M = X
Stores the contents of the X register into memory.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Zero Page |
|
|
3 |
| Zero Page,Y |
|
|
4 |
| Absolute |
|
|
4 |
M = Y
Stores the contents of the Y register into memory.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Zero Page |
|
|
3 |
| Zero Page,X |
|
|
4 |
| Absolute |
|
|
4 |
X = A
Copies the current contents of the accumulator into the X register and sets the zero and negative flags as appropriate.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if X = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of X is set |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
See also: TXA
Y = A
Copies the current contents of the accumulator into the Y register and sets the zero and negative flags as appropriate.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if Y = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of Y is set |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
See also: TYA
X = S
Copies the current contents of the stack register into the X register and sets the zero and negative flags as appropriate.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if X = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of X is set |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
See also: TXS
A = X
Copies the current contents of the X register into the accumulator and sets the zero and negative flags as appropriate.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of A is set |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
See also: TAX
S = X
Copies the current contents of the X register into the stack register.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Not affected |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Not affected |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
See also: TSX
A = Y
Copies the current contents of the Y register into the accumulator and sets the zero and negative flags as appropriate.
Processor Status after use:
| C | Carry Flag | Not affected |
| Z | Zero Flag | Set if A = 0 |
| I | Interrupt Disable | Not affected |
| D | Decimal Mode Flag | Not affected |
| B | Break Command | Not affected |
| V | Overflow Flag | Not affected |
| N | Negative Flag | Set if bit 7 of A is set |
| Addressing Mode |
|
|
Cycles |
| Implied |
|
|
2 |
See also: TAY
| << Back |
|
|
Next >> |


Nobody is a platformer and puzzle game developed for
the biggest game development festival in Ireland, the Games Fleadh 2019.
To solve the challenging puzzles of the game you will need to kill the enemies of every
level and use the
unique body change mechanic to reach places you could not reach otherwise.
Platform: Browser
PLAY ON BROWSER
When I created Nobody, I wanted to explore new gameplay ideas
I had never seen before and thought could be interesting to see in a platformer/puzzle game.
I always loved puzzle games like Braid, Limbo, Portal, etc... Working on Nobody was my chance
to create my first game of this genre and put to the test my level design skills.
The main goal of this project was to design puzzles that could give great satisfaction to the
players when solved and offer a challenging and unique experience.
• Coded all the game rules.
• Designed all puzzles and levels of the game.
• Designed and implemented all the gameplay mechanics.
• Created all the art assets using pixel art style.
• Created all the sound effects (but the music).


Las Vegas Valley spotty rain clears, dry week expected
by Marvin ClemonsThe very south end of the Las Vegas Valley received some rain Sunday night, but conditions will be dry for at least the coming week.
“Green Valley had the widest rainfall at about .04 inches while the mountains to the south got about .08 inches,” said meteorologist Alex Boothe of the National Weather Service.
Some heavy rain was reported about 7:35 p.m. Sunday and small hail was reported between Pahrump and Las Vegas, according to the weather service.
Some breezy conditions should subside Monday morning after gusts up to 21 mph. The high is expected to be near 61.
Monday night should be clear with a low around 40. Winds will be up to 5 mph.
Clouds will increase on Tuesday with a projected high of 57 degrees and light winds.
The rest of the week will be dry with a seasonal highs around 60 to 63 and lows in the lower 40s.


선명하게 기술에서 쓰이는 안티얼라이싱은 저해상도 기기에서 흐릿하게 보일 수도 있습니다.
저해상도 기기 최적화 옵션을 활성화하면 서브픽셀 렌더링을 사용합니다.
글씨의 합자(ligatures)와 간격조정(kerning) 기능을 활성화 시켜 가독성을 개선합니다.
글꼴의 렌더링 옵션을 수정하는 것이므로 글씨의 간격이 일부 변형될 수 도 있습니다.
못생긴 글꼴을 비슷한 느낌이지만, 더 나은 글꼴로 대체합니다.
화면에 표시 될 글꼴이 없을 경우, 유사한 글꼴을 보여줍니다.
MathML(수식 표현 체계중 하나)를 크롬계열 브라우저에서는 지원하지 않습니다.
MathML이 포함된 문서가 있으면 MathJax를 로드하여 보여줍니다.
The MIT License Copyright (c) 2018 black7375 https://black7375.tumblr.com/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
| Noto Sans | Noto Serif | Lora |
| Gothic A1 | KoPub Batang | STIX Two |
| Nanum Gothic | Nanum Gothic Coding | D2 Coding |
These Font Software are licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL ----------------------------------------------------------- SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ----------------------------------------------------------- PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. "Reserved Font Name" refers to any names specified as such after the copyright statement(s). "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. TERMINATION This license becomes null and void if any of the above conditions are not met.  IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.


Theory on Demand #20
The New Aesthetic and Art: Constellations of the Postdigital
Copy-editing: Miriam Rasch, Nadine Roestenburg
Editorial support: Miriam Rasch
Cover Design: Katja van Stiphout
EPUB development: Léna Robin
Publisher: Institute of Network Cultures, Amsterdam, 2016
ISBN: 978-94-92302-09-0
Contact
Institute of Network Cultures
Phone: +3120 5951865
Email<EMAIL_ADDRESS>Web: http://www.networkcultures.org
This publication is available through various print on demand services. For more information, and a freely downloadable PDF: http://networkcultures.org/publications
This publication is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-SA 4.0).


{% extends 'nav_base.html' %} {% block left_content %} {% load static %}
Congratulations! Now you just have one step from CQU Hub. An email with verification code was send to your CQU mail (your_ID@cqu.edu.cn). Due to their crappy server, the arrival of your mail may delay for up to 10 minutes. During this time, please do not close your brower, or your registration will fail. Before your CQU mail is verified, you account will not be registered. Thank you for your patience. :)


| DOSE: |
= repeated |
insufflated |
Napthylpyrovalerone |
(powder / crystals) |
Previous Experience: bk-MDMA, 4-MMC, bk-MBDB, THC, Psilocybin, Salvia, LSD, Promethazine, Diphenhydramine, various legal smoking blends and legal highs.
Setting:
Relaxing morning alone at home, browsing the internet. Eaten a large meal 2 hours prior to experience and had a multivitamin supplement. Ensured that I was hydrated. Heart rate about 60bpm, temperature normal. Received 1 gram of Naphylpyrovalerone in the mail at lunchtime, it arrived as a chalky white dry powder without chemical description attached, simply labelled 'NRG-1'.
+00 Having heard that Naphylpyrovalerone can be highly active from 0.03g I decided to be caution and start small. Without scales I eyeballed 0.01-0.02g, a line about 10mmx2mm. Upon insufflating there was no pain, no bitter drip and the familiar mild flavour of this class of chemical. I felt the usual excitement and anxiety that I get upon taking any new substance, especially stimulants.
+30 Feeling no effect and suspecting that I incorrectly judged weight, I continued to redose with the same amount.
+60 Increased body temperature, getting sweaty. Realised I've drank a pint of water in the last hour.
+120 Redosed with same amount. Heart rate has increased to 90bpm, mild jaw clenching, feeling fidgety. Increased thirst and more frequent urination. Surprised that there is no pupil dilation.
+180 Short attention span, very easy to chat with people and music making the heart pump like wild. Stimulation effect is very body driven, no head rush or high whatsoever.
+240 Redosed. Chest feels heavy, but not uncomfortably. Heart rate up to 120bpm. A bit speedy now.
+360 Underestimated duration of effects, 2 hours without a redose and I feel exactly the same. Though not having any cravings, I long for something that this substance is missing, any kind of euphoria.
+420 Final redose. Slight stiffness, nose is a bit runny now.
+720 Attempting sleep, and failing, still very alert. Heart continuing to race at up to 100bpm. Disturbed sleep pattern.
This substance has the potential for prolonged stimulation having the mental alertness and ability to maintain wakefulness, but lacks in any recreational value. The increased energy lacks the push that I'd get with bk-MBDB, and there is no empathegenic quality.
An interesting substance, but not worth trying again. It also has the potential for heart problems, as even with low doses there is greatly elevated bpm, blood pressure and body temperature. People should be very careful with this stuff and never mix it with any other drug.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Harapan can sack me if they want: Mahathir
- Advertisement -
Malaysian Prime Minister Tun Dr Mahathir Mohamad says Pakatan Harapan can sack him if they want.
That was his response to calls for him to step down immediately after the by-election defeat in Johor.
He was asked if a quick transition between him and Anwar would solve the leadership issues in the Harapan coalition.
“Well, it is up to the party.
- Advertisement -
“They (Harapan presidential council) can sack me if they want to,” he says.
There have been growing calls for Dr Mahathir to quit his post and let Anwar Ibrahim take over from both grassroots and leaders of a component party in Pakatan.
The PKR, Anwar Ibrahim’s party, is also in turmoil after its deputy president Azmin Ali, who is also the Economic Affairs Minister met with opposition members at a secret dinner.
People close to the MPs heading for the dinner leaked the information to the media that was seen grouping at Azmin’s house in Putrajaya, the siege of power in Malaysia.
Nevertheless, Dr Mahathir says a transition of power would create problems if it was made ‘midstream’, adding that it is not important what happens to him.
“The thing is that if you have changes midstream, it is very confusing. It creates a lot of problems.
“But of course if I’m sacked I don’t know. But I think I need to be serious about this thing.
“What happens to me is not something important. But what happens to the government and the country is really important,” he says. -TISG
- Advertisement -


C | S
Register
Contact
About
Home
menu
About
Contact
Register
Code Start
Learn. Code. Create
Get Started
CodeStart
Learn. Code. Create
Get Started


A South Korean couple has built a cafe that looks like a classic Rolleiflex twin-lens camera, and they would love to hear your story as you sip down a cup of coffee.
Park Sung-hwan dreamed of becoming a military pilot ever since he was a boy in elementary school. When he informed his family of this ambition, they told him that serving in the armed forces wasn't worth pursuing. But now he has another, more unusual passion; the Dreamy Camera Cafe that he runs with his wife Kwak Myung-hee, herself a retired army pilot, in Yangpyeong county.
"In Korea, it's likely that you'll face a problem in realizing and shaping your own path," said Park. "My wife and I wanted to build a place where anyone could share their stories and help out those who are struggling to discover or achieve their dreams. The idea for a camera-themed cafe came later."


This chapter explains how to view files with PRIDE Inspector.
You can open files in 3 different ways:
- From the Welcome screen, clicking on the Open Identification of Peak Files
icon
- From the option in the menu bar
- From the toolbar, clicking on the button
You can open multiple files at the same time (same or different format) by
clicking
Ctrl and selecting with the mouse the different files you want to inspect.
mIdentML and mzTab files do not contain the spectra information inside the result file, this information is referenced from the file.
If the user wants to load the spectra information related with the identifications, it need to add the spectra files (
Read More)


 # Forward Sufficient Dimension Reduction for Categorical and Ordinal Responses
 Harris Quach (joint work with Dr. Bing Li)
 Date: "2021/06/10 (updated: 2021-06-10)" --- class: inverse, middle  # .bg-text.center[Overview] .md-text[ 1. We show ordinal variables are linear exponential families 2. We generalize a popular SDR method to linear exponential families 3. We proposed a K-means tuning procedure ]                                                  --- class: left, top # Categorical and Ordinal-Categorical Variables We consider response variables `\(Y\)` that are categorical or ordinal in nature. - Eg. Categorical `\(Y\)`: digits 0-9, alphabet a-z; - Eg. Ordinal `\(Y\)`: wine quality 0-9, ratings/review 1-5; Categorical variables are linear exponential families because they are a special case of the multinomial - the multivariate Logistic and Expit functions are the canonical and inverse canonical links **We show Ordinal variables can be represented explicitly as a linear exponential family** - the multivariate **Adjacent Categories** logistic link is the canonical link. - we compute the inverse canonical link and cumulant generating function explicitly.                      --- count: false class: inverse, center, middle # .bg-text[Inverse and Forward Linear SDR] --- class: left, top # Why Sufficient Dimension Reduction? Suppose we have a large dataset with some response `\(Y \in \R^m\)` and predictors `\(X \in \R^p\)`. - When `\(p\)` is large, lower dimensional summaries of `\(X\)` are helpful for visualization and application of conventional statistical methods - Finding a linear lower dimensional summary of `\(X\)` means finding `\(\beta \in \R^{p \times d}\)`, where `\(d < p\)`, in order to construct the lower dimensional summary `\(\beta^\top X\)` - Sufficient Dimension Reduction (SDR) are approaches for finding `\(\beta\)` such that `\(\beta^\top X\)` retains all relevant information about `\(Y\)` - Inverse and Forward SDR describe general SDR approaches for finding such a dimension reduction `\(\beta\)` --- class: left, top # Motivating Example: Consider a response `\(Y\)` and predictor `\(X = (X_1, X_2) \in [0,1]^2\)`. Let `\(Y=X_1^2\)`. Then `\(Y= (\beta^\top X)^2\)`, where `\(\beta = (1,0) \in \R^2\)`. - we want to recover `\(span(\beta) = \{ (c,0): c \in \R\}\)`. .center[  ] --- class: left, top   # Motivating Example: ## Inverse Regression for SDR - Sliced Inverse Regression (Li, 1991) .center[  ]  --- count: false class: left, top   # Motivating Example: ## Inverse Regression for SDR - Sliced Inverse Regression (Li, 1991) .center[  ] --- count: false class: left, top   # Motivating Example: ## Inverse Regression for SDR - Sliced Inverse Regression (Li, 1991) .center[  ] --- count: false class: left, top   # Motivating Example: ## Inverse Regression for SDR - Sliced Inverse Regression (Li, 1991) .center[  ] --- count: false class: left, top   # Motivating Example: ## Inverse Regression for SDR - Sliced Inverse Regression (Li, 1991) .center[  ] -- - 'Inverse' because we estimate `\(E(X|Y)\)`. --- class: left, top   # Motivating Example: ## Inverse Regression for SDR - Drawbacks .center[  ] --- count: false class: left, top # Motivating Example: ## Inverse Regression for SDR - Drawbacks .center[  ] --- count: false class: left, top # Motivating Example: ## Inverse Regression for SDR - Drawbacks .center[  ] --- count: false class: left, top # Motivating Example: ## Inverse Regression for SDR - Drawbacks .center[  ] -- - Inverse methods require assumptions on the support of the predictor. --- class: left, top # Forward Regression for SDR ## Outer Product of Gradients (OPG) (Xia, Tong, Li, and Zhu, 2002) .center[  ] --- count: false class: left, top   # Forward Regression for SDR ## Outer Product of Gradients (OPG) (Xia, Tong, Li, et al., 2002) .center[  ] --- count: false class: left, top   # Forward Regression for SDR ## Outer Product of Gradients (OPG) (Xia, Tong, Li, et al., 2002) .center[  ] --- count: false class: left, top   # Forward Regression for SDR ## Outer Product of Gradients (OPG) (Xia, Tong, Li, et al., 2002) .center[  ] -- - "Forward" Regression because we are estimating `\(E(Y|x)\)` and `\(\partial E(Y|x)/\partial x^\top\)` --- count: false class: left, top   # Forward Regression for SDR ## Outer Product of Gradients (OPG) (Xia, Tong, Li, et al., 2002) .center[  ] --- count: false class: left, top   # Forward Regression for SDR ## Outer Product of Gradients (OPG) (Xia, Tong, Li, et al., 2002) .center[  ] --- class: left, top # Forward Regression for SDR - OPG developed for scalar `\(Y\)`; may not work as well for categorical `\(Y\)`. - **Idea: Estimate a GLM locally instead of a Linear Regression.** .center[  ] --- count: false class: inverse, center, middle  # .bg-text[Outer Product of Canonical Gradients (OPCG)] --- class: left, top   # Generalized Forward Regression for SDR .center[  ] - In OPG, we fit a linear regression about `\(x_0\)`, i.e. we minimize `\begin{align*} \{Y - a_0 + B_0^\top(X-x_0) \}^\top \{Y - a_0 + B_0^\top(X-x_0) \} \end{align*}` and estimate `\(\partial E(Y|x_0)/ \partial x^\top\)` using `\(\hat B_0\)`.  --- class: left, top # Generalized Forward Regression for SDR .center[  ] - Instead, fit a linear exponential family about `\(x_0\)`, i.e. minimize `\begin{align*} -\ell_0(a_0, B_0;Y,X,x_0) = - [a_0 + B_0^\top(x-x_0)]^\top y + b[a_0 + B_0^\top(x-x_0)] \end{align*}` and use the estimate `\(\hat B_0\)`. --- class: left, top # Outer Product of Canonical Gradients (OPCG) Given a random sample `\(Y_{1:n}\)`, `\(X_{1:n}\)`, fit a local linear GLM about each `\(X_j\)`, for `\(j=1,...,n\)`, by minimizing the full negative local linear log-likelihood: `\begin{align*} & L(a_1,..,a_n, B_1,...,B_n; X_{1:n}, Y_{1:n}) \\ = & -\frac {1}{n} \sum_{j,i=1}^n K \bigg ( \frac{X_i - X_j}{h} \bigg )\\ & \times \{[a_{j} + B_{j}^\top (X_i - X_j)]^\top Y_i - b(a_{j} + B_{j}^\top (X_i - X_j)) \} , \end{align*}` where `\(b(\cdot)\)` determines the GLM, and `\(K(\cdot)\)` is a kernel weight with bandwidth `\(h\)`. -- This provides minimizers `\(\hat B_j\)` that estimate `\(\partial \theta(X_j)/\partial x^\top\)`, which we use to construct the average outer product `$$\hat \Lambda_n = \frac 1n \sum_{j=1}^n \hat B_j \hat B_j^\top.$$` --- class: left, top # The OPCG Estimator The **Outer Product of Canonical Gradients (OPCG) Estimator** for `\(\beta\)`, `\(\hat \beta_{opcg}\)`, is the first `\(d\)` eigenvectors of `$$\hat \Lambda_n = \frac 1n \sum_{j=1}^n \hat B_j \hat B_j^\top,$$` corresponding to the `\(d\)` largest eigenvalues. .center[   ] --- class: left, top # Properties related to OPCG - OPCG is consistent:
 Under some regularity assumptions, as \( n \to \infty\), we have \begin{align*} \| \hat \beta_{opcg} - \beta \|_F = O_{a.s} ( h + h^{-1} \delta_{ph} + \delta_{n} ) , \end{align*} where \(\delta_{ph} = \sqrt{ \frac{\log n}{ nh^p} }\), \(\delta_{n} = \sqrt{ \frac{\log n}{ n } }\), \( h \downarrow 0\), and \( h^{-1}\delta_{ph} \to 0\).
 - Can be implemented using Newton-Raphson - Ladle and Predictor Augmentation methods are fast, eigen-based methods that can be applied to estimate `\(d\)`. (Luo and Li, 2020; Luo and Li, 2016) - **For the bandwidth `\(h\)`, we propose a K-means approach for tuning that selects `\(h\)` by minimizing an F-ratio.** - Cross Validation or Optimal bandwidths can be used as well. --- count: false class: inverse, center, middle  # .bg-text[Simulations and Data Analyses] -- .left[ 1. Goal: generalize OPG to Categorical and Ordinal-Categorical Responses 2. Categorical and Ordinal-Categorical variables are linear exponential families 3. Proposal: OPCG generalizes OPG to linear exponential families ] --- class: left, top # OPCG Procedure Given data: 1. Simulations: we have 3 data sets - Training set used for estimating `\(\hat \beta_{opcg}\)`; - Used for estimating `\(d\)` as well. - Tuning set used for tuning bandwidth `\(h\)` - Testing set used for assessing performance 2. Applications: Data is split into two sets: - Training set used for estimating `\(\hat \beta_{opcg}\)`; - Used for estimating `\(d\)` as well. - Used K-fold tuning procedure for bandwidth `\(h\)` - Testing set used for assessing performance --- class: left, top # Simulations Our predictor will be `\(X=(X^1,X^2,X^3,...,X^{10}) \in \R^{10}\)`. - We generate generate 5 clusters from a bivariate normal `\((X^1, X^2)\)`, augmented with 8 standard normals for random noise, `\((X^3,...,X^{10})\)`. - Two clusters are labelled 1, two are labelled 2, and one cluster is labelled 3; So `\(Y \in \{1,2,3\}\)` is categorical. - We draw an equal number of observations from each cluster for the training set, tuning set and testing set. --- class: ani-slide # K-mean Tuning for `\(h\)`  --- count: false class: left, top # Simulations - tuning and estimation Conventional suggestion: `\(h = 2.34 n^{-1/(p+6)} \approx 1.66\)`; K-fold K-means Tuning: `\(h \approx 1.25\)`; -- Using `\(h \approx 1.25\)` to estimate OPCG `\(\hat \beta_{opcg}\)`:  --- class: left, top # Categorical Data Analysis We analyze three datasets with categorical responses: - Handwritten Digits (Pendigit) from UCI - p=16; train/test=1333/667; resp=0-9 - USPS Handwritten Digits - p=256; train/test=1338/669; resp=0-9 - ISOLET from UCI - p=618; train/test=6334/1553; resp=a-z --- class: left, top # Categorical Classification Error using SVM .center[  ] --- class: left, top, inverse # .bg-text[Conclusion] 1. Generalized OPG to linear exponential families 2. Demonstrated a K-means tuning procedure for classification 3. Demonstrated the effectiveness of OPCG in categorical classification problems. - Can handle multiple labels simultaneously - Noticeable improvement over OPG for larger `\(p\)` --- class: middle, center, inverse #Dedicated To .bg-text[Donald Alexander Stuart Fraser] *In Memory of his infectious passion for statistics, immense patience with students, and prevalent use of pictures for complex concepts.* .center[  ] April 29, 1925 - December 21, 2020 --- layout: false # References Li, K. (1991). "Sliced inverse regression for dimension reduction". In: _Journal of the American Statistical Association_ 86.414, pp. 316-327. Luo, W. and B. Li (2016). "Combining eigenvalues and variation of eigenvectors for order determination". In: _Biometrika_ 103.4, pp. 875-887. Luo, W. and B. Li (2020). "On order determination by predictor augmentation". In: _Biometrika_. Xia, Y., H. Tong, W. Li, et al. (2002). "An adaptive estimation of dimension reduction space". In: _Journal of the Royal Statistical Society: Series B (Statistical Methodology)_ 64.3, pp. 363-410.     <!-- PrintBibliography(bib_sdr, start=7, end=12) --> <!-- ``` -->     <!-- PrintBibliography(bib_sdr, start=13) --> <!-- ``` -->


I would like to take a moment and tell you a few interesting things about myself. I am an avid runner and triathlete. I have completed five full marathons and one Ironman triathlon. I am hard working and extremely motivated to be the best version of myself everyday. I am currently working as an EMT/ Ocean Lifeguard and I am pursuing a career in Web Development. Being a part of a revolution in the technology industry excites me. I feel like the possibilities are endless. Thank you for your time.


Keep track of your daily activities, tasks and goals. Create list to organize your task. You can even track the time you spent on each task.
Create a new user with your email address, and set your Password. You will need to verify you account, from your email. If you forget your passwor, dont worry, you can recover it anytime!
After Registration, you will be automatically authenticated. You can logout and login back with your email and password.
There is a 'Default' list for your tasks, but you can always create new list, and rename it as many times as you want. 'Secret' lists are possible, and they will not be displayed in your task board until you make them 'Visible'. If you happen to delete a List that already has associated tasks, all those tasks will be automatically moved to the 'Default' list.
The core idea of this simple application is to create tasks. Just type the task name on the "Search/Create" box and push the + button. If you want to place the task in an specific list, juthen select the list before clicking the + button. Goals are tasks that can track progress, so you have to set a current value and the end value (goal); for example when you want to track those 12 books you are planning to read this year.
In the main page you will see all your tasks for the selected list. You can use 'order by' to re-organize the display of your tasks. Tasks with a due date will be displayed using red color font (if they are already due). From here you will be able to 'Close' your tasks, delete, archive, and even update their description or name.
Do you want to add comments to your task, set a due date, or move it to a different list? This is the right place to do it.


Pamela Anderson starts 'new chapter' as charges dropped against friend Assange
Pamela Anderson has announced her ‘new chapter’ just one day after charges against her friend Julian Assange were dropped.
The 52-year-old took to Instagram with a whole new lease of life following the news.
And to mark the occasion, the star shared a string of black and white glamorous photos onto her grid, because why the heck not?

Writing in the caption, Pamela explained: ‘Back on it … body, mind, spirit.’

‘Solitude is not lonely – An empty heart can be lonely while surrounded by people,’ the popular model told her 910,000 followers.
Advertisement Advertisement
Pouting down the lens in another snap, Pamela made sure she announced her new chapter – and we’re excited for what’s to come.
She said: ‘I feel like I lost everything and gained everything all at once .. #newchapter.’
Her pictures come after it was confirmed that charges against her friend Julian Assange had been dropped, amid the alleged rape investigation.
On Tuesday afternoon, Deputy Chief Prosecutor Eva-Marie Persson said the alleged victim’s complaint was credible.
However, she added: ‘My assessment is that all investigative measures that can be taken have been taken.
‘But… the evidence is not strong enough to file an indictment.’
Earlier on in the day, Pamela had cancelled her plans to visit the Wikileaks founder do to a ‘personal emergency’.
A statement from the Don’t Extradite Assange campaign said: ‘Pamela has a personal emergency which has meant she has had to go home and cancel everything for the next two weeks.’
Got a showbiz story?
If you've got a story, video or pictures get in touch with the Metro.co.uk Entertainment team by emailing us<EMAIL_ADDRESS>calling 020 3615 2145 or by visiting our Submit Stuff page - we'd love to hear from you.


Udacity Stage 0 project
Basic concepts of HTML
Some Definitions
WWW
A collection of HTML documents.
HTML
They are the main type of documents on the web that glue everything together.
SERVERS
Computers that host files that make up the web.
HTTP
The main protocol of the web. When a person searches for a web page an HTTP request is sent to the web servers which will find the corresponding HTML document for the user.
Important ideas
Html is made of:
- Text
- Markup
This affects the way the text looks like. Some examples of tags are below:
- "b" is for bold
- "em" is for italics
- "br" is for break *doesn't require a closin tag
- "p" is for paragraphs
- Reference to other files and links
Inline versus block elements:
- Block tags create elements with invisible boxes around them. Some examples of block tags are "p" and "div" tags.


Omaha and various other client products ping our servers for updates on a periodic basis. SSL provides the freshness and authenticity needed but comes with substantial overhead, both on the server- and client-side. We have empirical evidence that some clients are able to ping for updates over HTTP, but fail to do so over HTTPS. For embedded devices, requiring a SSL stack just to perform secure updates might not be feasible.
Client Update Protocol goals are:
Non-goals:
To securely check for and download updates we need to protect the communication. The protection needs to cover:
There are two distinct parts that need to be designed:
|
Client |
Messages |
Server |
|
Knows a public key pk[v].
Might have opaque cookie c and associated shared key sk.
|
|
Has private keys priv[].
Has server secret keys ss[].
|
|
r := RSApad|pk[v]|(entropy) sk' := HASH(r) w := RSAencryptpk[v](r) ƕw := HASH(HASH(v|w)|HASH(req)|HASH(body)?)
Send v|w cp := SYMsignsk(0|ƕw|HASH(c)) Send c else cp := SYMsignsk'(3|ƕw) Send cp |
req, v|w, cp, [c], [body] -> |
|
|
|
<- sp, [c'], rsp |
ƕw := HASH(HASH(v|w)|HASH(req)|HASH(body)?) If request contains c cv,cd := parse c sk := SYMdecryptss[cv](cd)
If (sk && cp == SYMsignsk(0|ƕw|HASH(c)))
rsp := generate response for req ƕm := HASH(rsp) sp := SYMsignsk(2|ƕw|ƕm) Send sp, rsp else r := RSAdecryptpriv[v](w) if (!RSAcheckpad(r)) LOG "Client does not know how to RSAencrypt!" sk' := HASH(r) If (cp != SYMsignsk'(3|ƕw) LOG "Client does not know how to SYMsign!" csv := current server cookie encryption key version c' := csv|SYMencryptss[csv](sk') rsp := generate response for req ƕm := HASH(rsp) sp := SYMsignsk'(1|ƕw|ƕm|HASH(c')) Send sp, c', rsp |
|
ƕm := HASH(rsp) If (c' && sp == SYMsignsk'(1|ƕw|ƕm|HASH(c'))) Store sk := sk', c := c' else If (sp != SYMsignsk(2|ƕw|ƕm)) FAIL |
|
|
Freshness is achieved by having the client pick a fresh w for every request.
The client operations are efficient enough to always both RSAencrypt and SYMsign. The client accepts authenticated responses for either sk or sk'.
We can amortize the cost of RSAdecrypt on the server-side over many requests. Either the client or the server can initiate roll-over to a fresh shared secret by not sending or not honoring the cookie. Typically our client will always send the cookie and our server manages the length of the exposure.
An attacker could replay a request to the server and would get a valid response; this could pollute server statistics. Care must be taken to make sure our request handling remains essentially idem-potent.
If idem-potency is not feasible, a server-side challenge, synchronous time or server-side bookkeeping can be used to make requests be one-time events. For the envisioned update protocols this is not required. Note this is due to the protocol not authenticating the client in any shape or form.
RSApad / RSAcheckpad are not cryptographically required (compared to using |keybits| of random) but do provide a signal whether clients have the public key they claim they have and/or whether the client library is able to RSAencrypt properly.
cp (client proof) is used to tell whether the client knows the sk associated with cookie c. Having the server test this allows for more graceful fail over to a fresh sk in case the client state somehow got out of sync.
If c nor w decrypts correctly the server could return a specific response which triggers a fall-back to a SSL update protocol.
The server need not use the same ss[x] for every c' it hands out. And different servers could use different ss[x] as long as all servers in the server pool know all ss[] in circulation. Note there is no real security benefit to doing this.
An attacker could try to DoS the update servers by triggering the expensive RSAdecrypt for many requests in parallel. When under attack, the servers could throttle or reject requests that do not offer valid c and cp. Note validating c and cp requires knowledge of ss[].
Whenever a cookie (c or c') is sent over the wire, the sender includes it in the cryptographic proof along with it (cp or sp). An intermediary stuffing or removing a cookie on the wire will not achieve anything beyond failing of the proofs. The client will not store a cookie that the server did not intend to be associated with the shared secret.
The hash of the request (req) is carried through the cryptographic proofs. Results from requests for resource A cannot be mistaken for results for requests for resource B.
RSAdecrypt takes about 3 msec on a single 32-bit core. Less than half that on a 64-bit core in 64-bit mode. All other primitives (SYMdecrypt, SYMsign) take orders of magnitude less time. RSAencrypt happens on the client but is a lot less computationally intensive to start with. Probably less than 0.1 msec.


An artist of her time
by Diana NocheMost museums are intimidating and do not appear genuinely welcoming, but one look at Nini Andrada Sacro’s murals and all eyes promenade with pleasure.
It’s the perfection of her compositions, the rich colors, and the advocacy behind all the artful efforts that achieve the kind of community sodality many museums and artists can only dream about.
Sacro did the mural across the Makati Medical Center under a commission from the Makati Commercial Estate Association. When she said yes to the offer, she had only one thing in mind: she would do it for the benefit of the country’s remote mountain communities.
While Sacro was immersed in the mural project, nurses and patients from the third floor of the hospital who wanted a share of the high spirits they saw in her while painting came down the next day and invited themselves into the project.
Other people and street children in the area took it to themselves and picked up paintbrushes too, and pledged to keep an eye on their artwork for possible vandals.
Recently, the same spirit of creativity and community goodwill was seen at Circuit Makati.
The Ayalas of Makati—delighted at the people’s response to the mural across the Makati Medical Center—asked Sacro to enliven the otherwise inanimate Circuit Makati wall along the Symphony Drive with another cultural presence.
As expected, the second mural project drew a bigger crowd, with donations of school supplies from teen artists, dabblers in a variety of age; and kids grasping their first paintbrush, weaning themselves from the usual crayons and coloring books, to find out about everything from team building to some instinctive bits of art lessons.
Sacro has, to good purpose, put her mural across like the heart-melting pleasure of children doing exactly what pleases them. Her doodles have successfully enlivened the walls. The floral motifs, repeated like a beautiful pattern of a gift wrapper, march across the wall surfaces like magic.
She has created a new aesthetic, the spirit of today’s popular modern art, out of her own fears and a variety of other distractions (she herself is a cancer survivor).
The Circuit Makati mural is riotous with glowing colors, loose and light, playful, romantic but not sugary, feel-good, and runs free as a child’s imagination that brings a happy relaxation and gaiety into each panel.
There are no grotesqueries, no images teetering to politics and social commentaries; just a happy zone of warmth created from a handful of elements with terrific output down to the smallest detail.
Good things happen when they come from the spot deep inside us. Money isn’t always the inducement. It’s mostly about listening to the heart. Sacro’s murals look like a promise of a future for a new echo signal for street art.
Photos by Diana B. Noche


Computes and displays complex tables of summary statistics. Output may be in LaTeX, HTML, plain text, or an R matrix for further processing.
| Version: | 0.8.7 |
| Depends: | R (≥ 2.12.0), Hmisc |
| Imports: | stats, utils, knitr |
| Suggests: | magrittr, kableExtra (≥ 0.9.0) |
| Published: | 2018-11-11 |
| Author: | Duncan Murdoch |
| Maintainer: | Duncan Murdoch <murdoch at stats.uwo.ca> |
| BugReports: | https://r-forge.r-project.org/tracker/?atid=5053&group_id=1277 |
| License: | GPL-2 |
| URL: | https://r-forge.r-project.org/projects/tables/ |
| NeedsCompilation: | no |
| Materials: | NEWS |
| In views: | ReproducibleResearch |
| CRAN checks: | tables results |
| Reference manual: | tables.pdf |
| Vignettes: |
HTML Tables About the tables package |
| Package source: | tables_0.8.7.tar.gz |
| Windows binaries: | r-devel: tables_0.8.7.zip, r-release: tables_0.8.7.zip, r-oldrel: tables_0.8.7.zip |
| OS X binaries: | r-release: tables_0.8.7.tgz, r-oldrel: tables_0.8.7.tgz |
| Old sources: | tables archive |
| Reverse depends: | uplift |
| Reverse imports: | CrossScreening, MRCV |
| Reverse suggests: | Hmisc, pander, rockchalk |
Please use the canonical form https://CRAN.R-project.org/package=tables to link to this page.


QC Module¶
It is recommended that input data be processed using the quality control (QC) module to check for data quality and potential issues prior to using the MHKiT Wave, River, and Tidal modules. Quality control analysis often includes steps to ensure that data are not missing, corrupt, or outside of the expected range. Additional analysis can include checking for stagnant readings, unusual abrupt changes, or outliers. If data does not meet specified requirements, the data points that did not pass inspection should be removed or replaced by various means (interpolation, data from a duplicate sensor, values from a model) before using the data for analysis.
The QC module contains a set of functions for basic quality control analysis. These functions are imported from Pecos, an open-source Python package designed for quality control analysis of time-series data. Pecos was originally developed to monitor solar photovoltaic systems but is designed to be used for a wide range of applications.
The following quality control functionality is available in MHKiT:
Check time series for missing, non-monotonic and duplicate time stamps
Check for missing data
Check for corrupt data
Check for data that are outside the expected range
Check for stagnant data and/or abrupt changes in the data using the difference between max and min values (delta) within a rolling window
Check for outliers using normalized data within a rolling window
Additional functionality, including graphics and reports, can be included in quality control analysis by using Pecos directly.
Each function returns the following information:
Cleaned data (data that failed a test are replaced by NaN)
Boolean mask (indicates if data failed a test)
Summary of the quality control test results
The clean data can be used directly in MHKiT analysis, or the missing values can be replaced using various methods. Data replacement strategies are generally defined on a case-by-case basis. If large sections of the data failed quality control tests, the data might not be suitable for use. Replacement strategies can be applied to the entire data set, or vary by data column or by time. Possible strategies include:
Replacing missing data using linear interpolation or other polynomial approximations
Replacing missing data using a rolling mean of the data
Replacing missing data with data from a previous period (previous day, hour, etc.)
Replacing missing data with data from a redundant sensor
Replacing missing data with values from a model
These strategies can be accomplished using the Pandas methods interpolate
, replace
, and fillna
.
See Pandas documentation for more details.
Note, that the quality control functions require that the data have a datatime index. Other functionality in MHKiT can use data that has datatime or numeric indexes. The Utils Module can be used to convert numeric indexes to datetime indexes.
See MHKiT-Python or MHKiT-MATLAB for more details on the QC module.


XAMPP is a completely free, easy to install Apache distribution containing MariaDB, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to use.
Hi Apache Friends!
We just released new versions of XAMPP for all platforms with PHP 7.3.1, 7.2.14, 7.1.26 and 5.6.40. PHP 7.0 is not supported anymore so we also dropped support for this branch.
...Read more »Apache Friends is a non-profit project to promote the Apache web server and is home to the XAMPP project. XAMPP is an easy to install Apache distribution containing MariaDB, PHP, and Perl. Read more »
XAMPP has been around for more than 10 years – there is a huge community behind it. You can get involved by joining our Forums, adding yourself to the Mailing List, and liking us on Facebook, following our exploits on Twitter, or adding us to your Google+ circles.
Loading discussions…


<% _.each(fuels, function(fuel) { %>
<% if (fuels.length >= 1) {%><% if (fuel.emissions.isValid) { %>
<%= fuel.emissions.pct %>%<% } else { %>
n/a<% } %> <% } else { %>
The <%= building_name %> consumed <%= totals.usage %> kBtu's of energy in <%= year %>, which equates to <%= totals.emissions %> metric tons of CO2E is the equivalent of <%= cars %> passenger vehicles driven for one year.
<% } %>
<% }); %>
<% if(totals.emissions > 0) { %>
<%= totals.emissions %> metric tons of CO2E is the equivalent of <%= cars %> passenger vehicles driven for one year.
<% } else { %>
<% } %>
The emissions values reported here use custom emissions factors provided by Seattle City Light and Enwave for electricity and steam, respectively. Natural gas calculations use a standard emissions factor from Portfolio Manager. Seattle City Light (SCL) secures carbon offsets equal to the greenhouse gas emissions resulting from all aspects of SCL’s operations, including those created by the generation of electricity the utility buys, employees’ travel, and the trucks and other equipment used in its operations.


Neutrino is a highly accurate fluid solver, currently used simulate coastal inundation and flooding scenarios but extensible to support various fluid dynamic flows.
Neutrino is developed independently by Neutrino Dynamics Initiative. It is composed of a group of diverse scientific research team distributed around the world. Its currently used by research organizations, academia, various industries and features a full-featured simulation and visualization environment for the most demanding tasks and problems. Neutrino has proven its versatility and efficiency in many diverse sectors, including energy research, environmental sciences , nuclear engineering and risk analysis.


Essay : Extending BDD stories ; the "Given I did" clause - including flow in user stories
Introduction
In this essay I am going to reflect my personal ideas and opinions on the DSL syntax used for BDD, and I will propose a new concept for the common BDD language.
I am going to show you how I really grasped what I was doing wrong with my stories, and how the syntax should be extended in order to contain extra flow information in a really easy way.
This new concept adds extra conceptual information to the stories, and also reduces the work the developer has to do to implement the DSL.
Enjoy !
In the beginning, there was nothing !!!
I got started on this idea while I was replying to an email about the limitations of current BDD stories. Since my conversation partner said he had some issues on the current BDD syntax used, I asked him wether he could clarify on the issues.
While I was replying to the response he sent, I was trying to explain my thoughts by giving an example :
As a customer
I want to place orders
So that I can get the products where and when I want them
Scenario Place an order
When I want to place an order
Then I should be able to select products in a catalog
Scenario Order products
Given I have selected on or more products in a catalog
When I add it to my shopping cart
Then the shopping cart should contain the selected product
Scenario Modify a product in the shopping cart
Given I have some products in my shopping cart
When I edit a product order
Then the edited product order should have changed
Eureka !!
This was the moment I noticed that something was wrong. Let us take a good look at the last Scenario : “Modify a product in the shopping cart” . What is wrong with it, one might ask ? While I was writing this story I was thinking the following :
- What if the shopping cart is empty ?
- Hmmz I don’t know, I suppose we need another scenario for that
- Another scenario for what ?
- We define two scenarios : one for a shopping carts with products in it, and one for the case where it’s empty, and we add “Given the shopping cart is (not) empty”
- But hey, why ? I’m not interested in the “Modify the shopping cart if the shopping cart is empty” because it is just litter, it doesn’t really add to the conceptual story.
- Yeah, but as a developer I need to know what to do if it is empty and you try to modify it.
 Ok, maybe you need to say that it is not possible, but it adds no conceptual info at all to the story !!
- Oh, you mean that it is actually some extra information on the scenario; the “shopping cart is not empty” is not just a given for this example; it is a requirement ???
- Yes, it’s not a given, it is a requirement that should say that this story is only valid in this particular case
- Hmmz interesting concept, let’s try :
Scenario Modify a product in the shopping cart
If I have some products in my shopping cart
When I edit an ordered product
Then the edited product should have changed
- Whoa ! that looks nice; If we have this scenario, we do not need an extra scenario for the empty shopping cart
- But wait, we could also say it like this
Scenario Modify a product in the shopping cart
Given I have some products in my shopping cart
When I edit an ordered product
Then the edited product should have changed
- What is the difference ?
- Well, it is really a conceptual thing; I’ll try to think about another example
Scenario Place the order
If I have identified myself as a valid customer
When I edit an ordered product
Then the edited product should have changed
- Hmmz something is wrong with it ?
- What ?
Eureka : Part deux
- EUREKA !!!
- What ? Again ???
- I found it ; the “If” clause is actually describing something you did previously.
- In the example the “If I have identified myself as a valid customer” actually means we should have some kind of a scenario called “Identify myself as a valid customer”
- Oh, you are describing the flow here ?
- Yups, that is it; it is extra information you are providing….
- Wow, that is interesting !!
- But, I see a small problem; the name of the scenario does not match the “If “clause
- …. let’s see…. AHA !!
- Yes ?
- Here is the example :
Scenario Identify myself as a valid customer
Given I have some valid id method
When I identify myself
Then it should state me as a valid customer
Scenario Place the order
Given I did identify myself as a valid customer
And I did order products
When place the order
Then order should be confirmed
Scenario Order products
Given I did select one or more products in a catalog
When I add it to my shopping cart
Then the shopping cart should contain the selected product
- Whoa, that looks nice ! So what you are actually doing is extending the story the whole time ?
- Yes, that’s it.
- So we are gradually replacing all the “Given"s by the “Given I did” and thus including extra flow in the context ?
- Yes !! And in theory we could go all the way until we get to the very bottom of every single implemented line of code…
- Man ! So the developer only has to implement the “Given"s , and not the “Given I did” ?
- Yups !!
- That should save a lot of work !! nice !!
In conclusion
Using the “Given I did” clause, we can include extra conceptual information in the BDD stories; the stories become tighter, but they contain even more information then before.
By analyzing the “Given I did” specs, one can deduct the flow an application should allow. In the example stated above, the option of ordering with an empty shopping cart should not be available since it is not mentioned in the stories; the developer should only allow state transitions mentioned in the stories….
I truly think that we have something new here, and hope that this essay is a viable contribution to the BDD community on it’s own !!
Kind Regards,
Tom Janssens
PS : I’m not really schizophrenic; I was just looking for a way to reflect my thaughts ;)
Appendix A : a working example story :
Context Be.Corebvba.Aubergine.Examples.Accounts.Contexts.AccountContext
ContextDLL Be.Corebvba.Aubergine.Examples.DLL
Story Transfer money between accounts
As a user
I want to transfer money between accounts
So that I can have real use for my money
Given the balance of AccountA is 3m
Given the balance of AccountB is 2m
Given the owner of AccountA is the current user
Scenario Authenticate the current user as a 'valid or invalid' user
Given the name of the current user is 'username'
And the password of the current user is 'password'
When I request authentication for the current user
Then the process should 'fail or succeed'
Example
+--------------------+------------+------------+------------------+
| 'valid or invalid' | 'username' | 'password' | 'fail or succeed'|
+--------------------+------------+------------+------------------+
| valid | Neo | Red pill | succeed |
| invalid | Neo | Blue pill | fail |
+--------------------+------------+------------+------------------+
Scenario Authenticate the current user for 'an account'
Given I did authenticate the current user as a valid user
When I request authentication for 'an account' with the current user
Then the process should 'fail or succeed'
Example accounts :
+--------------+-------------------+
| 'an account' | 'fail or succeed' |
+--------------+-------------------+
| AccountA | succeed |
| AccountB | fail |
+--------------+-------------------+
Scenario Transfer AAm between 2 accounts
Given I did authenticate the current user for AccountA
When I transfer AAm from AccountA to AccountB with the current user
Then the balance of AccountA should be BBm
Then the balance of AccountB should be CCm
Then the process should 'fail or succeed'
Example for the transfer
+----+----+----+-------------------+
| AA | BB | CC | 'fail or succeed' |
+----+----+----+-------------------+
| 1 | 2 | 3 | succeed |
| 2 | 1 | 4 | succeed |
| 3 | 0 | 5 | succeed |
| 4 | 3 | 2 | fail |
+----+----+----+-------------------+
### Appendix B : the resulting output of my runner:
Aubergine Console Runner - Core bvba - Tom Janssens 2009
Processing file(s) : accounts\stories\*.txt
Processing file : C:\Projecten\Be.Corebvba.Aubergine\Be.Corebvba.Aubergine.ConsoleRunner\bin\Debug\accounts\stories\Transfer_money_between_accounts.txt
Story Transfer money between accounts =>OK
Given the balance of AccountA is 3m =>OK
Given the balance of AccountB is 2m =>OK
Given the owner of AccountA is the current user =>OK
Scenario Authenticate the current user as a valid user =>OK
Given the name of the current user is Neo =>OK
Given the password of the current user is Red pill =>OK
When I request authentication for the current user =>OK
Then the process should succeed =>OK
Scenario Authenticate the current user as a invalid user =>OK
Given the name of the current user is Neo =>OK
Given the password of the current user is Blue pill =>OK
When I request authentication for the current user =>OK
Then the process should fail =>OK
Scenario Authenticate the current user for AccountA =>OK
Given I did authenticate the current user as a valid user =>OK
When I request authentication for AccountA with the current user =>OK
Then the process should succeed =>OK
Scenario Authenticate the current user for AccountB =>OK
Given I did authenticate the current user as a valid user =>OK
When I request authentication for AccountB with the current user =>OK
Then the process should fail =>OK
Scenario Transfer 1m between 2 accounts =>OK
Given I did authenticate the current user for AccountA =>OK
When I transfer 1m from AccountA to AccountB with the current user =>OK
Then the balance of AccountA should be 2m =>OK
Then the balance of AccountB should be 3m =>OK
Then the process should succeed =>OK
Scenario Transfer 2m between 2 accounts =>OK
Given I did authenticate the current user for AccountA =>OK
When I transfer 2m from AccountA to AccountB with the current user =>OK
Then the balance of AccountA should be 1m =>OK
Then the balance of AccountB should be 4m =>OK
Then the process should succeed =>OK
Scenario Transfer 3m between 2 accounts =>OK
Given I did authenticate the current user for AccountA =>OK
When I transfer 3m from AccountA to AccountB with the current user =>OK
Then the balance of AccountA should be 0m =>OK
Then the balance of AccountB should be 5m =>OK
Then the process should succeed =>OK
Scenario Transfer 4m between 2 accounts =>OK
Given I did authenticate the current user for AccountA =>OK
When I transfer 4m from AccountA to AccountB with the current user =>OK
Then the balance of AccountA should be 3m =>OK
Then the balance of AccountB should be 2m =>OK
Then the process should fail =>OK
Appendix C : The context + DSL
internal class
AccountContext
{
public User currentUser = new User();
public Account AccountA = new Account();
public Account AccountB = new Account();
public AccountService AccountService = new AccountService();
public ProcessStatus LastStatus;
[DSL(@"the (?<member>.+) of (?<instance>.+) is (?<value>.+)")]
void assignfield(object instance,string member,object value)
{
instance.Set(member, value);
}
[DSL(@"the (?<member>.+) of (?<instance>.+) should be (?<value>.*)")]
bool shouldbefield(object instance, string member, object value)
{
var obj = instance.Get<object>(member);
return Convert.ChangeType(value, obj.GetType()).Equals(obj);
}
[DSL(@"I request authentication for (?<user>.+)")]
void authenticate_for_account_x(User user)
{
LastStatus = AccountService.AuthenticateUser(user);
}
[DSL(@"I request authentication for (?<account>.+) with (?<user>.+)")]
void authenticate_for_account_x(User user, Account account)
{
LastStatus = AccountService.AuthenticateUserForAccount(account,user);
}
[DSL(@"I transfer (?<amount>.+) from (?<from>.+) to (?<to>.+) with (?<user>.+)")]
void transfering_xm_from_a_to_b(decimal amount, Account from, Account to,User user)
{
LastStatus = AccountService.Transfer(user,amount, from,to);
}
[DSL]
bool The_process_should_fail()
{
return LastStatus.Success == false;
}
[DSL]
bool The_process_should_succeed()
{
return LastStatus.Success == true;
}
[DSL("(?<name>Account[AB])")]
Account getaccountAB(string name)
{
return this.Get<Account>(name);
}
[DSL(@"(?<amount>\d+)(?<ismillion>m?)")]
decimal getmillion(decimal amount,string ismillon)
{
return amount*(ismillon=="m"?1m:1);
}
[DSL]
User the_current_user()
{
return currentUser;
}
}


|
Please do not reply to this email. This is an automatically generated message. You can unsubscribe here if you do not want to receive these notifications anymore.
|
|
Meetville LP
Suite 4205 Mitchell House, 5 Mitchell Street, Edinburgh, Scotland, EH6 7BD
Privacy Policy | Terms & Conditions | Safety Guide
|
|
|
|
|


Inside The Brassmill The pub has reopened in Keynsham 17 Nov 2019, 14:57 by Zosia Eyres Inside the pub The Brassmill has been refurbished The pub is in Keynsham It has a new patio The Brassmill team


---
layout: page
title: "About"
description: "..."
active: about
header-img: "img/lee_wiggle.jpg"
---
Too brute to be fine too shrewd to be naïve
An outsider's outsider, Schnaiberg's first art teacher was his grandfather, who studied with Arthur Lismer then built an Art Brut collage 'salon' for over 20 years...
After seventeen semesters in art-school [kicked out of some, quit some] Lee finally recieved a BFA. Spent a decade VJing (Orbital, Aphex Twin, Tsuyoshi Suzuki, the live AV band Technopest and GodSpeed You! Black Emperor) and making experimental documentaries about climate-change solutions, which led into a decade and a half making eco-capital sculptures using capital as the primary medium.
Since 2012 Lee has returned to the picture-plane both with his TSIB The Space In Between multimedia series, and his new abstract-expressionist and post-impressionist cellphone pantings.
Lee has won awards for his paintings (Laureat du Quebec; CollegeArt '86), videos (Canadian Student Film Festival), and climate movies (EarthVision'98 in Santa Cruz). The Space In Between has recently been written about in Tripping on nothing: placebo psychedelics and contextual factors (published in Springer Nature 2020) where they imply his paintings make people as high as if they ate mushrooms.
Website powered by Jekyll.


{% extends "calls/organizing_hub_calls.html" %} {% load bootstrap3 calls_tags django_bootstrap_breadcrumbs organizing_hub_tags %} {% block page_title %}Our Revolution - {{ call_campaign.title }}{% endblock %} {% block breadcrumbs %} {{ block.super }} {% breadcrumb call_campaign.title "organizing-hub-call" call_campaign.uuid %} {% endblock %} {% block content_pre_heading %} {% if call_campaign.is_in_progress %} {% endif %} {{ call_campaign.get_status_display }} Campaign {% endblock %} {% block content_heading %}{{ call_campaign.title }}{% endblock %} {% block content %} {{ block.super }}
Need help? Consult our documentation on calling here.
{% if can_manage_campaign %} {{ call_campaign.calls_made_count }} of {{ call_campaign.contacts_total_count }} contacts called. {% else %} {% calls_made_count call_campaign user.callprofile %} contacts called. {% endif %}


Sign in
Use your Google Account
Email or phone
Forgot Email?
Not your computer? Use Guest mode to sign in privately.
Learn more
Create account
Next


|
Contiki 2.5
|
00001 /* Copyright (c) 2008, Swedish Institute of Computer Science 00002 * All rights reserved. 00003 * 00004 * Additional fixes for AVR contributed by: 00005 * 00006 * Colin O'Flynn<EMAIL_ADDRESS>00007 * Eric Gnoske<EMAIL_ADDRESS>00008 * Blake Leverett<EMAIL_ADDRESS>00009 * Mike Vidales<EMAIL_ADDRESS>00010 * Kevin Brown<EMAIL_ADDRESS>00011 * Nate Bohlmann<EMAIL_ADDRESS>00012 * 00013 * All rights reserved. 00014 * 00015 * Redistribution and use in source and binary forms, with or without 00016 * modification, are permitted provided that the following conditions are met: 00017 * 00018 * * Redistributions of source code must retain the above copyright 00019 * notice, this list of conditions and the following disclaimer. 00020 * * Redistributions in binary form must reproduce the above copyright 00021 * notice, this list of conditions and the following disclaimer in 00022 * the documentation and/or other materials provided with the 00023 * distribution. 00024 * * Neither the name of the copyright holders nor the names of 00025 * contributors may be used to endorse or promote products derived 00026 * from this software without specific prior written permission. 00027 * 00028 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00029 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00030 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00031 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 00032 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00033 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00034 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00035 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00036 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00037 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00038 * POSSIBILITY OF SUCH DAMAGE. 00039 **/ 00040 /** 00041 * \addtogroup wireless 00042 * @{ 00043 */ 00044 /** 00045 * \defgroup rf230mac RF230 MAC 00046 * @{ 00047 */ 00048 /** 00049 * \file 00050 * \brief The IEEE 802.15.4 (2003/2006) MAC utility functions. 00051 * 00052 */ 00053 00054 /** 00055 * \author 00056 * Eric Gnoske<EMAIL_ADDRESS>00057 * Blake Leverett<EMAIL_ADDRESS>00058 * Mike Vidales<EMAIL_ADDRESS>00059 * Colin O'Flynn<EMAIL_ADDRESS>00060 * 00061 */ 00062 00063 /* Includes */ 00064 00065 #include <stdlib.h> 00066 #include <string.h> 00067 #include "zmac.h" 00068 #include "radio.h" 00069 #include "hal.h" 00070 #include "tcpip.h" 00071 #include "uip.h" 00072 #include "sicslowpan.h" 00073 #include "sicslowmac.h" 00074 00075 /* Globals */ 00076 /** \brief Interface structure for this module */ 00077 ieee_15_4_manager_t ieee15_4ManagerAddress; 00078 00079 //dataRequest_t dataRequestStructAddress; 00080 00081 /* Macros & Defines */ 00082 00083 uint8_t msduHandle; 00084 bool iAmCoord; 00085 bool autoModes; 00086 00087 00088 /** \brief The RF channel to use for all following transmissions and 00089 * receptions (see 6.1.2). Allowable values are 0-26 00090 */ 00091 uint8_t phyCurrentChannel; 00092 00093 /** \brief The 64-bit address of the coordinator/router through which 00094 * the network layer wishes to communicate. 00095 */ 00096 uint64_t macCoordExtendedAddress; 00097 00098 /** \brief The 16-bit short address assigned to the coordinator 00099 * through which the network layer wishes to communicate. A value 00100 * of 0xfffe indicates th the coordinator is only using it's 64-bit 00101 * extended address. A value of 0xffff indicates that this value is 00102 * unknown. The default value is 0xfff. 00103 */ 00104 uint16_t macCoordShortAddress; 00105 00106 /** \brief This address is the 64-bit address that will be used as 00107 * the mechanism to provide a destination to the upper layers. The 00108 * default value is 0xfff. 00109 */ 00110 uint64_t macDestAddress; 00111 00112 /** \brief The sequence number (0x00 - 0xff) added to the transmitted 00113 * data or MAC command frame. The default is a random value within 00114 * the range. 00115 */ 00116 uint8_t macDSN; 00117 00118 /** \brief The 16-bit identifier of the PAN on which the device is 00119 * sending to. If this value is 0xffff, the device is not 00120 * associated. The default value is 0xffff. 00121 */ 00122 uint16_t macDstPANId; 00123 00124 /** \brief The 16-bit identifier of the PAN on which the device is 00125 * operating. If this value is 0xffff, the device is not 00126 * associated. The default value is 0xffff. 00127 */ 00128 uint16_t macSrcPANId; 00129 00130 /** \brief The 16-bit address that the device uses to communicate in 00131 * the PAN. If the device is the PAN coordinator, this value shall 00132 * be chosen before a PAN is started. Otherwise, the address is 00133 * allocated by a coordinator during association. A value of 0xfffe 00134 * indicates that the device has associated but has not been 00135 * allocated an address. A value of 0xffff indicates that the 00136 * device does not have a short address. The default value is 00137 * 0xffff. 00138 */ 00139 uint16_t macShortAddress; 00140 00141 00142 /** \brief Our own long address. This needs to be read from EEPROM or 00143 * other secure memory storage. 00144 */ 00145 uint64_t macLongAddr; 00146 00147 /* Implementation */ 00148 00149 /** \brief Initializes the (quasi) 802.15.4 MAC. This function should 00150 * be called only once on startup. 00151 */ 00152 void 00153 mac_init(void) 00154 { 00155 volatile uint8_t buf[8]; 00156 00157 sicslowmac_resetRequest(true); 00158 00159 /* Set up the radio for auto mode operation. */ 00160 hal_subregister_write( SR_MAX_FRAME_RETRIES, 2 ); 00161 00162 /* Need to laod PANID for auto modes */ 00163 radio_set_pan_id(DEST_PAN_ID); 00164 00165 /* Buffer the uint64_t address for easy loading and debug. */ 00166 /** \todo Find a better location to load the IEEE address. */ 00167 buf[0] = macLongAddr & 0xFF; 00168 buf[1] = (macLongAddr >> 8) & 0xFF; 00169 buf[2] = (macLongAddr >> 16) & 0xFF; 00170 buf[3] = (macLongAddr >> 24) & 0xFF; 00171 buf[4] = (macLongAddr >> 32) & 0xFF; 00172 buf[5] = (macLongAddr >> 40) & 0xFF; 00173 buf[6] = (macLongAddr >> 48) & 0xFF; 00174 buf[7] = (macLongAddr >> 56) & 0xFF; 00175 /* Load the long address into the radio. This is required for auto mode */ 00176 /* operation. */ 00177 radio_set_extended_address((uint8_t *)&macLongAddr); 00178 00179 srand(1234 ); 00180 msduHandle = rand(); 00181 00182 /* Ping6 debug */ 00183 memcpy(uip_lladdr.addr, &macLongAddr, 8); 00184 00185 /* Convert expected byte order */ 00186 byte_reverse((uint8_t *)uip_lladdr.addr, 8); 00187 } 00188 00189 00190 /** @} */ 00191 /** @} */


Main Diagram
  >
New Untitled Diagram
Notes
Add some notes about your changes here.
Save Changes
Cancel


| goog.date.DateRange |
|
startDate
:
The start date of the range.
|
|
endDate
:
The end date of the range.
|
|
Returns the range that includes all days between January 1, 1900 and
December 31, 9999.
Arguments:
Returns:
The range that includes all days between January 1, 1900 and December 31, 9999.
|
code » | |||
|
Calculates the Monday before a date. If the input is a Monday, returns the
input. Does not modify its input.
Arguments:
Returns:
If |date| is a Monday, return |date|; otherwise return the Monday before |date|.
|
code » | |||
|
Tests two goog.date.DateRange objects for equality.
Arguments:
Returns:
Whether |a| is the same range as |b|.
|
code » | |||
|
Returns the range that includes the seven days that end yesterday.
Arguments:
Returns:
The range that includes the seven days that end yesterday.
|
code » | |||
|
Returns the range that starts seven days before the Monday on or before
today and ends the Friday before today.
Arguments:
Returns:
The range that starts seven days before the Monday on or before today and ends the Friday before today.
|
code » | |||
|
Returns the range that starts the first of last month and ends the last day
of last month.
Arguments:
Returns:
The range that starts the first of last month and ends the last day of last month.
|
code » | |||
|
Returns the range that starts seven days before the Monday on or before
today and ends the Sunday on or before yesterday.
Arguments:
Returns:
The range that starts seven days before the Monday on or before today and ends the Sunday on or before yesterday.
|
code » | |||
|
Calculates a date that is a number of days after a date. Does not modify its
input.
Returns:
The date that is |offset| days after |date|.
|
code » | |||
|
Calculates a date that is a number of months after the first day in the
month that contains its input. Does not modify its input.
Returns:
The date that is |offset| months after the first day in the month that contains |date|.
|
code » | |||
|
No description.
Arguments:
Returns:
The date range that corresponds to that key.
|
code » | |||
|
Returns the range from today to today.
Arguments:
Returns:
The range that includes only today.
|
code » | |||
|
Returns the range from yesterday to yesterday.
Arguments:
Returns:
The range that includes only yesterday.
|
code » |