Gecode::Set::Branch Namespace Reference
Set branchings More...
Classes | |
| class | ValMin |
| Class for selecting minimum value. More... | |
| class | ValMed |
| Class for selecting median value (rounding downwards). More... | |
| class | ValMax |
| Class for selecting maximum value. More... | |
| class | ValRnd |
| Class for random value selection. More... | |
| class | AssignValMin |
| Class for assigning minimum value. More... | |
| class | AssignValMed |
| Class for assigning median value (rounding downwards). More... | |
| class | AssignValMax |
| Class for assigning maximum value. More... | |
| class | AssignValRnd |
| Class for assigning random value. More... | |
| class | ByMinMin |
| View selection class for view with smallest minimum element in lub-glb. More... | |
| class | ByMinMax |
| View selection class for view with largest minimum element in lub-glb. More... | |
| class | ByMaxMin |
| View selection class for view with smallest maximal element in lub-glb. More... | |
| class | ByMaxMax |
| View selection class for view with largest maximal element in lub-glb. More... | |
| class | BySizeMin |
| View selection class for view with smallest cardinality of lub-glb. More... | |
| class | BySizeMax |
| View selection class for view with largest cardinality of lub-glb. More... | |
| class | BySizeDegreeMin |
| View selection class for view with smallest cardinality of lub-glb divided by degree. More... | |
| class | BySizeDegreeMax |
| View selection class for view with largest cardinality of lub-glb divided by degree. More... | |
| class | BySizeAfcMin |
| View selection class for view with smallest cardinality of lub-glb divided by accumulated failure count. More... | |
| class | BySizeAfcMax |
| View selection class for view with largest cardinality of lub-glb divided by accumulated failure count. More... | |
Functions | |
| template<class SelView > | |
| void | post (Space &home, ViewArray< SetView > &x, SelView &v, SetValBranch vals, const ValBranchOptions &o_vals, BranchFilter bf) |
| Post brancher according to v and vals. | |
| void | virtualize (Gecode::Home home, SetVarBranch vars, const Gecode::VarBranchOptions &o_vars, Gecode::ViewSelVirtualBase< SetView > *&v) |
| Create virtual view selector for tie-breaking. |
Detailed Description
Set branchings
Function Documentation
template<class SelView >
| void Gecode::Set::Branch::post | ( | Space & | home, | |
| ViewArray< SetView > & | x, | |||
| SelView & | v, | |||
| SetValBranch | vals, | |||
| const ValBranchOptions & | o_vals, | |||
| BranchFilter | bf | |||
| ) | [inline] |
Post brancher according to v and vals.
Definition at line 49 of file post-val.hpp.
| void Gecode::Set::Branch::virtualize | ( | Gecode::Home | home, | |
| SetVarBranch | vars, | |||
| const Gecode::VarBranchOptions & | o_vars, | |||
| Gecode::ViewSelVirtualBase< SetView > *& | v | |||
| ) |
Create virtual view selector for tie-breaking.
Definition at line 47 of file post-view.cpp.


|
G24Lib
A set of convenient classes, functions and other utilities mainly for quickly writing numerical code. Provides relatively easy integration with CUDA, general Runge-Kutta methods, linear equation solvers and more.
|
A custom implementation of exceptions to allow for interoperatability with CUDA
.
More...
Go to the source code of this file.
Classes | |
| struct | g24_lib::exceptions::array_length_misread |
| Exception thrown when an input operation cannot determine the array size. More... | |
| struct | g24_lib::exceptions::base_exception |
| The class that serves as a base to all other exceptions. More... | |
| struct | g24_lib::exceptions::input_error |
| Exception thrown when an error is encountered during input. More... | |
| struct | g24_lib::exceptions::memory_manager_error |
| Exception thrown when an error is encountered during memory management (allocation or deallocation). More... | |
| struct | g24_lib::exceptions::out_of_bounds_access |
| Exception thrown when a bounds checking operation tries to access unallocated memory. More... | |
| struct | g24_lib::exceptions::output_error |
| Exception thrown when an error is encountered during output. More... | |
| struct | g24_lib::exceptions::undefined_derivative |
| Exception thrown when trying to take a derivative that's not (yet) supported by the library. More... | |
| struct | g24_lib::exceptions::undefined_dimensions |
| Exception thrown when some error or incompatilibity is detected in the dimensions of some object. More... | |
| struct | g24_lib::exceptions::undefined_operation |
| Exception thrown when trying to calculate a mathematically invalid expression, such as a cross product in two dimensions. More... | |
Namespaces | |
| g24_lib | |
| The namespace where all the library resides. | |
| g24_lib::exceptions | |
Holds our custom exception objects to allow for interoperatability with CUDA . | |
Functions | |
| CUDA_HOS_DEV void | g24_lib::exceptions::simple_copy (char *dest, const char *origin, const g24_lib::Definitions::default_unsigned_indexer num) |
| A simple implementation of a strncpy-like function, with automatic null-termination at the end even if the original string is truncated. More... | |
| template<class Exception > | |
| CUDA_ONLY_HOS void | g24_lib::exceptions::throw_exception (const Exception &e) |
| Exception thrown when an error is encountered during input. More... | |
A custom implementation of exceptions to allow for interoperatability with CUDA
.
Definition in file exceptions.h.


Programme ‚Non-random Distributions‚ Graphic:
In logarithmic scale the ratio of the eigenvalues (λ3/λ1) is plotted against the number of data.
The fields ‚random‚ and ‚significant‚ are separated by curves for 99, 95, and 90% confidence.


Introduction #top
Welcome to Ness PHP Framework. Ness is an excellent but straightforward application development framework. Ness PHP Framework aims to help you in your coding process by speeding up development with ready to use libraries that require minimal configuration. The structure was developed based on the MVC architectural design. You can do all your database related operations with the model structure and create your views with the help of view You can associate the relationship between all these two by using the controller structure.
Purpose of Development #top
Ness PHP Framework started as a personal project(Previously; limeberry). Every software or programming language requires some effort to learn, and we are aiming to minimize this process in our framework. It is easy to learn and code a new project with Ness PHP, we recommend you to give it a try.
Who is it for? #top
In simple words; it is for you.
- It is lightweight.
- It is free to use.
- It is free(also easy) to extend or develop as your personal needs.
- Ness Framework uses mvc architecture.
- An easy to use template engine.
- Continuously Improving
Let's start learning and exploring the framework. In next topics you can find how to install and configure Ness PHP project.


