Tutorial by Examples: g

In the following code let us assume for simplicity that float and uint32_t have the same size. void fun(uint32_t* u, float* f) { float a = *f *u = 22; float b = *f; print("%g should equal %g\n", a, b); } u and f have different base type, and thus the compiler can a...
Copy byte-per-byte of a file The following function copies a file into another by performing an exact byte-per-byte copy, ignoring the kind of content (which can be either lines of characters in some encoding or binary data): (defun byte-copy (infile outfile) (with-open-file (instream infile :d...
A common use of macros is to create templates for data structures which obey common rules but may contain different fields. By writing a macro, you can allow the detailed configuration of the data structure to be specified without needing to repeat boilerplate code, nor to use a less efficient struc...
null returns True if there are no elements a in a foldable structure t a, and False if there is one or more. Structures for which null is True have a length of 0. ghci> null [] True ghci> null [14, 29] False ghci> null Nothing True ghci> null (Right 'a') False ghci> null ('x'...
Converts the specified string representation of a date and time to its DateTime equivalent using the specified format and culture-specific format information. The format of the string representation must match the specified format exactly. Convert a specific format string to equivalent DateTime Le...
The loop macro supports iteration over the keys, the values, or the keys and values of a hash table. The following examples show possibilities, but the full loop syntax allows more combinations and variants. Over keys and values (let ((ht (make-hash-table))) (setf (gethash 'a ht) 1 (g...
The keys and values of a hash table can be iterated over using the macro with-hash-table-iterator. This may be a bit more complex than maphash or loop, but it could be used to implement the iteration constructs used in those methods. with-hash-table-iterator takes a name and a hash table and binds...
Libpng was written as a companion to PNG specification as a way of reducing the amount of time and effort it takes to support the PNG file format in application programs. Libpng was designed to handle multiple sessions at one time, to be easily modifiable, to be portable to the vast majority of mac...
In fluent programming style you return this from fluent (setter) methods that would return nothing in non-fluent programming style. This allows you to chain the different method calls which makes your code shorter and easier to handle for the developers. Consider this non-fluent code: public clas...
The FileSystem API of Java 7 allows to read and add entries from or to a Zip file using the Java NIO file API in the same way as operating on any other filesystem. The FileSystem is a resource that should be properly closed after use, therefore the try-with-resources block should be used. Reading ...
The WeakSet object is used for storing weakly held objects in a collection. The difference from Set is that you can't store primitive values, like numbers or string. Also, references to the objects in the collection are held weakly, which means that if there is no other reference to an object stored...
To add a value to a WeakSet, use the .add() method. This method is chainable. const obj1 = {}, obj2 = {}; const weakset = new WeakSet(); weakset.add(obj1).add(obj2);
To check if a value exits in a WeakSet, use the .has() method. const obj1 = {}, obj2 = {}; const weakset = new WeakSet([obj1]); console.log(weakset.has(obj1)); // true console.log(weakset.has(obj2)); // false
To remove a value from a WeakSet, use the .delete() method. This method returns true if the value existed and has been removed, otherwise false. const obj1 = {}, obj2 = {}; const weakset = new WeakSet([obj1]); console.log(weakset.delete(obj1)); // true console.log(weakset.delete(obj2));...
Care must be taken when initializing variables of type float to literal values or comparing them with literal values, because regular floating point literals like 0.1 are of type double. This may lead to surprises: #include <stdio.h> int main() { float n; n = 0.1; if (n > ...
Description This is a self-contained running example including/showcasing: minimum dependencies needed, Java Configuration, Bean declaration by annotation and Java Configuration, Dependency Injection by Constructor and by Property, and Pre/Post hooks. Dependencies These dependencies are needed in...
Once an object has an effective type, you should not attempt to modify it through a pointer of another type, unless that other type is a character type, char, signed char or unsigned char. #include <inttypes.h> #include <stdio.h> int main(void) { uint32_t a = 57; // conversion...
To do this first locate config folder in your root. Then open connections.js Locate // someMysqlServer: { // adapter: 'sails-mysql', // host: 'YOUR_MYSQL_SERVER_HOSTNAME_OR_IP_ADDRESS', // user: 'YOUR_MYSQL_USER', //optional // password: 'YOUR_MYSQL_PASSWORD', //optional /...
A problem: Canvas only remembers pixels, not shapes or images This is an image of a circular beach ball, and of course, you can't drag the ball around the image. It may surprise you that just like an image, if you draw a circle on a Canvas you cannot drag that circle around the canvas. That's be...
What is a "Shape"? You typically save your shapes by creating a JavaScript "shape" object representing each shape. var myCircle = { x:30, y:20, radius:15 }; Of course, you're not really saving shapes. Instead, you're saving the definition of how to draw the shapes. Then put...

Page 390 of 693