| I l@ve RuBoard |
Almost all services use the Windows NT Event Log. It's quite common for services to load startup and shutdown events, and error conditions should always go to the Event Log.
We look first at the facilities provided by the servicemanager module for working with the Event Log. Then we will have another look at a couple of modules described previously in this chapter, win32evtlog and win32evtlogutil . We discussed how to use these modules to read the Event Log, so now let's look at how they can write to the Log.
As mentioned previously in this chapter, PythonService.exe hosts all Python programs running as services. Once this host .exe is running, it makes a module servicemanager available to the Python program. Because your Python scripts are used both by Python.exe (when installing, starting, or debugging the service) and by PythonService.exe (when running as a service), you can't import this module from the top level of your Python program; the import servicemanager statement will fail for Python.exe. In practice, this means you should only import this module locally to a function.
The primary purpose of servicemanager is to provide facilities for interacting with the SCM at runtime. Most of this interaction is done by the base class win32serviceutil.ServiceFramework(), so in general this is covered for you.
There are, however, some useful utility functions you may wish to use. Among these is a set of functions for writing to the Event Log. The most general purpose is the function LogMsg() , which takes the following parameters:
One of EVENTLOG_INFORMATION_TYPE, EVENTLOG_ERROR_TYPE, or EVENT-LOG_WARNING_TYPE. These constants can be found in servicemanager.
The message ID. This uniquely identifies the message text.
A list of string inserts for the message or None. The inserts are merged with the message text to provide the final result for the user.
There are three other Event Log-related functions in this module. LogInfoMsg() , LogErrorMsg() , and LogWarningMessage() . All take a single string parameter and write a generic message to the Event Log. These functions also provide an additional debugging facility. When debugging the service, these Event Log helpers write their output to the console window. This allows you to see the messages your application would log without needing to use the Event Log Viewer. When the service is running normally, these messages go to the log. We'll see this in action for our example.
The Event Log facilities of servicemanager use the name of the executable as the application name. This means that by default, the application name will be PythonService. The only way this can be changed is to take a copy of PythonService.exe and rename it to something of your liking (it's only around 20 KB!). Alternatively, you may wish to use the Event Log natively, as described later in this chapter.
Our host .exe also contains a number of messages related to starting and stopping the services. The servicemanager exposes the message ID of these through constants that include PYS_SERVICE_STARTING, PYS_SERVICE_STARTED, PYS_SERVICE_STOPPING, and PYS_SERVICE_STOPPED. These messages all have two inserts: the name of the service and an arbitrary message to be appended.
Finally we are ready to change our service to use the Event Log. We will change the service to write messages as it starts and stops, and also after each user has connected.
We add the code for the service starting message at the start of the service's SvcDoRun() method. A good place to add the service stopping message is just as this function returns.
The top of this function now looks like:
def SvcDoRun(self): # Log a "started" message to the event log. import servicemanager servicemanager.LogMsg( servicemanager.EVENTLOG_INFORMATION_TYPE, servicemanager.PYS_SERVICE_STARTED, (self._svc_name_, ''))
And the last lines are:
# Now log a "service stopped" message servicemanager.LogMsg( servicemanager.EVENTLOG_INFORMATION_TYPE, servicemanager.PYS_SERVICE_STOPPED, (self._svc_name_, ''))
Note that you import the servicemanager object at the start of the function. This is because, as described previously, it's provided by the host .exe so it can't be imported at the top level of the program. To write a message as the user disconnects, insert this code:
# Log a message to the event log indicating what we did. message = "Processed %d bytes for client connection" % len(data) servicemanager.LogInfoMsg(message)
Let's see our code in action. First, let's run this service in debug mode. From a command prompt, type:
C:\Scripts> PipeService2.py debug Debugging service PythonPipeService Info 0x40001002 - The PythonPipeService service has started.
Now make a client connection to the pipe. It's necessary to open a new command prompt, as the service is being debugged in the other one. From this new command prompt, type:
C:\Scripts> PipeServiceClient.py Hi there The service sent back: You sent me:Hi there
If you look at your service's window, you see the status message:
Info 0x400000FF - Processed 8 bytes for client connection
Finally, stop the service by pressing Ctrl-Break, and the service responds:
Stopping debug service. Info 0x40001004 - The PythonPipeService service has stopped.
As you can see, the service works as expected, and now you can run it as a real service. This forces the messages to the Event Log.
Start the service using any of the techniques described previously, then make a new client connection. If you check the Event Log Viewer, you see the messages at the top of the application log. Figure 18.2 shows the Event Log Viewer with the list of all events; Figure 18.3 shows the detail for the client connection message.
There will be cases where you need better facilities than those provided by the servicemanager module. The primary reason is that you will require your own set of messages, tailored for your application. In this scenario, you need the message compiler from Microsoft Visual C++ to create your own custom message texts and IDs.
The Event Log doesn't store the full text of each message in the log; instead, when the text is needed, it uses the ID of the message to look it up from a DLL or EXE file nominated by the application. This means you need to tell the Event Log where your messages are located.
Applications register with the Event Log by writing an entry to the Event Log's registry. If you open the registry editor, you can view all applications providing Event Log data by looking under the key KLM\SYSTEM\CurrentControlSet\Services\EventLog.
Fortunately, the win32evtlogutil module has a utility function for registering your application. As the registry is persistent, it's necessary to register your application only when it's installed; however, some applications choose to do this each time they start.
Any EXE or DLL can hold messages for the Event Log Viewer. The text for messages are typically created with a text editor, and the "message compiler" (supplied with Microsoft Visual C++) compiles them. When the application is linked, the compiled messages are inserted into the final executable. However, this doesn't help you use the Event Log from Python, so a number of the standard Win32 extension files have built-in generic messages for this purpose.
The files PythonService.exe, win32evtlog.pyd, and win32service.pyd each have a set of generic messages. Each file has nine messages for each of the classes Error, Informational, Warning, and Success.
To register with the Event Viewer, use the function win32evtlogutil.Add-SourceToRegistry().
win32evtlogutil.AddSourceToRegistry(ApplicationName, MessageDll, EventLogType= "Application")
The name of the application, as shown in the Event Log Viewer. This is an varbitrary name that need not match the name of the service.
The name of the DLL or EXE file that contains the messages.
The Event Log this application writes to. Valid values are Application (the default), System, or Security.
Now that we are registered with the Event Log, it's time to start logging some messages. As mentioned before, you call the win32evtlog and win32evtlogutil modules to help out.
To manually insert a message in the Event Log, use the function win32evtlog-util.ReportEvent() .
win32evtlogutil.ReportEvent(ApplicationName, EventID, EventCategory, EventType, Inserts=[], Data=None, SID=None)
The name of the application, as registered using the AddSourceTo-Registry() function.
The numeric ID of the event.
The event category, as defined by the message file.
The numeric event type. This indicates the message is an error, a warning, informational, etc.
A list of string inserts for the message. These inserts create the full text of the message and are inserted into the message text at the appropriate place holders.
The data for the message. This is raw binary data as a Python string and is displayed in hexadecimal by the Event Log Viewer.
A security identifier for the user this message relates to, if any.
Let's look at the long way we could add the startup and shutdown messages to our service. This should give you a reasonable idea of how you could implement your own custom messages in the Log.
If you use the table in Appendix B, you can see that PythonService.exe has messages specifically for this purpose: Informational Event IDs 1002 and 1004, respectively. The servicemanager module exposes these constants as PYS_SERVICE_STARTED and PYS_SERVICE_STOPPED. The table also indicates that this message requires two inserts: the first is the name of the service, and the second is arbitrary text you can append to the message. To log one of these messages, use the following code at the top of your SvcDoRun() method:
def SvcDoRun(self): # Log a "started" message to the event log. import servicemanager win32evtlogutil.ReportEvent( self._svc_name_, # Application name servicemanager.PYS_SERVICE_STARTED, # Event ID 0, # Event category win32evtlog.EVENTLOG_INFORMATION_TYPE, (self._svc_name_, "")) # The inserts
This assumes you have already called win32evtlogutil.Add-SourceToRegistry(), using the service name (as defined in _svc_name_) as the Event Log application name.
| I l@ve RuBoard |


Toronto Pearson Airport not fulfilling obligations to French-speaking passengers: Official Languages commissioner
by The Canadian Press Staff ContactMONTREAL -- Toronto Pearson Airport is not fulfilling its obligations to French-speaking passengers, the Office of the Commissioner of Official Languages has found.
The Commissioner said eight complaints it received between July 2017 and March 2018 about a lack of service in French are founded. In each case, airport staff were found to be unable to provide information or help to travellers at Pearson in French.
In one case, a French-speaking passenger had asked for help after their declaration card got stuck in a machine at border control. The passenger asked questions in French but only received answers in English.
In another case, a French-speaking passenger reported being confronted by a "visibly irritated" airport staffer who answered a French question "furiously in English."
Pearson Airport defended itself against the complaints saying that the employees should be in a position to answer inquiries in either official language, and that they are reminded of that fact on a daily basis.
But Official Languages commissioner Raymond Theberge found that the airport "failed in its obligation to provide services to travellers in both official languages, as required by law."
Theberge has give the airport 18 months to provide basic French training to airport staff who deal with the public.
This Canadian Press report was originally published Nov. 8.


Control your Solar System
Note:
Distances between bodies are a million smaller in order for everything to fit.
Show Trails?
Show Background?


Get insights that help your business grow.
Discover the benefits of data analytics and make better decisions regarding revenue, customer experience, and overall eficiency.
Discover the benefits of data analytics and make better decisions regarding revenue, customer experience, and overall eficiency.


|
M480 BSP V3.05.005
The Board Support Package for M480 Series
|
#include <i2c_reg.h>
Data Fields | |
| __IO uint32_t | CTL0 |
| __IO uint32_t | ADDR0 |
| __IO uint32_t | DAT |
| __I uint32_t | STATUS0 |
| __IO uint32_t | CLKDIV |
| __IO uint32_t | TOCTL |
| __IO uint32_t | ADDR1 |
| __IO uint32_t | ADDR2 |
| __IO uint32_t | ADDR3 |
| __IO uint32_t | ADDRMSK0 |
| __IO uint32_t | ADDRMSK1 |
| __IO uint32_t | ADDRMSK2 |
| __IO uint32_t | ADDRMSK3 |
| __IO uint32_t | WKCTL |
| __IO uint32_t | WKSTS |
| __IO uint32_t | CTL1 |
| __IO uint32_t | STATUS1 |
| __IO uint32_t | TMCTL |
| __IO uint32_t | BUSCTL |
| __IO uint32_t | BUSTCTL |
| __IO uint32_t | BUSSTS |
| __IO uint32_t | PKTSIZE |
| __I uint32_t | PKTCRC |
| __IO uint32_t | BUSTOUT |
| __IO uint32_t | CLKTOUT |
@addtogroup I2C Inter-IC Bus Controller(I2C) Memory Mapped Structure for I2C Controller
| I2C_T::ADDR0 |
[0x0004] I2C Slave Address Register0
| Bits | Field | Descriptions |
| [0] | GC | General Call Function
0 = General Call Function Disabled. 1 = General Call Function Enabled. |
| [10:1] | ADDR | I2C Address
The content of this register is irrelevant when I2C is in Master mode In the slave mode, the seven most significant bits must be loaded with the chip's own address The I2C hardware will react if either of the address is matched. Note: When software set 10'h000, the address can not be used. |
| I2C_T::ADDR1 |
[0x0018] I2C Slave Address Register1
| Bits | Field | Descriptions |
| [0] | GC | General Call Function
0 = General Call Function Disabled. 1 = General Call Function Enabled. |
| [10:1] | ADDR | I2C Address
The content of this register is irrelevant when I2C is in Master mode In the slave mode, the seven most significant bits must be loaded with the chip's own address The I2C hardware will react if either of the address is matched. Note: When software set 10'h000, the address can not be used. |
| I2C_T::ADDR2 |
[0x001c] I2C Slave Address Register2
| Bits | Field | Descriptions |
| [0] | GC | General Call Function
0 = General Call Function Disabled. 1 = General Call Function Enabled. |
| [10:1] | ADDR | I2C Address
The content of this register is irrelevant when I2C is in Master mode In the slave mode, the seven most significant bits must be loaded with the chip's own address The I2C hardware will react if either of the address is matched. Note: When software set 10'h000, the address can not be used. |
| I2C_T::ADDR3 |
[0x0020] I2C Slave Address Register3
| Bits | Field | Descriptions |
| [0] | GC | General Call Function
0 = General Call Function Disabled. 1 = General Call Function Enabled. |
| [10:1] | ADDR | I2C Address
The content of this register is irrelevant when I2C is in Master mode In the slave mode, the seven most significant bits must be loaded with the chip's own address The I2C hardware will react if either of the address is matched. Note: When software set 10'h000, the address can not be used. |
| I2C_T::ADDRMSK0 |
[0x0024] I2C Slave Address Mask Register0
| Bits | Field | Descriptions |
| [10:1] | ADDRMSK | I2C Address Mask
0 = Mask Disabled (the received corresponding register bit should be exact the same as address register.). 1 = Mask Enabled (the received corresponding address bit is don't care.). I2C bus controllers support multiple address recognition with four address mask register When the bit in the address mask register is set to one, it means the received corresponding address bit is don't-care If the bit is set to zero, that means the received corresponding register bit should be exact the same as address register. Note: The wake-up function can not use address mask. |
| I2C_T::ADDRMSK1 |
[0x0028] I2C Slave Address Mask Register1
| Bits | Field | Descriptions |
| [10:1] | ADDRMSK | I2C Address Mask
0 = Mask Disabled (the received corresponding register bit should be exact the same as address register.). 1 = Mask Enabled (the received corresponding address bit is don't care.). I2C bus controllers support multiple address recognition with four address mask register When the bit in the address mask register is set to one, it means the received corresponding address bit is don't-care If the bit is set to zero, that means the received corresponding register bit should be exact the same as address register. Note: The wake-up function can not use address mask. |
| I2C_T::ADDRMSK2 |
[0x002c] I2C Slave Address Mask Register2
| Bits | Field | Descriptions |
| [10:1] | ADDRMSK | I2C Address Mask
0 = Mask Disabled (the received corresponding register bit should be exact the same as address register.). 1 = Mask Enabled (the received corresponding address bit is don't care.). I2C bus controllers support multiple address recognition with four address mask register When the bit in the address mask register is set to one, it means the received corresponding address bit is don't-care If the bit is set to zero, that means the received corresponding register bit should be exact the same as address register. Note: The wake-up function can not use address mask. |
| I2C_T::ADDRMSK3 |
[0x0030] I2C Slave Address Mask Register3
| Bits | Field | Descriptions |
| [10:1] | ADDRMSK | I2C Address Mask
0 = Mask Disabled (the received corresponding register bit should be exact the same as address register.). 1 = Mask Enabled (the received corresponding address bit is don't care.). I2C bus controllers support multiple address recognition with four address mask register When the bit in the address mask register is set to one, it means the received corresponding address bit is don't-care If the bit is set to zero, that means the received corresponding register bit should be exact the same as address register. Note: The wake-up function can not use address mask. |
| I2C_T::BUSCTL |
[0x0050] I2C Bus Management Control Register
| Bits | Field | Descriptions |
| [0] | ACKMEN | Acknowledge Control by Manual
In order to allow ACK control in slave reception including the command and data, slave byte control mode must be enabled by setting the ACKMEN bit. 0 = Slave byte control Disabled. 1 = Slave byte control Enabled The 9th bit can response the ACK or NACK according the received data by user When the byte is received, stretching the SCLK signal low between the 8th and 9th SCLK pulse. Note: If the BMDEN=1 and this bit is enabled, the information of I2C_STATUS will be fixed as 0xF0 in slave receive condition. |
| [1] | PECEN | Packet Error Checking Calculation Enable Bit
0 = Packet Error Checking Calculation Disabled. 1 = Packet Error Checking Calculation Enabled. Note: When I2C enter power down mode, the bit should be enabled after wake-up if needed PEC calculation. |
| [2] | BMDEN | Bus Management Device Default Address Enable Bit
0 = Device default address Disable When the address 0'b1100001x coming and the both of BMDEN and ACKMEN are enabled, the device responses NACKed 1 = Device default address Enabled When the address 0'b1100001x coming and the both of BMDEN and ACKMEN are enabled, the device responses ACKed. |
| [3] | BMHEN | Bus Management Host Enable Bit
0 = Host function Disabled. 1 = Host function Enabled. |
| [4] | ALERTEN | Bus Management Alert Enable Bit
Device Mode (BMHEN=0). 0 = Release the BM_ALERT pin high and Alert Response Header disabled: 0001100x followed by NACK if both of BMDEN and ACKMEN are enabled. 1 = Drive BM_ALERT pin low and Alert Response Address Header enables: 0001100x followed by ACK if both of BMDEN and ACKMEN are enabled. Host Mode (BMHEN=1). 0 = BM_ALERT pin not supported. 1 = BM_ALERT pin supported. |
| [5] | SCTLOSTS | Suspend/Control Data Output Status
0 = The output of SUSCON pin is low. 1 = The output of SUSCON pin is high. |
| [6] | SCTLOEN | Suspend or Control Pin Output Enable Bit
0 = The SUSCON pin in input. 1 = The output enable is active on the SUSCON pin. |
| [7] | BUSEN | BUS Enable Bit
0 = The system management function is Disabled. 1 = The system management function is Enable. Note: When the bit is enabled, the internal 14-bit counter is used to calculate the time out event of clock low condition. |
| [8] | PECTXEN | Packet Error Checking Byte Transmission/Reception
0 = No PEC transfer. 1 = PEC transmission is requested. Note: This bit has no effect in slave mode when ACKMEN=0. |
| [9] | TIDLE | Timer Check in Idle State
The BUSTOUT is used to calculate the time-out of clock low in bus active and the idle period in bus Idle This bit is used to define which condition is enabled. 0 = The BUSTOUT is used to calculate the clock low period in bus active. 1 = The BUSTOUT is used to calculate the IDLE period in bus Idle. Note: The BUSY (I2C_BUSSTS[0]) indicate the current bus state. |
| [10] | PECCLR | PEC Clear at Repeat Start
The calculation of PEC starts when PECEN is set to 1 and it is clear when the STA or STO bit is detected This PECCLR bit is used to enable the condition of REPEAT START can clear the PEC calculation. 0 = The PEC calculation is cleared by "Repeat Start" function is Disabled. 1 = The PEC calculation is cleared by "Repeat Start"" function is Enabled. |
| [11] | ACKM9SI | Acknowledge Manual Enable Extra SI Interrupt
0 = There is no SI interrupt in the 9th clock cycle when the BUSEN=1 and ACKMEN=1. 1 = There is SI interrupt in the 9th clock cycle when the BUSEN=1 and ACKMEN=1. |
| [12] | BCDIEN | Packet Error Checking Byte Count Done Interrupt Enable Bit
0 = Indicates the byte count done interrupt is Disabled. 1 = Indicates the byte count done interrupt is Enabled. Note: This bit is used in PECEN=1. |
| [13] | PECDIEN | Packet Error Checking Byte Transfer Done Interrupt Enable Bit
0 = Indicates the PEC transfer done interrupt is Disabled. 1 = Indicates the PEC transfer done interrupt is Enabled. Note: This bit is used in PECEN=1. |
| I2C_T::BUSSTS |
[0x0058] I2C Bus Management Status Register
| Bits | Field | Descriptions |
| [0] | BUSY | Bus Busy
Indicates that a communication is in progress on the bus It is set by hardware when a START condition is detected It is cleared by hardware when a STOP condition is detected 0 = The bus is IDLE (both SCLK and SDA High). 1 = The bus is busy. |
| [1] | BCDONE | Byte Count Transmission/Receive Done
0 = Indicates the byte count transmission/ receive is not finished when the PECEN is set. 1 = Indicates the byte count transmission/ receive is finished when the PECEN is set. Note: Software can write 1 to clear this bit. |
| [2] | PECERR | PEC Error in Reception
0 = Indicates the PEC value equal the received PEC data packet. 1 = Indicates the PEC value doesn't match the receive PEC data packet. Note: Software can write 1 to clear this bit. |
| [3] | ALERT | SMBus Alert Status
Device Mode (BMHEN =0). 0 = Indicates SMBALERT pin state is low. 1 = Indicates SMBALERT pin state is high. Host Mode (BMHEN =1). 0 = No SMBALERT event. 1 = Indicates there is SMBALERT event (falling edge) is detected in SMALERT pin when the BMHEN = 1 (SMBus host configuration) and the ALERTEN = 1. Note: 1. The SMBALERT pin is an open-drain pin, the pull-high resistor is must in the system 2. Software can write 1 to clear this bit. |
| [4] | SCTLDIN | Bus Suspend or Control Signal Input Status
0 = The input status of SUSCON pin is 0. 1 = The input status of SUSCON pin is 1. |
| [5] | BUSTO | Bus Time-out Status
0 = Indicates that there is no any time-out or external clock time-out. 1 = Indicates that a time-out or external clock time-out occurred. In bus busy, the bit indicates the total clock low time-out event occurred otherwise, it indicates the bus idle time-out event occurred. Note: Software can write 1 to clear this bit. |
| [6] | CLKTO | Clock Low Cumulate Time-out Status
0 = Indicates that the cumulative clock low is no any time-out. 1 = Indicates that the cumulative clock low time-out occurred. Note: Software can write 1 to clear this bit. |
| [7] | PECDONE | PEC Byte Transmission/Receive Done
0 = Indicates the PEC transmission/ receive is not finished when the PECEN is set. 1 = Indicates the PEC transmission/ receive is finished when the PECEN is set. Note: Software can write 1 to clear this bit. |
| I2C_T::BUSTCTL |
[0x0054] I2C Bus Management Timer Control Register
| Bits | Field | Descriptions |
| [0] | BUSTOEN | Bus Time Out Enable Bit
0 = Indicates the bus clock low time-out detection is Disabled. 1 = Indicates the bus clock low time-out detection is Enabled (bus clock is low for more than TTime-out (in BIDLE=0) or high more than TTime-out(in BIDLE =1) |
| [1] | CLKTOEN | Cumulative Clock Low Time Out Enable Bit
0 = Indicates the cumulative clock low time-out detection is Disabled. 1 = Indicates the cumulative clock low time-out detection is Enabled. For Master, it calculates the period from START to ACK For Slave, it calculates the period from START to STOP |
| [2] | BUSTOIEN | Time-out Interrupt Enable Bit
BUSY =1. 0 = Indicates the SCLK low time-out interrupt is Disabled. 1 = Indicates the SCLK low time-out interrupt is Enabled. BUSY =0. 0 = Indicates the bus IDLE time-out interrupt is Disabled. 1 = Indicates the bus IDLE time-out interrupt is Enabled. |
| [3] | CLKTOIEN | Extended Clock Time Out Interrupt Enable Bit
0 = Indicates the clock time out interrupt is Disabled. 1 = Indicates the clock time out interrupt is Enabled. |
| [4] | TORSTEN | Time Out Reset Enable Bit
0 = Indicates the I2C state machine reset is Disable. 1 = Indicates the I2C state machine reset is Enable. (The clock and data bus will be released to high) |
| I2C_T::BUSTOUT |
[0x0064] I2C Bus Management Timer Register
| Bits | Field | Descriptions |
| [7:0] | BUSTO | Bus Management Time-out Value
Indicate the bus time-out value in bus is IDLE or SCLK low. Note: If the user wants to revise the value of BUSTOUT, the TORSTEN (I2C_BUSTCTL[4]) bit shall be set to 1 and clear to 0 first in the BUSEN(I2C_BUSCTL[7]) is set. |
| I2C_T::CLKDIV |
[0x0010] I2C Clock Divided Register
| Bits | Field | Descriptions |
| [9:0] | DIVIDER | I2C Clock Divided
Indicates the I2C clock rate: Data Baud Rate of I2C = (system clock) / (4x (I2C_CLKDIV+1)). Note: The minimum value of I2C_CLKDIV is 4. |
| I2C_T::CLKTOUT |
[0x0068] I2C Bus Management Clock Low Timer Register
| Bits | Field | Descriptions |
| [7:0] | CLKTO | Bus Clock Low Timer
The field is used to configure the cumulative clock extension time-out. Note: If the user wants to revise the value of CLKLTOUT, the TORSTEN bit shall be set to 1 and clear to 0 first in the BUSEN is set. |
| I2C_T::CTL0 |
[0x0000] I2C Control Register 0
| Bits | Field | Descriptions |
| [2] | AA | Assert Acknowledge Control
When AA =1 prior to address or data is received, an acknowledged (low level to SDA) will be returned during the acknowledge clock pulse on the SCL line when 1.) A slave is acknowledging the address sent from master, 2.) The receiver devices are acknowledging the data sent by transmitter When AA=0 prior to address or data received, a Not acknowledged (high level to SDA) will be returned during the acknowledge clock pulse on the SCL line |
| [3] | SI | I2C Interrupt Flag
When a new I2C state is present in the I2C_STATUS register, the SI flag is set by hardware If bit INTEN (I2C_CTL [7]) is set, the I2C interrupt is requested SI must be cleared by software Clear SI by writing 1 to this bit. For ACKMEN is set in slave read mode, the SI flag is set in 8th clock period for user to confirm the acknowledge bit and 9th clock period for user to read the data in the data buffer. |
| [4] | STO | I2C STOP Control
In Master mode, setting STO to transmit a STOP condition to bus then I2C controller will check the bus condition if a STOP condition is detected This bit will be cleared by hardware automatically. |
| [5] | STA | I2C START Control
Setting STA to logic 1 to enter Master mode, the I2C hardware sends a START or repeat START condition to bus when the bus is free. |
| [6] | I2CEN | I2C Controller Enable Bit
Set to enable I2C serial function controller When I2CEN=1 the I2C serial function enable The multi-function pin function must set to SDA, and SCL of I2C function first. 0 = I2C controller Disabled. 1 = I2C controller Enabled. |
| [7] | INTEN | Enable Interrupt
0 = I2C interrupt Disabled. 1 = I2C interrupt Enabled. |
| I2C_T::CTL1 |
[0x0044] I2C Control Register 1
| Bits | Field | Descriptions |
| [0] | TXPDMAEN | PDMA Transmit Channel Available
0 = Transmit PDMA function disable. 1 = Transmit PDMA function enable. |
| [1] | RXPDMAEN | PDMA Receive Channel Available
0 = Receive PDMA function disable. 1 = Receive PDMA function enable. |
| [2] | PDMARST | PDMA Reset
0 = No effect. 1 = Reset the I2C request to PDMA. |
| [8] | PDMASTR | PDMA Stretch Bit
0 = I2C send STOP automatically after PDMA transfer done. (only master TX) 1 = I2C SCL bus is stretched by hardware after PDMA transfer done if the SI is not cleared (only master TX) |
| [9] | ADDR10EN | Address 10-bit Function Enable
0 = Address match 10-bit function is disabled. 1 = Address match 10-bit function is enabled. |
| I2C_T::DAT |
| I2C_T::PKTCRC |
[0x0060] I2C Packet Error Checking Byte Value Register
| Bits | Field | Descriptions |
| [7:0] | PECCRC | Packet Error Checking Byte Value
This byte indicates the packet error checking content after transmission or receive byte count by using the C(x) = X8 + X2 + X + 1 It is read only. |
| I2C_T::PKTSIZE |
[0x005c] I2C Packet Error Checking Byte Number Register
| Bits | Field | Descriptions |
| [8:0] | PLDSIZE | Transfer Byte Number
The transmission or receive byte number in one transaction when the PECEN is set The maximum transaction or receive byte is 256 Bytes. Notice: The byte number counting includes address, command code, and data frame. |
| I2C_T::STATUS0 |
[0x000c] I2C Status Register 0
| Bits | Field | Descriptions |
| [7:0] | STATUS | I2C Status
The three least significant bits are always 0 The five most significant bits contain the status code There are 28 possible status codes When the content of I2C_STATUS is F8H, no serial interrupt is requested Others I2C_STATUS values correspond to defined I2C states When each of these states is entered, a status interrupt is requested (SI = 1) A valid status code is present in I2C_STATUS one cycle after SI is set by hardware and is still present one cycle after SI has been reset by software In addition, states 00H stands for a Bus Error A Bus Error occurs when a START or STOP condition is present at an illegal position in the formation frame Example of illegal position are during the serial transfer of an address byte, a data byte or an acknowledge bit. |
| I2C_T::STATUS1 |
[0x0048] I2C Status Register 1
| Bits | Field | Descriptions |
| [0] | ADMAT0 | I2C Address 0 Match Status Register
When address 0 is matched, hardware will inform which address used This bit will set to 1, and software can write 1 to clear this bit. |
| [1] | ADMAT1 | I2C Address 1 Match Status Register
When address 1 is matched, hardware will inform which address used This bit will set to 1, and software can write 1 to clear this bit. |
| [2] | ADMAT2 | I2C Address 2 Match Status Register
When address 2 is matched, hardware will inform which address used This bit will set to 1, and software can write 1 to clear this bit. |
| [3] | ADMAT3 | I2C Address 3 Match Status Register
When address 3 is matched, hardware will inform which address used This bit will set to 1, and software can write 1 to clear this bit. |
| [8] | ONBUSY | On Bus Busy
Indicates that a communication is in progress on the bus It is set by hardware when a START condition is detected It is cleared by hardware when a STOP condition is detected. 0 = The bus is IDLE (both SCLK and SDA High). 1 = The bus is busy. Note:This bit is read only. |
| I2C_T::TMCTL |
[0x004c] I2C Timing Configure Control Register
| Bits | Field | Descriptions |
| [8:0] | STCTL | Setup Time Configure Control Register
This field is used to generate a delay timing between SDA falling edge and SCL rising edge in transmission mode. The delay setup time is numbers of peripheral clock = STCTL x PCLK. Note: Setup time setting should not make SCL output less than three PCLKs. |
| [24:16] | HTCTL | Hold Time Configure Control Register
This field is used to generate the delay timing between SCL falling edge and SDA rising edge in transmission mode. The delay hold time is numbers of peripheral clock = HTCTL x PCLK. |
| I2C_T::TOCTL |
[0x0014] I2C Time-out Control Register
| Bits | Field | Descriptions |
| [0] | TOIF | Time-out Flag
This bit is set by hardware when I2C time-out happened and it can interrupt CPU if I2C interrupt enable bit (INTEN) is set to 1. Note: Software can write 1 to clear this bit. |
| [1] | TOCDIV4 | Time-out Counter Input Clock Divided by 4
When Enabled, The time-out period is extend 4 times. 0 = Time-out period is extend 4 times Disabled. 1 = Time-out period is extend 4 times Enabled. |
| [2] | TOCEN | Time-out Counter Enable Bit
When Enabled, the 14-bit time-out counter will start counting when SI is clear Setting flag SI to '1' will reset counter and re-start up counting after SI is cleared. 0 = Time-out counter Disabled. 1 = Time-out counter Enabled. |
| I2C_T::WKCTL |
[0x003c] I2C Wake-up Control Register
| Bits | Field | Descriptions |
| [0] | WKEN | I2C Wake-up Enable Bit
0 = I2C wake-up function Disabled. 1 = I2C wake-up function Enabled. |
| [7] | NHDBUSEN | I2C No Hold BUS Enable Bit
0 = I2C hold bus after wake-up. 1 = I2C don't hold bus after wake-up. Note: I2C controller could response when WKIF event is not clear, it may cause error data transmitted or received If data transmitted or received when WKIF event is not clear, user must reset I2C controller and execute the original operation again. |
| I2C_T::WKSTS |
[0x0040] I2C Wake-up Status Register
| Bits | Field | Descriptions |
| [0] | WKIF | I2C Wake-up Flag
When chip is woken up from Power-down mode by I2C, this bit is set to 1 Software can write 1 to clear this bit. |
| [1] | WKAKDONE | Wakeup Address Frame Acknowledge Bit Done
0 = The ACK bit cycle of address match frame isn't done. 1 = The ACK bit cycle of address match frame is done in power-down. Note: This bit can't release WKIF. Software can write 1 to clear this bit. |
| [2] | WRSTSWK | Read/Write Status Bit in Address Wakeup Frame
0 = Write command be record on the address match wakeup frame. 1 = Read command be record on the address match wakeup frame. Note: This bit will be cleared when software can write 1 to WKAKDONE bit. |


Your current state is {{driverState}}
Please update your location now
{{driver.driver_id}} : {{driver.location.lat}} , {{driver.location.lng}}
A demo by TccHtnn.


Jekyll is awesome!
DECEMBER 17, 2016
TAGS
My first blog post, dedicated to Jekyll.
Hie,
Just created my blog using Jekyll - the fast and minimilastic website generator. It’s really easy to implement and I really liked it. So, I’m dedicating my first blog to it.
One of my friend suggested me about Jekyll when I told him about my plan to create a blog. Then I searched the web about it and started creating my blog. And in just few hours, my blog was ready!
For those who are wondering how I created the blog, following are the links for reference :
Search around for more, there are lot of sites to help.
Stay tuned for more posts…


Team:
Name:
Drivetrain:
West Coast
Swerve
H Drive
KOP
Mecanum
Lift:
Upstack
Downstack
Hooks
Auto 1:
2:
3:
4:
5:
Tele 1:
2:
3:
4:
5:
Auto Notes:
Tele Notes:
Practice:
Code:
C++
Java
Labview
Toggle navigation
Pwnage
Match Scouting
(current)
Ranks
Search
Rank
Schedule
Upload


Loading...
Canary analysis history could not be loaded.
Reload score history
| Score | Score Duration | Generated On | Report |
|---|---|---|---|
|
|
{{ scoreReport.timeDuration.durationString }} | {{ scoreReport.lastUpdated | timestamp }} | Canary Report |
No canary analysis history available
| # | Date | Commit | Message | Author |
|---|---|---|---|---|
| {{$index+1}} | {{commit.timestamp | date:'MM/dd'}} | {{commit.displayId}} | {{commit.message | limitTo: 50}} | {{commit.authorDisplayName}} |


{{< layout}} {{$propositionHeader}}Renew a passport{{/propositionHeader}} {{$pageTitle}}Confirm someone's identity{{/pageTitle}} {{$header}}
To confirm someone's identity for a UK passport, you must:
We'll ask you a few questions then show you a photo of the person. It takes about 10 minutes.
Start


FadeBuilder(fadingMode: Int = IN or OUT)
Builder for Fade transition.
fadingMode - Specify on which visible mode the fade animation should trigger. The visible mode is determined by Visibility.isVisible
fadingMode


Changing the default configuration
What you can do as an admin
DBNsim has two different kinds of user: normal users of the web interface and administrators with access to the configuration of the server. If you are an admin, here's how you can customize your instance of DBNsim for your users:
- you can edit the available training datasets, removing them and/or adding new ones;
- you can set a password that the users have to know in order to use the app;
- you can alter the default values of the hyper-parameters (e.g. you can set a default value of 0.1 for the learning rate, if the user doesn't change it on the form);
- you can change the number of epochs between each automatic update of the receptive fields and histogram;
- you can change the colors of the graph edges (two different colors: one for training and the other for resting).
Keep reading for more details.
Datasets
Adding a new dataset is as easy as dragging a file in a special directory in DBNsim. From inside the DBNsim/
root, this directory is ./DBNsite/DBNlogic/data/
.
Here you can put a dataset in one or more of these 3 formats:
- CSV: a CSV file (with extension
.csv
) where each example is a comma-separated row, and each row is separated from the following by a newline. - Pickle: a Python "pickle" file (with extension
.pkl
and encoded with version 2 of the Pickle protocol) that is the serialization of a Numpy 2D array (matrix) containing each example as a row of the matrix. - MATLAB: a MATLAB file (with extension
.mat
) containing a matrix variable called "data", where each row is a training example.
N.B. if DBNsim doesn't recognize your MATLAB files, try to install scipy. This is because scipy is currently an optional dependency, for compatibility with Windows. Under UNIX, you can install it with pip install --user scipy
.
Note that the training sets are (currently) meant for unsupervised learning, so they cannot contain labels — unless you want the labels to be interpreted as features. Note that an exception to this behaviour is the MATLAB file, where you can put as many variables as you like as long as there is one matrix named "data"; that is, you can actually have the labels in the MATLAB file, but you have to store them in a different variable.
Of course, removing a dataset can be performed by just deleting the corresponding file(s) whose name(s) match the name of the dataset. For example, if you want to remove the Numerosity dataset, make sure to remove Numerosity.csv
, Numerosity.pkl
and Numerosity.mat
.
DBNsim searches for new datasets only at startup: if you want to add a dataset, you must restart the server. The order in which DBNsim searches the data/
directory for an instance of each dataset is:
- Pickle file;
- CSV file;
- MATLAB file.
This is beacause the Pickle file is much faster to load (for the Python interpreter) than the other two. However, the downside is that its size can be much bigger.
Password and hyper-parameters
By editing some Python files, you can change the password and the default values of the hyper-parameters.
In order to change the password, open ./DBNsite/DBNtrain/views.py
and change the value of the variable PASSWORD
to a string of your choice. The default is "user".
For the hyper-parameters, open ./DBNsite/DBNlogic/util.py
and search for the constructor of the Configuration
class. There you will find the default values for the constructor arguments. These values are the default values of the hyper-parameters that the user sees when he load the main page of the app: feel free to change them. Read the comments in the body of the constructor, if you want to know the meaning of each hyper-parameter.
graphical parameters
If you want the receptive fields and the weights histogram to be updated every n epochs, open ./DBNsite/DBNtrain/static/dbntrain.js
and look for the variable chartsUpdateRate
. Set it to a positive value that will be the number of epochs that DBNsim will wait before automatically updating the receptive fields and the histogram during training.
Finally, the edges in the upper-right graph change color according to what they are "doing": if an RBM is learning, its weights will be colored in red; else, they will be blue. If you want to change these colors, open ./DBNsite/DBNtrain/static/dbntrain.js
and change the values of the variables edgesColor
and trainingEdgesColor
.


- CAUGHT - Static variable in class ui.PrimaryStageController
-
It represents the url of a ghost caught.
- changeDirection(KeyEvent) - Method in class ui.PrimaryStageController
-
This changes the direction when a key is pressed in the system input.
- Character - Class in model
-
- Character(Coordinate, double, double) - Constructor for class model.Character
-
Creates a new character with a determinate position but always in the left direction.
- checkFourLetters(KeyEvent) - Method in class ui.NameRegisterController
-
This method checks that the name of the player do not exceed the four characters.
- CHERRIES - Static variable in class model.Level
-
It represents a bonus fruit for the game.
- clone() - Method in class model.Level
-
This clones the actual level to be used later.
- compareTo(Edge<E>) - Method in class dataStructures.Edge
-
- compareTo(Vertex<E>) - Method in class dataStructures.Vertex
-
This method compares the actual vertex distance with another one that arrives as parameter.
- compareTo(Player) - Method in class model.Player
-
It allows to compare two players by their score.
- containsEdge(E, E) - Method in class dataStructures.AdjacencyListGraph
-
It allows to determinate if two pairs of vertices have and edge in common.
- containsEdge(E, E) - Method in class dataStructures.AdjacencyMatrixGraph
-
It allows to determinate if two pairs of vertices have and edge in common.
- containsEdge(E, E) - Method in interface dataStructures.IGraph
-
It allows to determinate if two pairs of vertices have and edge in common.
- containsVertex(E) - Method in class dataStructures.AdjacencyListGraph
-
It verifies if the actual vertices contains a key of E type that arrives as parameter.
- containsVertex(E) - Method in class dataStructures.AdjacencyMatrixGraph
-
It verifies if the actual keyToIndex contains a key of E type that arrives as parameter.
- containsVertex(E) - Method in interface dataStructures.IGraph
-
It verifies if the actual graph contains a key of E type that arrives as parameter.
- Coordinate - Class in model
-
- Coordinate(double, double, boolean, boolean, boolean, boolean) - Constructor for class model.Coordinate
-
Creates a coordinate with a x and y value and some side specifications.


--- layout: post title: Recording of my talk on the new features in NServiceBus 3.0 date: 2011-12-09 06:26:41.000000000 +01:00 categories: - NServiceBus - Presenting tags: [] status: publish type: post published: true meta: _edit_last: '1' dsq_thread_id: '498492700' author: login: andreas.ohlund email<EMAIL_ADDRESS>display_name: Andreas Öhlund first_name: Andreas last_name: "Öhlund" ---
Last night I did a talk on the new features in the upcoming release of NServiceBus.
The session was recorded and can be found here:
http://skillsmatter.com/podcast/open-source-dot-net/nservicebus-3/wd-3134
Slides can be found here:
http://www.slideshare.net/andreasohlund/new-and-shiny-things-in-n-service-bus-30
Thanks to Skills Matter doing for recording and for being awesome in general.


Music-Mixer
Let's be a DJ!
Put Music icons into a right box ->
The Game Board
The Drag Zone
The Drop Zones
There is a precious message for you. Click to see it.
To be a DJ


:(
Your PC ran into a problem that it couldn't handle, and now needs to restart.
You can search for the error online: HAL_INITIALIZATION_FAILED


ngComponentRouter
The singleton instance of the RootRouter type, which is associated with the top level $routerRootComponent.
RootRouter
$routerRootComponent
The top level Routing Component associated with the $rootRouter.
$rootRouter


Element Mover is a flexible and versatile jQuery plug-in that gives you control to move HTML elements.
Element Mover animates 2 DOM elements to a specified anchor point on the page. It's popular functionality is a battle sequence that animates 2 div's to engage in a battle clashing repeatedly at certain point.
Assign an ID to two elements (#move1 & #move2) on the DOM that are both visible in the same pane. Then use an ID set an anchor point (#anchor) on the page. Lastly, a trigger event is needed. This point can be any of the existing ID's above or a completely new point (#trigger if a new point) on the page. When the trigger point is activated the elements will move toward the anchor point on the page.
Element Mover uses graphical principles to elegantly move elements on the page. It calculates the height, centre point and relative coordinates of the #move and #anchor elements. With this information a trajectory can be used to animate the #move elements in the direction of the #anchor.


# Laygo Template Library Setup Guide
This section describes how to construct microtemplates_dense library.
## Introduction The guideline provided in this section is not a golden flow; It is based on my (Woorham Bae’s) limited experience, so there must be better solutions. The intend is just to provide some tips that can reduce number of trials and errors I did. Just refer and do not rely!
- For now, Laygo does not support ‘path’ drawing, so please use ‘rectangle’ for all routings
- It is hard to get a perfect templates in your first trial. Don’t be frustrated if you cannot make it.
- Best idea is to refer microtemplates_dense library for other technologies if you can access to.
But you need to understand some basics of template library before you replicate.
## Let’s start with via(wire) template 1) Draw horizontal/vertical metals with minimum width
- Create => Via => Auto for creating via
![template](images/1_via.png)
- Make the via object a separate instance
- Edit => Hierarchy => Make cell (ex. via_M1_M2_0)
![template](images/2_via_instance.png)
- Draw other via templates
- There are various via templates for each layer
![template](images/3_via_templates.png)
## Transistor template * Nmos4_fast_center_nf2: Most important templates!
![template](images/4_nmos4_fast_center_nf2.png)
- Before placing an NMOS, we have to decide width (or number of fin) per finger
- Note that two M2 routing can be placed within S/D area
1) Check M2 spacing rule * With whatever you can do (Options => DRD Options => Enabling DRD Mode is useful) ![template](images/5_M2_spacing.png)
2) Check V1 spacing rule as well * Generally it is wider than M1 spacing * It is not required, just suggested
![template](images/6_V1_spacing.png)
3) Choose number * Choose a proper number of fins which is available to include two M2 routings/vias and place NMOS * Turn off poly dummy options: it will be handled later
![template](images/7_unit_width.png)
4) Adjust coordinate of NMOS * x: Center of left source should be at x=0 * y: Set intuitively(?). Consider a VSS rail will be placed at the bottom. We may modify it later.
![template](images/8_coordinate.png)
5) Draw gate contact * One of the hardest part * Best way is to refer standard cells * You can activate poly connect option, but…
![template](images/9_gate_contact.png)
- Note that it will be placed in array
- If poly connect option gives a horizontally long M1 connection, you’d better to find an alternate way
![template](images/10_gate_contact_array.png)
6) Draw additional M1 rectangle * To meet minimum area requirement for M1 * and to avoid ‘+’ shape when a M1_M2 via is placed * Again, note that it will be placed in array
![template](images/11_gate_contact_M1.png)
7) Draw some layers (technology dependent) * Draw some other layers such as finfet and CPO if needed, refer related options embedded in pcell
![template](images/12_final touch.png)
8) Attach pin/label on M1 * Draw M1 pin or label layer on existing M1 drawing layers
- On gate and every source/drain
- Choice of pin/label layer depends on technology
- Attach label at the middle of each pin/label layer
- S0, D0, S1, and G0
![template](images/13_attach_label.png)
- You can specify the pin area with a rectangle of [M1, pin] and net name with a label of [M1, pin]
- Optionally, you can specify the pin name with a label of [text, drawing]. This is useful if you want to assign multi pins for same nets.
9) Set boundary * Use prboundary layer (or corresponding layer) to define the placement boundary of the cell * Note that one M2 routing will be placed at the top
![template](images/14_set_boundary.png)
- It is recommended to set the height of the template as a common multiples of variety of numbers (i.e. 0.48um, 0.6um…)
- To be compatible with all the routing grids, all placement will be done based on prboundary!
![template](images/15_grid_mismatch.png)
10) Draw pmos4_fast_center_nf2 * It should be very easy if you have drawn nmos4_fast_center_nf2
![template](images/16_pmos4_fast_center_nf2.png)
11) Draw placement_basic * There is only a prboundary rectangle * xy0 = (0,0), xy1 = (poly pitch, one of divisions of height of nmos_fast_center_nf2)
- All x coordinates should be multiples of poly pitch
![template](images/17_placement_basic.png)
## Routing grids
Draw route_M1_M2_cmos * Most important routing grid * Before drawing that, place nmos and pmos templates
![template](images/18_route_M1_M2_cmos.png)
- 8 horizontal routings within the CMOS template
- 1 for VDD/VSS rail, 2 for NMOS S/D, 2 for PMOS S/D, 2 for CMOS gate, and 1 for additional gate routing
![template](images/19_route_M1_M2_cmos.png)
1) Draw prboundary * xy0 = (0,0), xy1 = (poly pitch, height of cmos)
![template](images/20_prboundary.png)
2) Place M1_M2 vias * x=0 for all vias, so what you have to do is to set y * We have already considered that when we drawn nmos, so we can easily find proper y coordinates
![template](images/21_place_M1_M2_vias.png)
3) Draw M1/M2 wires * Make sure your routing grid is compatible with CMOS template * After that, delete nmos/pmos templates
![template](images/22_draw_M1M2_wires.png)
4) Draw route_M2_M3_cmos * CMOS-compatible M2_M3 grid is also required * Just modify M1_M2 vias and M1 rectangle with M2_M3 vias and M3 rectangle from route_M1_M2
![template](images/23_route_M2_M3_cmos.png)
5) Define rest of routing grids * Draw prboundary: if min. pitch of vertical layer is narrower than PC pitch, x=PC pitch * else, x=N x PC pitch, where N x PC pitch > min. pitch
![template](images/24_routing_grids.png)
- When we define y grid, we have to consider spacing rule for horizontal layer and height of MOS template
- So basically, y of prboundary is height of MOS
![template](images/25_routing_grids.png)
- After that, all the horizontal routing grid within prboundary should be defined as follows
- If you want to utilize existing generators, set the number of horizontal wires be the same as tsmc16n
![template](images/26_routing_grids.png)
- However, if y grid is one of divisions of height of MOS and also meets the spacing rule, a simple template shown below is sufficient
![template](images/27_routing_grids.png)
## Draw rest of transistor templates * nf1, stack, dummy, filler, boundary, and tap
![template](images/28_transistor_templates.png)
1) nf1 * nf1_left and nf1_right according to the direction of gate contact * Consider DRCs for gate connection
![template](images/29_nf1.png)
2) 2stack * Used for NAND_1x, TINV_1x… * Utilize gate connection technique you found in nf1 template
![template](images/30_2stack.png)
3) Dummy * Use center_nf2 template * Just connect gate-drain and remove pin on the gate
![template](images/31_dummy.png)
4) Space * For filling space * Note that RX layer might be included in 4x cell, in order to satisfy RX density rule (not in this layout)
![template](images/32_space.png)
5) Boundary * Usually, nmos_fast_boundary == space_1x * boundary_left/right should resolve design rules regarding poly dummy
![template](images/33_boundary.png)
- Number and pattern of poly dummy depends on technology
- Refer dummy option in pcell
![template](images/34_boundary_example.png)
6) Tap * For connecting body to VDD/VSS
![template](images/35_tap.png)
- Refer to psub/nwell contact provided by foundry
- Create => Via => Via Definition
![template](images/36_psub_contact.png)
- Two M1s in tap cell
- VSS M1-pin to both of them
- TAP0/TAP1 pin using text drawing
![template](images/37_tap_pin.png)


John Jones’s tables of number fields#
In order to use the Jones database, the optional database package must be installed using the Sage command !sage -i database_jones_numfield
This is a table of number fields with bounded ramification and degree \(\leq 6\). You can query the database for all number fields in Jones’s tables with bounded ramification and degree.
EXAMPLES: First load the database:
sage: J = JonesDatabase()
sage: J
John Jones's table of number fields with bounded ramification and degree <= 6
List the degree and discriminant of all fields in the database that have ramification at most at 2:
sage: [(k.degree(), k.disc()) for k in J.unramified_outside([2])] # optional - database_jones_numfield
[(1, 1), (2, -4), (2, -8), (2, 8), (4, 256), (4, 512), (4, -1024), (4, -2048), (4, 2048), (4, 2048), (4, 2048)]
List the discriminants of the fields of degree exactly 2 unramified outside 2:
sage: [k.disc() for k in J.unramified_outside([2],2)] # optional - database_jones_numfield
[-4, -8, 8]
List the discriminants of cubic field in the database ramified exactly at 3 and 5:
sage: [k.disc() for k in J.ramified_at([3,5],3)] # optional - database_jones_numfield
[-135, -675, -6075, -6075]
sage: factor(6075)
3^5 * 5^2
sage: factor(675)
3^3 * 5^2
sage: factor(135)
3^3 * 5
List all fields in the database ramified at 101:
sage: J.ramified_at(101) # optional - database_jones_numfield
[Number Field in a with defining polynomial x^2 - 101,
Number Field in a with defining polynomial x^4 - x^3 + 13*x^2 - 19*x + 361,
Number Field in a with defining polynomial x^5 + x^4 - 6*x^3 - x^2 + 18*x + 4,
Number Field in a with defining polynomial x^5 + 2*x^4 + 7*x^3 + 4*x^2 + 11*x - 6,
Number Field in a with defining polynomial x^5 - x^4 - 40*x^3 - 93*x^2 - 21*x + 17]
- class sage.databases.jones.JonesDatabase#
Bases:
object
- get(S, var='a')#
Return all fields in the database ramified exactly at the primes in S.
INPUT:
S
- list or set of primes, or a single primevar
- the name used for the generator of the number fields (default ‘a’).
EXAMPLES:
sage: J = JonesDatabase() # optional - database_jones_numfield sage: J.get(163, var='z') # optional - database_jones_numfield [Number Field in z with defining polynomial x^2 + 163, Number Field in z with defining polynomial x^3 - x^2 - 54*x + 169, Number Field in z with defining polynomial x^4 - x^3 - 7*x^2 + 2*x + 9] sage: J.get([3, 4]) # optional - database_jones_numfield Traceback (most recent call last): ... ValueError: S must be a list of primes
- ramified_at(S, d=None, var='a')#
Return all fields in the database of degree d ramified exactly at the primes in S. The fields are ordered by degree and discriminant.
INPUT:
S
- list or set of primesd
- None (default, in which case all fields of degree <= 6 are returned) or a positive integer giving the degree of the number fields returned.var
- the name used for the generator of the number fields (default ‘a’).
EXAMPLES:
sage: J = JonesDatabase() # optional - database_jones_numfield sage: J.ramified_at([101,109]) # optional - database_jones_numfield [] sage: J.ramified_at([109]) # optional - database_jones_numfield [Number Field in a with defining polynomial x^2 - 109, Number Field in a with defining polynomial x^3 - x^2 - 36*x + 4, Number Field in a with defining polynomial x^4 - x^3 + 14*x^2 + 34*x + 393] sage: J.ramified_at(101) # optional - database_jones_numfield [Number Field in a with defining polynomial x^2 - 101, Number Field in a with defining polynomial x^4 - x^3 + 13*x^2 - 19*x + 361, Number Field in a with defining polynomial x^5 + x^4 - 6*x^3 - x^2 + 18*x + 4, Number Field in a with defining polynomial x^5 + 2*x^4 + 7*x^3 + 4*x^2 + 11*x - 6, Number Field in a with defining polynomial x^5 - x^4 - 40*x^3 - 93*x^2 - 21*x + 17] sage: J.ramified_at((2, 5, 29), 3, 'c') # optional - database_jones_numfield [Number Field in c with defining polynomial x^3 - x^2 - 8*x - 28, Number Field in c with defining polynomial x^3 - x^2 + 10*x + 102, Number Field in c with defining polynomial x^3 - x^2 - 48*x - 188, Number Field in c with defining polynomial x^3 - x^2 + 97*x - 333]
- unramified_outside(S, d=None, var='a')#
Return all fields in the database of degree d unramified outside S. If d is omitted, return fields of any degree up to 6. The fields are ordered by degree and discriminant.
INPUT:
S
- list or set of primes, or a single primed
- None (default, in which case all fields of degree <= 6 are returned) or a positive integer giving the degree of the number fields returned.var
- the name used for the generator of the number fields (default ‘a’).
EXAMPLES:
sage: J = JonesDatabase() # optional - database_jones_numfield sage: J.unramified_outside([101,109]) # optional - database_jones_numfield [Number Field in a with defining polynomial x - 1, Number Field in a with defining polynomial x^2 - 101, Number Field in a with defining polynomial x^2 - 109, Number Field in a with defining polynomial x^3 - x^2 - 36*x + 4, Number Field in a with defining polynomial x^4 - x^3 + 13*x^2 - 19*x + 361, Number Field in a with defining polynomial x^4 - x^3 + 14*x^2 + 34*x + 393, Number Field in a with defining polynomial x^5 + x^4 - 6*x^3 - x^2 + 18*x + 4, Number Field in a with defining polynomial x^5 + 2*x^4 + 7*x^3 + 4*x^2 + 11*x - 6, Number Field in a with defining polynomial x^5 - x^4 - 40*x^3 - 93*x^2 - 21*x + 17]
- sage.databases.jones.sortkey(K)#
A completely deterministic sorting key for number fields.
EXAMPLES:
sage: from sage.databases.jones import sortkey sage: sortkey(QuadraticField(-3)) (2, 3, False, x^2 + 3)


初次见面^_^请多指教
HOVER ME
爱你哦~
Raise up (shadow effect)
爱你
爱你
Push down (merging into page)
爱你
爱你
Raise up (emerging from page)
爱你
爱你
Raised up (emerging from bg) with pattern
爱你哦~
爱你哦~


Edit 2 Rotates buffer COUNTERclockwise.
Press 2 to rotate the segments in the buffer COUNTERclockwise relative to the pivot point.
This feature is independent of the cursor position.
The degrees of rotation are set using Edit 0 - Rotation.
Note that this operation is complementary with Edit 3 and one undoes the other.


On the Register customer page, you can register customers so that they do not need to do this themselves.
Registering a customer creates a new organization as well as an initial administrator account. All login information is automatically sent to this administrator by email. The default organizational unit is also created. The administrator is the first member of this default unit. Any user who will be registered for the organization is automatically added to the default unit. Additional units can be created by the administrators of the organization.
As a prerequisite for registering a customer, the marketplace to which the new customer is to be directed must already exist.
The fields available for defining the new customer organization and its initial administrator depend on the user authentication and management mode used for the platform:
-
INTERNAL mode - users are authenticated by the platform: The user IDs and passwords of an organization are created and maintained in the platform or in an existing LDAP system of the organization.
When maintained in the platform, the user data is stored in the platform's database. An organization's administrator can register new users, and, if required, request passwords to be reset by the operator.
When using an LDAP system, an organization does not need to register its users manually with the platform. The organization's administrator can import the users from the LDAP system, thus automatically registering them with the platform. The users are managed in the LDAP system. The platform continuously synchronizes its information on the users.
-
OIDC mode - users are authenticated against an external provider such as Microsoft Azure Active Directory: The user IDs and passwords of an organization are created and maintained in the OIDC provider system.
When registering a customer and thus creating an organization, you need to specify a marketplace, which is associated with a specific OIDC provider. The user entered as the first administrator must exist in the OIDC provider system. He is automatically registered with the platform.
Together with the organization, a corresponding group is created in the OIDC provider system and the user is assigned to it as a member. Additional group members can then be added at any time in the OIDC provider system. The organization on the platform is synchronized automatically with the corresponding group at the OIDC provider.
To register new customers:
-
Enter the following user data for the first administrator of the new customer organization, depending on the authentication mode:
INTERNAL authentication mode:
- Title: Salutation, such as MR or MS
- First name: The administrator's first name.
- Last name: The administrator's last name.
- Email: Email address of the organization's administrator. Notifications about the creation of the account and access information will be sent to this address.
The system checks whether the syntax of the given email address is valid, and whether the domain name corresponds to the standards as defined and maintained by the Internet Assigned Numbers Authority (IANA).
Examples<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>- Desired user ID: User ID of the organization's administrator. User IDs are restricted to 100 characters and must not contain any of the following characters:
! " # $ % & ' * + , / : ; < = > ? \ ^ `
- Language: Language in which the administrator will work by default. The user interface, available documentation, and emails will be presented to the administrator in the language specified here. The administrator can change the language later. The list of available languages depends on the platform operator's definition of supported languages.
Note: If you register a customer organization with LDAP-based user management, the user ID must match an existing ID in the external LDAP system. The organization's LDAP configuration determines which additional settings are required. All settings defined in the configuration must be mapped to corresponding values, for example first name, last name, email address, and language.
OIDC authentication mode:
In the Desired user ID field, enter the ID of a user who exists in the OIDC provider system associated with the specified marketplace and is not yet a member of a group associated with another organization on the platform. User IDs are restricted to 100 characters and must not contain any of the following characters:
! " # $ % & ' * + , / : ; < = > ? \ ^ `
-
Specify the following data for the new customer organization. Once you have registered the customer, the organization data can be edited only by administrators of the new organization. If you want to update the organization data, you must be registered as an administrator of the organization.
- Organization: Name of the organization, for example, the company name.
- Email: Email address for general communication with the organization. The organization can later specify a separate email address to which invoices can be sent.
The system checks whether the syntax of the given email address is valid, and whether the domain name corresponds to the standards as defined and maintained by the Internet Assigned Numbers Authority (IANA).
Examples<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>- Phone: Phone number of the organization.
- Website: URL of the organization's website.
- Address: Address of the organization.
- Country: Country where the organization is located.
The country determines the VAT rate to be used for calculating the billing data for the customer, provided a country-specific VAT rate is defined.
- Description: Description of the organization. It may, for example, provide information from the company's profile.
The text you enter is stored in the language defined by your user profile. If you want to localize the text, change the language in your user profile and enter the corresponding translation.
Note: Make sure to use only the controls provided in the editor for formatting your text. Manually entered HTML tags and references to external style sheets or content may result in errors in the page layout.
-
From the Marketplace list, select the marketplace to which the new customer is to be directed.
The list contains all marketplaces to which you have been granted access by the marketplace owner.
-
For INTERNAL authentication mode: If the customer is to use an external LDAP system for user authentication, select the Use LDAP-based authentication check box.
Create an LDAP configuration file on your file system, and define the LDAP connection settings in the file. To load the configuration file, click the LDAP settings entry field or Browse, and select the file containing the settings. If you do not specify an organization-specific configuration file, the platform default settings for LDAP connections will be used.
Here is a sample configuration file:
LDAP_BASE_DN=ou\=people,dc\=est,dc\=mycompany,dc\=de
LDAP_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory
LDAP_URL=ldap://myldapserver.lan.est.company.de:389
LDAP_ATTR_UID=uid
LDAP_ATTR_LAST_NAME=sn
LDAP_ATTR_FIRST_NAME=givenName
LDAP_ATTR_EMAIL=scalixEmailAddress
LDAP_ATTR_REFERRAL=ignore
The defaults shown in the sample are defined for LDAP_CONTEXT_FACTORY and LDAP_ATTR_UID, i.e. if you do not specify a value, these defaults apply when creating the organization unless the platform operator has defined different ones in the default LDAP settings for the platform.
-
To save your entries, click Save.
After registering the customer, the administrator of the new customer organization is sent an email with the URL for accessing the selected marketplace and with the credentials for logging in:
- If users are managed by the platform itself, the credentials consist of the user ID and the password for the first login. If the user ID of the administrator already exists in the platform, his email address (e.g<EMAIL_ADDRESS>is used as the user ID for logging in. If yet another organization is created with the same administrator ID, a new user ID is constructed using the existing ID followed by the "at" sign (@) and the ID of the administrator's organization (e.g. userSmith@abcdefg). The administrator is sent an email with the respective user ID.
- If the organization uses an external authentication system (LDAP system or OIDC provider), passwords are managed in this system. Therefore, the administrator is sent an email without a password. The password stored in the external authentication system must be used for logging in.
As a supplier or reseller, your next step is typically to specify the payment types available for the customer so that he can choose his preferred way of paying for his subscriptions. Payment types as well as billing addresses are relevant for services that are not free of charge. Even for these services, however, your operator may deactivate any possibilities for customers to enter such payment information. If this is the case, the definition of payment types is not possible.


Early July 2004
40 milligrams of 2C-D (2,5-dimethoxy-4-methylphenethylamine)
Introduction:
Our summer vacation to California was sadly canceled for numerous reasons, so a camping trip in the nearby Indian Peaks mountain range in Colorado was chosen as our retreat for summer. I was with Winding Wines, my lover and woman who just moved in with me, this was our first real vacation anywhere together.
 We figured the slightly stimulating nature of 2C-D would be great for mountain hiking, and the bright visual effects I had come to associate with this material would really compliment the beautiful scenery. My capsule had forty milligrams of 2C-D and WV’s had fifty.
The Experience:
After swallowing the capsules, we made our way up the trial that lead to the top of Caribou Mountain. Within twenty minutes of taking the material, we both felt an alert. After that initial alert, not too much happened for some time. Then after perhaps forty minutes of hiking, we stopped for a break. Still not feeling much from the 2C-D, other than some mild nausea, we decided to inhale nitrous oxide to “perk” things up a bit.
That did it! The effects of the gas were very powerful (especially at that altitude) and I was actually taken out of my body for a few moments. When I came back, the trees stood with energy and the wind was a powerful breath of life. I could see the molecules of air bouncing off the mountain peaks and rolling across the hills. Energy circulated above, bringing more life to the trees and surrounding forest.
Soon the more powerful visual effects began to manifest. Faces began to form in the rocks around me, all figures and forms in the surrounding objects seemed new, fresh, alive. We were amazed to realize that everything in this area was so untouched. We realized that we were on an old Indian Trail, and that the view we saw was unchanged for maybe thousands of years. It was like looking into the past and future all at once. Pure timelessness. We were both left in a profound state of awe, respect, and wonder for our surroundings.
The colors were so vibrant, especially greens and blues, and these colors radiated out from the rocks and trees. Trails formed on moving objects. Most notable were the trails formed by flying insects buzzing past my head. Pure perfection in their form and flight. With the strong trails, the flies I saw looked as if they were each attached to a leash!
We walked a few more miles through the forest…up and up the mountain, twisting and turning around each bend. The sounds and sights made my mind race as though charged with electricity. We then reached the end of the trail and were both filled with a sense of accomplishment having reached our place of sanctuary…for the moment being anyway.
The trail spilled out into an opening by one of the Rainbow Lakes. We were just fifty-feet or so from tree line, and perhaps a couple-hundred more feet from the summit. Nevertheless, we elected to climb no higher as we were in a true living paradise.
Being at that spot was like being on the moon. This was untouched land, and what we saw was what anyone in this spot would have seen hundreds of years ago. In addition, this was what it will look like a hundred years from now. Again, pure awe and reverence. It was amazing.
By this time, the peak was still going, and the visual effects were intense at this point. The greens of the grass and trees were positively vibrating with life. Being on that mountain summit was so awe-inspiring, and I began to experience that special feeling of oneness with my surroundings, as though I were a part of the mountain. And I was!
My visual field now took on a life of its own, all objects were churning and moving in a wave-like fashion to where everything looked like it as if it were rolling. The rolling hills were actually rolling hills! I threw a rock into the lake, and the resulting ripples began to dissipate in synch with everything else in my view. Trails from moving objects were so very impressive, and they lingered for some time.
There were also very interesting mental and psychedelic effects. Instead of the thought-tangents LSD seems to produce (where one thought leads to an unrelated thought, which would then be tied to another unrelated thought, which would be tied to three more), everything under 2C-D was clear. Whatever I focused on, I stayed focused upon. My mind did not wander too far off the initial thought.
Observing, say, the label on the drink I brought made me think not just of just the tea in the bottle, but of the motivation and psychology behind the colors selected to advertise the tea. Seeing the sign that marked the trailhead caused laughter, as it was shaped to look like a rock. This reminded me of the Flintstones, which spawned thoughts of childhood. Vision, as well as conceptual perception, was now reduced to their most basic levels…archetypes I formed in my brain.
We stayed at the lake for some time before we noted storm clouds moving in. At that point, we decided to make the decent back down to our campsite. This was more difficult than expected! The rocks were positively alive, and made it almost intimidating to walk towards. There was some motor impairment, and my gait was quite a bit off.
By the time we reached the campsite, four hours had passed and we were largely down. I built a fire, and began to prepare dinner. We spent the rest of the evening just chilling by the fire, enjoying dinner, each-other’s company, and the body-buzz left from the 2C-D. It was a wonderful conclusion to a fantastic and blissful day.
Conclusion:
I would not list 2C-D as the best of the best, but it is in the top-five, certainly holds its own, and has its uses. I feel the main advantage here is the short duration…it is nice to have allies that do not keep you occupied all day long. This one is quick on, and quick off leaving little residue. Winding Vines really enjoyed her first 2C-D experience and has since ranked the material among her favorites. Certainly perfect for what we used it for…just a nice day on the mountain.
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.


CustomPaymentSchedule Complex Type |
ROA = Required on Add, ROU = Required on Update, Click Column Header to Sort Column |
| Name | Type | ROA | ROU | Read Only | Basic Comments | Special Comments |
| installmentDates | date array | Yes | Yes | Array must contain two or more dates | SC1 | |
| installmentAmounts | double array | Yes | Yes | Must be greater than zero Array must contain two or more amounts |
SC1 | |
| processType | int | SC2 | ||||
| note | string |


Kantabilon:
This music makes me want to get up and dance! I haven't felt this good in years! All it needs is an accordion!
Your crystal is complete. Enjoy it!


Meloncoin Portal
Active Meloncoin Contracts
Takano
Variety
:
Yubari Melon
Location
:
Hokkaido
Growing Period (Days)
:
90
Ripe Period (Days)
:
10
Seeds to plant:
Plant
Meloncoin Instance
Contract Address
:
Deploying...


--- layout: archive title: Zulip Chat Archive permalink: /stream/116395-maths/topic/(-1).5Ei.html ---
Given i : nat
, an additive commutative group A
, and a : A
, I want to talk about (-1)^i a
. Is there already something in mathlib that does that? Or should I roll my own thing?
I guess I could take the i
-th composite of neg
with itself, and apply that to a
. But is that the appropriate thing to do?
add_group.gsmul ((-1) ^i) a
I think
Last updated: Apr 24 2020 at 19:02 UTC


💻 Impressive AI Projects
We believe Machine Learning and AI are changing the future.
Here's some great real exemples companies are doing.
💡Have we've missed any great project?
Suggest to list it here. Fill in the URL to the project
Submit