text:
Integer Set Library: Manual
- Homer Richards
- 2 years ago
- Views:
1 Integer Set Library: Manual Version: isl-0.15 Sven Verdoolaege June 11, 2015
2 Contents 1 User Manual Introduction Backward Incompatible Changes License Installation Installation from the git repository Common installation instructions Integer Set Library Memory Management Initialization Return Types Values Sets and Relations Error Handling Identifiers Spaces Local Spaces Creating New Sets and Relations Inspecting Sets and Relations Points Functions Input and Output Properties Unary Operations Binary Operations Ternary Operations Lists Associative arrays Vectors Matrices Bounds on Piecewise Quasipolynomials and Piecewise Quasipolynomial Reductions Parametric Vertex Enumeration Polyhedral Compilation Library
3 1.5.1 Schedule Trees Dependence Analysis Scheduling AST Generation Applications isl polyhedron sample isl pip isl polyhedron minimize isl polytope scan isl codegen Implementation Details Sets and Relations Simple Hull Parametric Integer Programming Introduction The Dual Simplex Method Gomory Cuts Negative Unknowns and Maximization Preprocessing Postprocessing Context Tableau Experiments Online Symmetry Detection Coalescing Transitive Closure Introduction Computing an Approximation of R k Checking Exactness Decomposing R into strongly connected components Partitioning the domains and ranges of R Incremental Computation An Omega-like implementation References 224 2
4 Chapter 1 User Manual 1.1 Introduction isl is a thread-safe C library for manipulating sets and relations of integer points bounded by affine constraints. The descriptions of the sets and relations may involve both parameters and existentially quantified variables. All computations are performed in exact integer arithmetic using GMP or imath. The isl library offers functionality that is similar to that offered by the Omega and Omega+ libraries, but the underlying algorithms are in most cases completely different. The library is by no means complete and some fairly basic functionality is still missing. Still, even in its current form, the library has been successfully used as a backend polyhedral library for the polyhedral scanner CLooG and as part of an equivalence checker of static affine programs. For bug reports, feature requests and questions, visit the discussion group at Backward Incompatible Changes Changes since isl-0.02 The old printing functions have been deprecated and replaced by isl printer functions, see Input and Output. Most functions related to dependence analysis have acquired an extra must argument. To obtain the old behavior, this argument should be given the value 1. See Dependence Analysis. Changes since isl-0.03 The function isl pw qpolynomial fold add has been renamed to isl pw qpolynomial fold fold. Similarly, isl union pw qpolynomial fold add has been renamed to isl union pw qpolynomial fold fold 3
5 Changes since isl-0.04 All header files have been renamed from isl header.h to isl/header.h. Changes since isl-0.05 The functions isl printer print basic set and isl printer print basic map no longer print a newline. The functions isl flow get no source and isl union map compute flow now return the accesses for which no source could be found instead of the iterations where those accesses occur. The functions isl basic map identity and isl map identity now take a map space as input. An old call isl map identity(space) can be rewritten to isl map identity(isl space map from set(space)). The function isl map power no longer takes a parameter position as input. Instead, the exponent is now expressed as the domain of the resulting relation. Changes since isl-0.06 The format of isl printer print qpolynomial s ISL FORMAT ISL output has changed. Use ISL FORMAT C to obtain the old output. The * fast * functions have been renamed to * plain *. Some of the old names have been kept for backward compatibility, but they will be removed in the future. Changes since isl-0.07 The function isl pw aff max has been renamed to isl pw aff union max. Similarly, the function isl pw aff add has been renamed to isl pw aff union add. The isl dim type has been renamed to isl space along with the associated functions. Some of the old names have been kept for backward compatibility, but they will be removed in the future. Spaces of maps, sets and parameter domains are now treated differently. The distinction between map spaces and set spaces has always been made on a conceptual level, but proper use of such spaces was never checked. Furthermore, up until isl-0.07 there was no way of explicitly creating a parameter space. These can now be created directly using isl space params alloc or from other spaces using isl space params. The space in which isl aff, isl pw aff, isl qpolynomial, isl pw qpolynomial, isl qpolynomial fold and isl pw qpolynomial fold objects live is now a map space instead of a set space. This means, for example, that the dimensions 4
6 of the domain of an isl aff are now considered to be of type isl dim in instead of isl dim set. Extra functions have been added to obtain the domain space. Some of the constructors still take a domain space and have therefore been renamed. The functions isl equality alloc and isl inequality alloc now take an isl local space instead of an isl space. An isl local space can be created from an isl space using isl local space from space. The isl div type has been removed. Functions that used to return an isl div now return an isl aff. Note that the space of an isl aff is that of relation. When replacing a call to isl div get coefficient by a call to isl aff get coefficient any isl dim set argument needs to be replaced by isl dim in. A call to isl aff from div can be replaced by a call to isl aff floor. A call to isl qpolynomial div(div) call be replaced by the nested call isl_qpolynomial_from_aff(isl_aff_floor(div)) The function isl constraint div has also been renamed to isl constraint get div. The nparam argument has been removed from isl map read from str and similar functions. When reading input in the original PolyLib format, the result will have no parameters. If parameters are expected, the caller may want to perform dimension manipulation on the result. Changes since isl-0.09 The schedule split parallel option has been replaced by the schedule split scaled option. The first argument of isl pw aff cond is now an isl pw aff instead of an isl set. A call isl pw aff cond(a, b, c) can be replaced by Changes since isl-0.10 isl_pw_aff_cond(isl_set_indicator_function(a), b, c) The functions isl set dim has lower bound and isl set dim has upper bound have been renamed to isl set dim has any lower bound and isl set dim has any upper bound. The new isl set dim has lower bound and isl set dim has upper bound have slightly different meanings. Changes since isl-0.12 isl int has been replaced by isl val. Some of the old functions are still available in isl/deprecated/*.h but they will be removed in the future. 5
7 The functions isl pw qpolynomial eval, isl union pw qpolynomial eval, isl pw qpolynomial fold eval and isl union pw qpolynomial fold eval have been changed to return an isl val instead of an isl qpolynomial. The function isl band member is zero distance has been removed. Essentially the same functionality is available through isl band member is coincident, except that is requires setting up coincidence constraints. The option schedule outer zero distance has accordingly been replaced by the option schedule outer coincidence. The function isl vertex get expr has been changed to return an isl multi aff instead of a rational isl basic set. The function isl vertex get domain has been changed to return a regular basic set, rather than a rational basic set. Changes since isl-0.14 Objects of type isl union pw multi aff can no longer contain two or more isl pw multi aff objects with the same domain space. The function isl union pw multi aff add now consistently computes the sum on the shared definition domain. The function isl union pw multi aff union add has been added to compute the sum on the union of definition domains. The original behavior of isl union pw multi aff add was confused and is no longer available. Band forests have been replaced by schedule trees. The function isl union map compute flow has been replaced by the function isl union access info compute flow. Note that the may dependence relation returned by isl union flow get may dependence is the union of the two dependence relations returned by isl union map compute flow. Similarly for the no source relations. The function isl union map compute flow is still available for backward compatibility, but it will be removed in the future. The function isl basic set drop constraint has been deprecated. The function isl ast build ast from schedule has been renamed to isl ast build node from schedule m The original name is still available for backward compatibility, but it will be removed in the future. The separation class AST generation option has been deprecated. The functions isl equality alloc and isl inequality alloc have been renamed to isl constraint alloc equality and isl constraint alloc inequality. The original names have been kept for backward compatibility, but they will be removed in the future. The schedule fuse option has been replaced by the schedule serialize sccs option. The effect of setting the schedule fuse option to ISL SCHEDULE FUSE MIN is now obtained by turning on the schedule serialize sccs option. 6
8 1.2 License isl is released under the MIT license. 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. THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WAR- RANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPY- RIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LI- ABILITY, 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. Note that by default isl requires GMP, which is released under the GNU Lesser General Public License (LGPL). This means that code linked against isl is also linked against LGPL code. When configuring with --with-int=imath, isl will link against imath, a library for exact integer arithmetic released under the MIT license. 1.3 Installation The source of isl can be obtained either as a tarball or from the git repository. Both are available from The installation process depends on how you obtained the source Installation from the git repository 1. Clone or update the repository The first time the source is obtained, you need to clone the repository. git clone git://repo.or.cz/isl.git To obtain updates, you need to pull in the latest changes git pull 2. Optionally get imath submodule To build isl with imath, you need to obtain the imath submodule by running in the git source tree of isl 7
9 git submodule init git submodule update This will fetch the required version of imath in a subdirectory of isl. 3. Generate configure./autogen.sh After performing the above steps, continue with the Common installation instructions Common installation instructions 1. Obtain GMP By default, building isl requires GMP, including its headers files. Your distribution may not provide these header files by default and you may need to install a package called gmp-devel or something similar. Alternatively, GMP can be built from source, available from GMP is not needed if you build isl with imath. 2. Configure isl uses the standard autoconf configure script. To run it, just type./configure optionally followed by some configure options. A complete list of options can be obtained by running./configure --help Below we discuss some of the more common options. --prefix Installation prefix for isl --with-int=[gmp imath] Select the integer library to be used by isl, the default is gmp. Note that isl may run significantly slower if you use imath. --with-gmp-prefix Installation prefix for GMP (architecture-independent files). --with-gmp-exec-prefix Installation prefix for GMP (architecture-dependent files). 3. Compile make 4. Install (optional) make install 8
10 1.4 Integer Set Library Memory Management Since a high-level operation on isl objects usually involves several substeps and since the user is usually not interested in the intermediate results, most functions that return a new object will also release all the objects passed as arguments. If the user still wants to use one or more of these arguments after the function call, she should pass along a copy of the object rather than the object itself. The user is then responsible for making sure that the original object gets used somewhere else or is explicitly freed. The arguments and return values of all documented functions are annotated to make clear which arguments are released and which arguments are preserved. In particular, the following annotations are used isl give isl give means that a new object is returned. The user should make sure that the returned pointer is used exactly once as a value for an isl take argument. In between, it can be used as a value for as many isl keep arguments as the user likes. There is one exception, and that is the case where the pointer returned is NULL. Is this case, the user is free to use it as an isl take argument or not. When applied to a char *, the returned pointer needs to be freed using free. isl null isl take isl null means that a NULL value is returned. isl take means that the object the argument points to is taken over by the function and may no longer be used by the user as an argument to any other function. The pointer value must be one returned by a function returning an isl give pointer. If the user passes in a NULL value, then this will be treated as an error in the sense that the function will not perform its usual operation. However, it will still make sure that all the other isl take arguments are released. isl keep isl keep means that the function will only use the object temporarily. After the function has finished, the user can still use it as an argument to other functions. A NULL value will be treated in the same way as a NULL value for an isl take argument. This annotation may also be used on return values of type const char *, in which case the returned pointer should not be freed by the user and is only valid until the object from which it was derived is updated or freed Initialization All manipulations of integer sets and relations occur within the context of an isl ctx. A given isl ctx can only be used within a single thread. All arguments of a function 9
11 are required to have been allocated within the same context. There are currently no functions available for moving an object from one isl ctx to another isl ctx. This means that there is currently no way of safely moving an object from one thread to another, unless the whole isl ctx is moved. An isl ctx can be allocated using isl ctx alloc and freed using isl ctx free. All objects allocated within an isl ctx should be freed before the isl ctx itself is freed. isl_ctx *isl_ctx_alloc(); void isl_ctx_free(isl_ctx *ctx); The user can impose a bound on the number of low-level operations that can be performed by an isl ctx. This bound can be set and retrieved using the following functions. A bound of zero means that no bound is imposed. The number of operations performed can be reset using isl ctx reset operations. Note that the number of low-level operations needed to perform a high-level computation may differ significantly across different versions of isl, but it should be the same across different platforms for the same version of isl. Warning: This feature is experimental. isl has good support to abort and bail out during the computation, but this feature may exercise error code paths that are normally not used that much. Consequently, it is not unlikely that hidden bugs will be exposed. void isl_ctx_set_max_operations(isl_ctx *ctx, unsigned long max_operations); unsigned long isl_ctx_get_max_operations(isl_ctx *ctx); void isl_ctx_reset_operations(isl_ctx *ctx); In order to be able to create an object in the same context as another object, most object types (described later in this document) provide a function to obtain the context in which the object was created. #include <isl/val.h> isl_ctx *isl_val_get_ctx( isl_keep isl_val *val); isl_ctx *isl_multi_val_get_ctx( isl_keep isl_multi_val *mv); #include <isl/id.h> isl_ctx *isl_id_get_ctx( isl_keep isl_id *id); #include <isl/local_space.h> isl_ctx *isl_local_space_get_ctx( isl_keep isl_local_space *ls); #include <isl/set.h> isl_ctx *isl_set_list_get_ctx( isl_keep isl_set_list *list); 10
12 #include <isl/aff.h> isl_ctx *isl_aff_get_ctx( isl_keep isl_aff *aff); isl_ctx *isl_multi_aff_get_ctx( isl_keep isl_multi_aff *maff); isl_ctx *isl_pw_aff_get_ctx( isl_keep isl_pw_aff *pa); isl_ctx *isl_pw_multi_aff_get_ctx( isl_keep isl_pw_multi_aff *pma); isl_ctx *isl_multi_pw_aff_get_ctx( isl_keep isl_multi_pw_aff *mpa); isl_ctx *isl_union_pw_aff_get_ctx( isl_keep isl_union_pw_aff *upa); isl_ctx *isl_union_pw_multi_aff_get_ctx( isl_keep isl_union_pw_multi_aff *upma); isl_ctx *isl_multi_union_pw_aff_get_ctx( isl_keep isl_multi_union_pw_aff *mupa); #include <isl/id_to_ast_expr.h> isl_ctx *isl_id_to_ast_expr_get_ctx( isl_keep isl_id_to_ast_expr *id2expr); #include <isl/point.h> isl_ctx *isl_point_get_ctx( isl_keep isl_point *pnt); #include <isl/vec.h> isl_ctx *isl_vec_get_ctx( isl_keep isl_vec *vec); #include <isl/mat.h> isl_ctx *isl_mat_get_ctx( isl_keep isl_mat *mat); #include <isl/vertices.h> isl_ctx *isl_vertices_get_ctx( isl_keep isl_vertices *vertices); isl_ctx *isl_vertex_get_ctx( isl_keep isl_vertex *vertex); isl_ctx *isl_cell_get_ctx( isl_keep isl_cell *cell); #include <isl/flow.h> isl_ctx *isl_restriction_get_ctx( isl_keep isl_restriction *restr); isl_ctx *isl_union_access_info_get_ctx( isl_keep isl_union_access_info *access); isl_ctx *isl_union_flow_get_ctx( isl_keep isl_union_flow *flow); #include <isl/schedule.h> isl_ctx *isl_schedule_get_ctx( isl_keep isl_schedule *sched); isl_ctx *isl_schedule_constraints_get_ctx( isl_keep isl_schedule_constraints *sc); 11
13 #include <isl/schedule_node.h> isl_ctx *isl_schedule_node_get_ctx( isl_keep isl_schedule_node *node); #include <isl/band.h> isl_ctx *isl_band_get_ctx( isl_keep isl_band *band); #include <isl/ast_build.h> isl_ctx *isl_ast_build_get_ctx( isl_keep isl_ast_build *build); #include <isl/ast.h> isl_ctx *isl_ast_expr_get_ctx( isl_keep isl_ast_expr *expr); isl_ctx *isl_ast_node_get_ctx( isl_keep isl_ast_node *node); Return Types isl uses two special return types for functions that either return a boolean or that in principle do not return anything. In particular, the isl bool type has three possible values: isl bool true (a positive integer value), indicating true or yes; isl bool false (the integer value zero), indicating false or no; and isl bool error (a negative integer value), indicating that something went wrong. The isl stat type has two possible values: isl stat ok (the integer value zero), indicating a successful operation; and isl stat error (a negative integer value), indicating that something went wrong. See for more information on isl bool error and isl stat error Values An isl val represents an integer value, a rational value or one of three special values, infinity, negative infinity and NaN. Some predefined values can be created using the following functions. #include <isl/val.h> isl_give isl_val *isl_val_zero(isl_ctx *ctx); isl_give isl_val *isl_val_one(isl_ctx *ctx); isl_give isl_val *isl_val_negone(isl_ctx *ctx); isl_give isl_val *isl_val_nan(isl_ctx *ctx); isl_give isl_val *isl_val_infty(isl_ctx *ctx); isl_give isl_val *isl_val_neginfty(isl_ctx *ctx); Specific integer values can be created using the following functions. #include <isl/val.h> isl_give isl_val *isl_val_int_from_si(isl_ctx *ctx, long i); 12
14 isl_give isl_val *isl_val_int_from_ui(isl_ctx *ctx, unsigned long u); isl_give isl_val *isl_val_int_from_chunks(isl_ctx *ctx, size_t n, size_t size, const void *chunks); The function isl val int from chunks constructs an isl val from the n digits, each consisting of size bytes, stored at chunks. The least significant digit is assumed to be stored first. Value objects can be copied and freed using the following functions. #include <isl/val.h> isl_give isl_val *isl_val_copy( isl_keep isl_val *v); isl_null isl_val *isl_val_free( isl_take isl_val *v); They can be inspected using the following functions. #include <isl/val.h> long isl_val_get_num_si( isl_keep isl_val *v); long isl_val_get_den_si( isl_keep isl_val *v); double isl_val_get_d( isl_keep isl_val *v); size_t isl_val_n_abs_num_chunks( isl_keep isl_val *v, size_t size); int isl_val_get_abs_num_chunks( isl_keep isl_val *v, size_t size, void *chunks); isl val n abs num chunks returns the number of digits of size bytes needed to store the absolute value of the numerator of v. isl val get abs num chunks stores these digits at chunks, which is assumed to have been preallocated by the caller. The least significant digit is stored first. Note that isl val get num si, isl val get den si, isl val get d, isl val n abs num chunks and isl val get abs num chunks can only be applied to rational values. An isl val can be modified using the following function. #include <isl/val.h> isl_give isl_val *isl_val_set_si( isl_take isl_val *v, long i); The following unary properties are defined on isl vals. #include <isl/val.h> int isl_val_sgn( isl_keep isl_val *v); isl_bool isl_val_is_zero( isl_keep isl_val *v); isl_bool isl_val_is_one( isl_keep isl_val *v); isl_bool isl_val_is_negone( isl_keep isl_val *v); isl_bool isl_val_is_nonneg( isl_keep isl_val *v); isl_bool isl_val_is_nonpos( isl_keep isl_val *v); isl_bool isl_val_is_pos( isl_keep isl_val *v); 13
15 isl_bool isl_val_is_neg( isl_keep isl_val *v); isl_bool isl_val_is_int( isl_keep isl_val *v); isl_bool isl_val_is_rat( isl_keep isl_val *v); isl_bool isl_val_is_nan( isl_keep isl_val *v); isl_bool isl_val_is_infty( isl_keep isl_val *v); isl_bool isl_val_is_neginfty( isl_keep isl_val *v); Note that the sign of NaN is undefined. The following binary properties are defined on pairs of isl vals. #include <isl/val.h> isl_bool isl_val_lt( isl_keep isl_val *v1, isl_keep isl_val *v2); isl_bool isl_val_le( isl_keep isl_val *v1, isl_keep isl_val *v2); isl_bool isl_val_gt( isl_keep isl_val *v1, isl_keep isl_val *v2); isl_bool isl_val_ge( isl_keep isl_val *v1, isl_keep isl_val *v2); isl_bool isl_val_eq( isl_keep isl_val *v1, isl_keep isl_val *v2); isl_bool isl_val_ne( isl_keep isl_val *v1, isl_keep isl_val *v2); isl_bool isl_val_abs_eq( isl_keep isl_val *v1, isl_keep isl_val *v2); The function isl val abs eq checks whether its two arguments are equal in absolute value. For integer isl vals we additionally have the following binary property. #include <isl/val.h> isl_bool isl_val_is_divisible_by( isl_keep isl_val *v1, isl_keep isl_val *v2); An isl val can also be compared to an integer using the following function. The result is undefined for NaN. #include <isl/val.h> int isl_val_cmp_si( isl_keep isl_val *v, long i); The following unary operations are available on isl vals. #include <isl/val.h> isl_give isl_val *isl_val_abs( isl_take isl_val *v); isl_give isl_val *isl_val_neg( isl_take isl_val *v); isl_give isl_val *isl_val_floor( isl_take isl_val *v); isl_give isl_val *isl_val_ceil( isl_take isl_val *v); isl_give isl_val *isl_val_trunc( isl_take isl_val *v); isl_give isl_val *isl_val_inv( isl_take isl_val *v); isl_give isl_val *isl_val_2exp( isl_take isl_val *v); 14
16 The following binary operations are available on isl vals. #include <isl/val.h> isl_give isl_val *isl_val_min( isl_take isl_val *v1, isl_take isl_val *v2); isl_give isl_val *isl_val_max( isl_take isl_val *v1, isl_take isl_val *v2); isl_give isl_val *isl_val_add( isl_take isl_val *v1, isl_take isl_val *v2); isl_give isl_val *isl_val_add_ui( isl_take isl_val *v1, unsigned long v2); isl_give isl_val *isl_val_sub( isl_take isl_val *v1, isl_take isl_val *v2); isl_give isl_val *isl_val_sub_ui( isl_take isl_val *v1, unsigned long v2); isl_give isl_val *isl_val_mul( isl_take isl_val *v1, isl_take isl_val *v2); isl_give isl_val *isl_val_mul_ui( isl_take isl_val *v1, unsigned long v2); isl_give isl_val *isl_val_div( isl_take isl_val *v1, isl_take isl_val *v2); On integer values, we additionally have the following operations. #include <isl/val.h> isl_give isl_val *isl_val_2exp( isl_take isl_val *v); isl_give isl_val *isl_val_mod( isl_take isl_val *v1, isl_take isl_val *v2); isl_give isl_val *isl_val_gcd( isl_take isl_val *v1, isl_take isl_val *v2); isl_give isl_val *isl_val_gcdext( isl_take isl_val *v1, isl_take isl_val *v2, isl_give isl_val **x, isl_give isl_val **y); The function isl val gcdext returns the greatest common divisor g of v1 and v2 as well as two integers *x and *y such that *x * v1 + *y * v2 = g. GMP specific functions These functions are only available if isl has been compiled with GMP support. Specific integer and rational values can be created from GMP values using the following functions. #include <isl/val_gmp.h> isl_give isl_val *isl_val_int_from_gmp(isl_ctx *ctx, mpz_t z); isl_give isl_val *isl_val_from_gmp(isl_ctx *ctx, const mpz_t n, const mpz_t d); 15
17 The numerator and denominator of a rational value can be extracted as GMP values using the following functions. #include <isl/val_gmp.h> int isl_val_get_num_gmp( isl_keep isl_val *v, mpz_t z); int isl_val_get_den_gmp( isl_keep isl_val *v, mpz_t z); Sets and Relations isl uses six types of objects for representing sets and relations, isl basic set, isl basic map, isl set, isl map, isl union set and isl union map. isl basic set and isl basic map represent sets and relations that can be described as a conjunction of affine constraints, while isl set and isl map represent unions of isl basic sets and isl basic maps, respectively. However, all isl basic sets or isl basic maps in the union need to live in the same space. isl union sets and isl union maps represent unions of isl sets or isl maps in different spaces, where spaces are considered different if they have a different number of dimensions and/or different names (see 1.4.8). The difference between sets and relations (maps) is that sets have one set of variables, while relations have two sets of variables, input variables and output variables Error Handling isl supports different ways to react in case a runtime error is triggered. Runtime errors arise, e.g., if a function such as isl map intersect is called with two maps that have incompatible spaces. There are three possible ways to react on error: to warn, to continue or to abort. The default behavior is to warn. In this mode, isl prints a warning, stores the last error in the corresponding isl ctx and the function in which the error was triggered returns a value indicating that some error has occurred. In case of functions returning a pointer, this value is NULL. In case of functions returning an isl bool or an isl stat, this valus is isl bool error or isl stat error. An error does not corrupt internal state, such that isl can continue to be used. isl also provides functions to read the last error and to reset the memory that stores the last error. The last error is only stored for information purposes. Its presence does not change the behavior of isl. Hence, resetting an error is not required to continue to use isl, but only to observe new errors. #include <isl/ctx.h> enum isl_error isl_ctx_last_error(isl_ctx *ctx); void isl_ctx_reset_error(isl_ctx *ctx); Another option is to continue on error. This is similar to warn on error mode, except that isl does not print any warning. This allows a program to implement its own error reporting. The last option is to directly abort the execution of the program from within the isl library. This makes it obviously impossible to recover from an error, but it allows to 16
18 directly spot the error location. By aborting on error, debuggers break at the location the error occurred and can provide a stack trace. Other tools that automatically provide stack traces on abort or that do not want to continue execution after an error was triggered may also prefer to abort on error. The on error behavior of isl can be specified by calling isl options set on error or by setting the command line option --isl-on-error. Valid arguments for the function call are ISL ON ERROR WARN, ISL ON ERROR CONTINUE and ISL ON ERROR ABORT. The choices for the command line option are warn, continue and abort. It is also possible to query the current error mode. #include <isl/options.h> isl_stat isl_options_set_on_error(isl_ctx *ctx, int val); int isl_options_get_on_error(isl_ctx *ctx); Identifiers Identifiers are used to identify both individual dimensions and tuples of dimensions. They consist of an optional name and an optional user pointer. The name and the user pointer cannot both be NULL, however. Identifiers with the same name but different pointer values are considered to be distinct. Similarly, identifiers with different names but the same pointer value are also considered to be distinct. Equal identifiers are represented using the same object. Pairs of identifiers can therefore be tested for equality using the == operator. Identifiers can be constructed, copied, freed, inspected and printed using the following functions. #include <isl/id.h> isl_give isl_id *isl_id_alloc(isl_ctx *ctx, isl_keep const char *name, void *user); isl_give isl_id *isl_id_set_free_user( isl_take isl_id *id, isl_give void (*free_user)(void *user)); isl_give isl_id *isl_id_copy(isl_id *id); isl_null isl_id *isl_id_free( isl_take isl_id *id); void *isl_id_get_user( isl_keep isl_id *id); isl_keep const char *isl_id_get_name( isl_keep isl_id *id); isl_give isl_printer *isl_printer_print_id( isl_take isl_printer *p, isl_keep isl_id *id); The callback set by isl id set free user is called on the user pointer when the last reference to the isl id is freed. Note that isl id get name returns a pointer to some internal data structure, so the result can only be used while the corresponding isl id is alive. 17
19 1.4.8 Spaces Whenever a new set, relation or similar object is created from scratch, the space in which it lives needs to be specified using an isl space. Each space involves zero or more parameters and zero, one or two tuples of set or input/output dimensions. The parameters and dimensions are identified by an isl dim type and a position. The type isl dim param refers to parameters, the type isl dim set refers to set dimensions (for spaces with a single tuple of dimensions) and the types isl dim in and isl dim out refer to input and output dimensions (for spaces with two tuples of dimensions). Local spaces (see 1.4.9) also contain dimensions of type isl dim div. Note that parameters are only identified by their position within a given object. Across different objects, parameters are (usually) identified by their names or identifiers. Only unnamed parameters are identified by their positions across objects. The use of unnamed parameters is discouraged. #include <isl/space.h> isl_give isl_space *isl_space_alloc(isl_ctx *ctx, unsigned nparam, unsigned n_in, unsigned n_out); isl_give isl_space *isl_space_params_alloc(isl_ctx *ctx, unsigned nparam); isl_give isl_space *isl_space_set_alloc(isl_ctx *ctx, unsigned nparam, unsigned dim); isl_give isl_space *isl_space_copy( isl_keep isl_space *space); isl_null isl_space *isl_space_free( isl_take isl_space *space); The space used for creating a parameter domain needs to be created using isl space params alloc. For other sets, the space needs to be created using isl space set alloc, while for a relation, the space needs to be created using isl space alloc. To check whether a given space is that of a set or a map or whether it is a parameter space, use these functions: #include <isl/space.h> isl_bool isl_space_is_params( isl_keep isl_space *space); isl_bool isl_space_is_set( isl_keep isl_space *space); isl_bool isl_space_is_map( isl_keep isl_space *space); Spaces can be compared using the following functions: #include <isl/space.h> isl_bool isl_space_is_equal( isl_keep isl_space *space1, isl_keep isl_space *space2); isl_bool isl_space_is_domain( isl_keep isl_space *space1, isl_keep isl_space *space2); isl_bool isl_space_is_range( isl_keep isl_space *space1, isl_keep isl_space *space2); isl_bool isl_space_tuple_is_equal( isl_keep isl_space *space1, 18
20 enum isl_dim_type type1, isl_keep isl_space *space2, enum isl_dim_type type2); isl space is domain checks whether the first argument is equal to the domain of the second argument. This requires in particular that the first argument is a set space and that the second argument is a map space. isl space tuple is equal checks whether the given tuples (isl dim in, isl dim out or isl dim set) of the given spaces are the same. That is, it checks if they have the same identifier (if any), the same dimension and the same internal structure (if any). It is often useful to create objects that live in the same space as some other object. This can be accomplished by creating the new objects (see or ) based on the space of the original object. #include <isl/set.h> isl_give isl_space *isl_basic_set_get_space( isl_keep isl_basic_set *bset); isl_give isl_space *isl_set_get_space( isl_keep isl_set *set); #include <isl/union_set.h> isl_give isl_space *isl_union_set_get_space( isl_keep isl_union_set *uset); #include <isl/map.h> isl_give isl_space *isl_basic_map_get_space( isl_keep isl_basic_map *bmap); isl_give isl_space *isl_map_get_space( isl_keep isl_map *map); #include <isl/union_map.h> isl_give isl_space *isl_union_map_get_space( isl_keep isl_union_map *umap); #include <isl/constraint.h> isl_give isl_space *isl_constraint_get_space( isl_keep isl_constraint *constraint); #include <isl/polynomial.h> isl_give isl_space *isl_qpolynomial_get_domain_space( isl_keep isl_qpolynomial *qp); isl_give isl_space *isl_qpolynomial_get_space( isl_keep isl_qpolynomial *qp); isl_give isl_space *isl_qpolynomial_fold_get_space( isl_keep isl_qpolynomial_fold *fold); isl_give isl_space *isl_pw_qpolynomial_get_domain_space( isl_keep isl_pw_qpolynomial *pwqp); isl_give isl_space *isl_pw_qpolynomial_get_space( isl_keep isl_pw_qpolynomial *pwqp); 19
Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions SelectionMore information
Fritz Speed Documentation
Fritz Speed Documentation Release 0.1.1 Thomas Westfeld February 04, 2016 Contents 1 What it does 1 2 How It Works 3 3 Contents 5 3.1 Installation................................................ 5 3.2More information
Lecture 03 Bits, Bytes and Data Types
Lecture 03 Bits, Bytes and Data Types In this lecture Computer Languages Assembly Language The compiler Operating system Data and program instructions Bits, Bytes and Data Types ASCII table Data TypesMore information
Faculty of Computer Science / Institute of Systems Architecture / Operating Systems SYSTEMS PROGRAMMING C++ INTRODUCTION Alexander Warg WHY C++? C++ is the language that allows to express ideas from theMore information
monoseq Documentation
monoseq Documentation Release 1.2.1 Martijn Vermaat July 16, 2015 Contents 1 User documentation 3 1.1 Installation................................................ 3 1.2 User guide................................................More information
C Programming Dr. Hasan Demirel
C How to Program, H. M. Deitel and P. J. Deitel, Prentice Hall, 5 th edition (3 rd edition or above is also OK). Introduction to C Programming Dr. Hasan Demirel Programming Languages There are three typesMore information
Analog Documentation. Release 0.3.4. Fabian Büchler
Analog Documentation Release 0.3.4 Fabian Büchler April 01, 2014 Contents 1 Contents 3 1.1 Quickstart................................................ 3 1.2 Analog API................................................More information
Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)
Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than theMore information
Storage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas
CS 110B - Rule Storage Classes Page 18-1 Attributes are distinctive features of a variable. Data type, int or double for example, is an attribute. Storage class is another attribute. There are four storageMore information
Informatica e Sistemi in Tempo Reale
Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)More information
Release Notes LS Retail Data Director 3.01.04 August 2011
Release Notes LS Retail Data Director 3.01.04 August 2011 Copyright 2010-2011, LS Retail. All rights reserved. All trademarks belong to their respective holders. Contents 1 Introduction... 1 1.1 What sMore information
Chapter 2: Problem Solving Using C++
Chapter 2: Problem Solving Using C++ 1 Objectives In this chapter, you will learn about: Modular programs Programming style Data types Arithmetic operations Variables and declaration statements CommonMore information
Chapter 8. Arithmetic in C++
Christian Jacob Chapter 8 Arithmetic in C++ 8.1 The C++ Vocabulary 8.2 Variables and Types 8.2.1 Data Objects 8.2.2 Variables 8.2.3 Declaration of Variables 8.3 Elementary C++ Data Types 8.3.1 IntegersMore information
PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York LondonMore information
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programmingMore information
Borland C++ Compiler: Operators
Introduction Borland C++ Compiler: Operators An operator is a symbol that specifies which operation to perform in a statement or expression. An operand is one of the inputs of an operator. For example,More information
Healthstone Monitoring System
Healthstone Monitoring System Patrick Lambert v1.1.0 Healthstone Monitoring System 1 Contents 1 Introduction 2 2 Windows client 2 2.1 Installation.............................................. 2 2.2 Troubleshooting...........................................More information
TN203. Porting a Program to Dynamic C. Introduction
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestionsMore information
OpenACC 2.0 and the PGI Accelerator Compilers
OpenACC 2.0 and the PGI Accelerator Compilers Michael Wolfe The Portland Group firstname.lastname@example.com This presentation discusses the additions made to the OpenACC API in Version 2.0. I will also presentMore information
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstractionMore information
Adjusted/Modified by Nicole Tobias. Chapter 2: Basic Elements of C++
Adjusted/Modified by Nicole Tobias Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data typesMore information
Fast Arithmetic Coding (FastAC) Implementations
Fast Arithmetic Coding (FastAC) Implementations Amir Said 1 Introduction This document describes our fast implementations of arithmetic coding, which achieve optimal compression and higher throughput byMore information
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,More information
Object-Oriented Programming, Iouliia Skliarova
Object-Oriented Programming, Iouliia Skliarova Data types define the way you use the storage (memory) in the programs. By specifying a data type, you tell the sompiler how to create a particular pieceMore information
Virtuozzo Virtualization SDK
Virtuozzo Virtualization SDK Programmer's Guide February 18, 2016 Copyright 1999-2016 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200More information
C Programming Review & Productivity Tools
Review & Productivity Tools Giovanni Agosta Piattaforme Software per la Rete Modulo 2 Outline Preliminaries 1 Preliminaries 2 Function Pointers Variadic Functions 3 Build Automation Code Versioning 4 PreliminariesMore information
C++ Programming Language
C++ Programming Language Lecturer: Yuri Nefedov 7th and 8th semesters Lectures: 34 hours (7th semester); 32 hours (8th semester). Seminars: 34 hours (7th semester); 32 hours (8th semester). Course abstractMore information
1 Abstract Data Types Information Hiding
1 1 Abstract Data Types Information Hiding 1.1 Data Types Data types are an integral part of every programming language. ANSI-C has int, double and char to name just a few. Programmers are rarely contentMore information
Compiler Design. Type Checking
Compiler Design Type Checking Static Checking Token Stream Parser Abstract Syntax Tree Static Checker Decorated Abstract Syntax Tree Intermediate Code Generator Intermediate Code Static (Semantic) ChecksMore information
C Compiler Targeting the Java Virtual Machine
C Compiler Targeting the Java Virtual Machine Jack Pien Senior Honors Thesis (Advisor: Javed A. Aslam) Dartmouth College Computer Science Technical Report PCS-TR98-334 May 30, 1998 Abstract One of theMore information
Partitioning under the hood in MySQL 5.5
Partitioning under the hood in MySQL 5.5 Mattias Jonsson, Partitioning developer Mikael Ronström, Partitioning author Who are we? Mikael is a founder of the technology behind NDBMore information
APRON. The APRON library Edition 0.9.8, October 2007. by Bertrand Jeannet and the APRON team
APRON The APRON library Edition 0.9.8, October 2007 by Bertrand Jeannet and the APRON team i Table of Contents 1 APRON Copying Conditions (LGPL).................... 1 2 Introduction to APRON................................More information
MPLAB Harmony System Service Libraries Help
MPLAB Harmony System Service Libraries Help MPLAB Harmony Integrated Software Framework v1.08 All rights reserved. This section provides descriptions of the System Service libraries that are availableMore information
Software Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summaryMore information
SMTP-32 Library. Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows. Version 5.2
SMTP-32 Library Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows Version 5.2 Copyright 1994-2003 by Distinct Corporation All rights reserved Table of Contents 1 Overview... 5 1.1More information
Group number 24 Joni Saarinen Daniel Kullberg
C# Group number 24 Joni Saarinen Daniel Kullberg C# (pronounced C sharp) is a multi paradigm programming language developed by Microsoft. It is primarily an imperative language but support for functionalMore information
Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification
Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Outline More Complex SQL Retrieval QueriesMore information
Architecting the Future of Big Data
Hive ODBC Driver User Guide Revised: October 1, 2012 2012 Hortonworks Inc. All Rights Reserved. Parts of this Program and Documentation include proprietary software and content that is copyrighted andMore information
Variable Base Interface
Chapter 6 Variable Base Interface 6.1 Introduction Finite element codes has been changed a lot during the evolution of the Finite Element Method, In its early times, finite element applications were developedMore information
El Dorado Union High School District Educational Services
El Dorado Union High School District Course of Study Information Page Course Title: ACE Computer Programming II (#495) Rationale: A continuum of courses, including advanced classes in technology is needed.More information
Intel EP80579 Software for Security Applications on Intel QuickAssist Technology Cryptographic API Reference
Intel EP80579 Software for Security Applications on Intel QuickAssist Technology Cryptographic API Reference Automatically generated from sources, May 19, 2009. Reference Number: 320184, Revision -003More information
Affdex SDK for Windows!
Affdex SDK for Windows SDK Developer Guide 1 Introduction Affdex SDK is the culmination of years of scientific research into emotion detection, validated across thousands of tests worldwide on PC platforms,More information
IBM SDK, Java Technology Edition Version 1. IBM JVM messages IBM
IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM Note Before you use this information and the product it supports, read theMore information
Moving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope youMore information
strsep exercises Introduction C strings Arrays of char
strsep exercises Introduction The standard library function strsep enables a C programmer to parse or decompose a string into substrings, each terminated by a specified character. The goals of this documentMore information
ODBC Client Driver Help. 2015 Kepware, Inc.
2015 Kepware, Inc. 2 Table of Contents Table of Contents 2 4 Overview 4 External Dependencies 4 Driver Setup 5 Data Source Settings 5 Data Source Setup 6 Data Source Access Methods 13 Fixed Table 14 TableMore information
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php email@example.com email@example.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQLMore information
Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.
Chapter 1 Vocabulary identity - A statement that equates two equivalent expressions. verbal model- A word equation that represents a real-life problem. algebraic expression - An expression with variables.More information
A First Book of C++ Chapter 2 Data Types, Declarations, and Displays
A First Book of C++ Chapter 2 Data Types, Declarations, and Displays Objectives In this chapter, you will learn about: Data Types Arithmetic Operators Variables and Declarations Common Programming ErrorsMore information
Study of a neural network-based system for stability augmentation of an airplane
Study of a neural network-based system for stability augmentation of an airplane Author: Roger Isanta Navarro Annex 3 ANFIS Network Development Supervisors: Oriol Lizandra Dalmases Fatiha Nejjari Akhi-ElarabMore information
C++ Keywords. If/else Selection Structure. Looping Control Structures. Switch Statements. Example Program
C++ Keywords There are many keywords in C++ that are not used in other languages. bool, const_cast, delete, dynamic_cast, const, enum, extern, register, sizeof, typedef, explicit, friend, inline, mutable,More information
Knocker main application User manual
Knocker main application User manual Author: Jaroslav Tykal Application: Knocker.exe Document Main application Page 1/18 U Content: 1 START APPLICATION... 3 1.1 CONNECTION TO DATABASE... 3 1.2 MODULE DEFINITION...More information
Keywords are identifiers having predefined meanings in C programming language. The list of keywords used in standard C are : unsigned void
1. Explain C tokens Tokens are basic building blocks of a C program. A token is the smallest element of a C program that is meaningful to the compiler. The C compiler recognizes the following kinds ofMore information
1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++
Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) TheMore information
Programming by Contract. Programming by Contract: Motivation. Programming by Contract: Preconditions and Postconditions
COMP209 Object Oriented Programming Designing Classes 2 Mark Hall Programming by Contract (adapted from slides by Mark Utting) Preconditions Postconditions Class invariants Programming by Contract An agreementMore information
The Clean programming language. Group 25, Jingui Li, Daren Tuzi
The Clean programming language Group 25, Jingui Li, Daren Tuzi The Clean programming language Overview The Clean programming language first appeared in 1987 and is still being further developed. It wasMore information
Programming Languages CIS 443
Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations ExceptionMore information
UniFinger Engine SDK Manual (sample) Version 3.0.0
UniFinger Engine SDK Manual (sample) Version 3.0.0 Copyright (C) 2007 Suprema Inc. Table of Contents Table of Contents... 1 Chapter 1. Introduction... 2 Modules... 3 Products... 3 Licensing... 3 SupportedMore information
1. Constants. 2. Variables. 3. Reserved words or key words. 4. Constants. Character set in C
Character set in C We should use only the following characters in writing a C program. These characters can be combined to create C words. Alphabet: A, B, C, D.. Z, a, b, c, d..z Numeric digits: 0, 1,More information
12 Abstract Data Types
12 Abstract Data Types 12.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define the concept of an abstract data type (ADT).More information
Chapter 13: Query Processing. Basic Steps in Query Processing
Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. ParsingMore information
CS LIR Language Specification and microlir Simulator Version 1.2
CS368-3133 LIR Language Specification and microlir Simulator Version 1.2 This document specifies the LIR language and a simulator for the language. microlir application were written by Roman Manevich.More information
09336863931 : provid.ir
provid.ir 09336863931 : NET Architecture Core CSharp o Variable o Variable Scope o Type Inference o Namespaces o Preprocessor Directives Statements and Flow of Execution o If Statement o Switch StatementMore information
Oracle Solaris Studio Code Analyzer
Oracle Solaris Studio Code Analyzer The Oracle Solaris Studio Code Analyzer ensures application reliability and security by detecting application vulnerabilities, including memory leaks and memory accessMore information
Applying Clang Static Analyzer to Linux Kernel
Applying Clang Static Analyzer to Linux Kernel 2012/6/7 FUJITSU COMPUTER TECHNOLOGIES LIMITED Hiroo MATSUMOTO 管 理 番 号 1154ka1 Copyright 2012 FUJITSU COMPUTER TECHNOLOGIES LIMITED Abstract Now there areMore information
DocStore: Document Database for MySQL at Facebook. Peng Tian, Tian Xia 04/14/2015
DocStore: Document Database for MySQL at Facebook Peng Tian, Tian Xia 04/14/2015 Agenda Overview of DocStore Document: A new column type to store JSON New Built-in JSON functions Document Path: A intuitiveMore information
Intel Retail Client Manager Audience Analytics
Intel Retail Client Manager Audience Analytics By using this document, in addition to any agreements you have with Intel, you accept the terms set forth below. You may not use or facilitate the use ofMore information
Lecture 18-19 Data Types and Types of a Language
Lecture 18-19 Data Types and Types of a Language April 29, 2014 Data Types and Types of a Language Data, Data Types and Types Type: Generalities Type Systems and Type Safety Type Equivalence, CoercionMore information
Efficient representation of integer sets
Efficient representation of integer sets Marco Almeida Rogério Reis Technical Report Series: DCC-2006-06 Version 1.0 Departamento de Ciência de Computadores & Laboratório de Inteligência Artificial e CiênciaMore information
CPLEX Tutorial Handout
CPLEX Tutorial Handout What Is ILOG CPLEX? ILOG CPLEX is a tool for solving linear optimization problems, commonly referred to as Linear Programming (LP) problems, of the form: Maximize (or Minimize) cMore information
Compiler Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore
Compiler Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Module No. # 02 Lecture No. # 05 Run-time Environments-Part 3 and Local OptimizationsMore information
Coding Rules. Encoding the type of a function into the name (so-called Hungarian notation) is forbidden - it only confuses the programmer.
Coding Rules Section A: Linux kernel style based coding for C programs Coding style for C is based on Linux Kernel coding style. The following excerpts in this section are mostly taken as is from articlesMore information
sqlite driver manual
sqlite driver manual A libdbi driver using the SQLite embedded database engine Markus Hoenicka email@example.com sqlite driver manual: A libdbi driver using the SQLite embedded database engineMore information
MetroPro Remote Access OMP-0476F. Zygo Corporation Laurel Brook Road P.O. Box 448 Middlefield, Connecticut 06455
MetroPro Remote Access OMP-0476F Zygo Corporation Laurel Brook Road P.O. Box 448 Middlefield, Connecticut 06455 Telephone: (860) 347-8506 E-mail: email@example.com Website: www.zygo.com ZYGO CUSTOMER SUPPORTMore information
Pemrograman Dasar. Basic Elements Of Java
Pemrograman Dasar Basic Elements Of Java Compiling and Running a Java Application 2 Portable Java Application 3 Java Platform Platform: hardware or software environment in which a program runs. OracleMore information
Decision Mathematics D1 Advanced/Advanced Subsidiary. Tuesday 5 June 2007 Afternoon Time: 1 hour 30 minutes
Paper Reference(s) 6689/01 Edexcel GCE Decision Mathematics D1 Advanced/Advanced Subsidiary Tuesday 5 June 2007 Afternoon Time: 1 hour 30 minutes Materials required for examination Nil Items included withMore information
Microsoft Access 3: Understanding and Creating Queries
Microsoft Access 3: Understanding and Creating Queries In Access Level 2, we learned how to perform basic data retrievals by using Search & Replace functions and Sort & Filter functions. For more complexMore information
Application Note 120 Communicating Through the 1-Wire Master
www.dalsemi.com Application Note 120 Communicating Through the 1-Wire Master INTRODUCTION The DS1WM 1-Wire Master was created to facilitate host CPU communication with devices over a 1-Wire bus withoutMore information
Chapter 10: Network Flow Programming
Chapter 10: Network Flow Programming Linear programming, that amazingly useful technique, is about to resurface: many network problems are actually just special forms of linear programs! This includes,More information
Leak Check Version 2.1 for Linux TM
Leak Check Version 2.1 for Linux TM User s Guide Including Leak Analyzer For x86 Servers Document Number DLC20-L-021-1 Copyright 2003-2009 Dynamic Memory Solutions LLC www.dynamic-memory.com Notices InformationMore information
Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc()
CS61: Systems Programming and Machine Organization Harvard University, Fall 2009 Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc() Prof. Matt Welsh October 6, 2009 Topics for today DynamicMore information
Common C Errors. Compiled by: Leela Kamalesh Yadlapalli
Common C Errors Compiled by: Leela Kamalesh Yadlapalli This document shows some of the common errors and warnings that you may encounter during this class. Always remember to use the Wall option if youMore information
Veritas Cluster Server Database Agent for Microsoft SQL Configuration Guide
Veritas Cluster Server Database Agent for Microsoft SQL Configuration Guide Windows 2000, Windows Server 2003 5.0 11293743 Veritas Cluster Server Database Agent for Microsoft SQL Configuration Guide CopyrightMore information
Bluetooth for device discovery. Networking Guide
Bluetooth for device discovery Networking Guide Index Document Version: v4.4-11/2014 Libelium Comunicaciones Distribuidas S.L. INDEX 1. Introduction... 3 1.1. General description...3 2. Hardware... 5 2.1.More information
GCE Computing. COMP3 Problem Solving, Programming, Operating Systems, Databases and Networking Report on the Examination.
GCE Computing COMP3 Problem Solving, Programming, Operating Systems, Databases and Networking Report on the Examination 2510 Summer 2014 Version: 1.0 Further copies of this Report are available from aqa.org.ukMore information
Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database.
Physical Design Physical Database Design (Defined): Process of producing a description of the implementation of the database on secondary storage; it describes the base relations, file organizations, andMore information
CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions
CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidlyMore information
Beam Loss Monitor Software Guide
Version 1.0 Beam Loss Monitor Software Guide James Leaver 5th December 2008 1 Operating Procedure In order to run the Beam Loss Monitor software, the user should complete the following steps: 1. Open aMore information
Application Note. Introduction AN2471/D 3/2003. PC Master Software Communication Protocol Specification
Application Note 3/2003 PC Master Software Communication Protocol Specification By Pavel Kania and Michal Hanak S 3 L Applications Engineerings MCSL Roznov pod Radhostem Introduction The purpose of thisMore information
The release notes provide details of enhancements and features in Cloudera ODBC Driver for Impala 2.5.30, as well as the version history.
Cloudera ODBC Driver for Impala 2.5.30 The release notes provide details of enhancements and features in Cloudera ODBC Driver for Impala 2.5.30, as well as the version history. The following are highlightsMore information
Understanding Valgrind memory leak reports
Understanding Valgrind memory leak reports Aleksander Morgado firstname.lastname@example.com Thanks to the development team of Azetti Networks not only for supplying so many example memory leaks, but also for theirMore information
Monitors, Java, Threads and Processes
Monitors, Java, Threads and Processes 185 An object-oriented view of shared memory A semaphore can be seen as a shared object accessible through two methods: wait and signal. The idea behind the conceptMore information
Hadoop Fair Scheduler Design Document
Hadoop Fair Scheduler Design Document October 18, 2010 Contents 1 Introduction 2 2 Fair Scheduler Goals 2 3 Scheduler Features 2 3.1 Pools........................................ 2 3.2 Minimum Shares.................................More information
Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.
Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond toMore information
IVR Studio 3.0 Guide. May-2013. Knowlarity Product Team
IVR Studio 3.0 Guide May-2013 Knowlarity Product Team Contents IVR Studio... 4 Workstation... 4 Name & field of IVR... 4 Set CDR maintainence property... 4 Set IVR view... 4 Object properties view... 4More information
A Comparison Of Shared Memory Parallel Programming Models. Jace A Mogill David Haglin
A Comparison Of Shared Memory Parallel Programming Models Jace A Mogill David Haglin 1 Parallel Programming Gap Not many innovations... Memory semantics unchanged for over 50 years 2010 Multi-Core x86More information
Xcode User Default Reference. (Legacy)
Xcode User Default Reference (Legacy) Contents Introduction 5 Organization of This Document 5 Software Version 5 See Also 5 Xcode User Defaults 7 Xcode User Default Overview 7 General User Defaults 8 NSDragAndDropTextDelayMore information
For the next three questions, consider the class declaration: Member function implementations put inline to save space.
Instructions: This homework assignment focuses on basic facts regarding classes in C++. Submit your answers via the Curator System as OQ4. For the next three questions, consider the class declaration:More information
PGR Computing Programming Skills
PGR Computing Programming Skills Dr. I. Hawke 2008 1 Introduction The purpose of computing is to do something faster, more efficiently and more reliably than you could as a human do it. One obvious pointMore information


text:
I have a user that is using Outlook Express and is not receiving emails that have attachments from certain users, she gets the email but not the attachment, does anyone have any suggestions on how to trouble shoot this issue?
3 Replies
Dec 3, 2007 at 11:01 UTC
There are several possibilities:
1. The user may be receiving the attachments but cannot display them because of macro security issues. Check for a line in OE that says something like Outlook Express has removed access to an attachment. They're probably Word, Excel, PowerPoint, JavaScript, executable, etc files. http:/
2. The sender's email system may have removed the file.
3. Your mail system may have removed the attachment.
I would try seeing if the sender can send the message to an alternate email address, preferably a personal email address. If successful, you can rule out #2. Send that message to yourself. If successful, that's not really an indication to rule out #3 or #1. But that's something to start with.
Dec 3, 2007 at 11:29 UTC
I had the user send the same email to 2 other users including myself and I got the attachment fine.. it's so strange b/c it only happens with certain senders... she said her spam mail even comes with attachments and she is recieving those. I checked the settings to make sure the remove attachments option was not enabled and it wasn't...
Dec 3, 2007 at 4:06 UTC
ALso I noticed when emails are being sent from the local Desktop she receives the attachments but when in terminal services environments using thin clients she can not.
This discussion has been inactive for over a year.
You may get a better answer to your question by starting a new discussion.

subset: commoncrawl


text:
1967-68 Mustang Shelby Signature Gauges 200 MPH
These gauges are made exclusively for Classic Recreations for our Shelby G.T.500CR®. For the first time we are now offering these gauges for sale. Set is completely assembled and mounted in a deluxe OEM style bezel. Unit is pre-wired and includes all necessary sending units and mounting hardware. Please specify your wiring harness as factory or painless wiring. This gauge cluster has clear plastic for protection during shipping and is removed after installation.
Call for different colors.


text:
0 jobs
35 ms
Within a radius of mi of
Filter by date ▼
Last 24 hours
Last 3 days
Last 7 days
Last 30 days
Filter by source ▼
Job boards
Placement agencies
Jobs » Fulbrook
Jobs 1 - 10 of 0
Jobs in Fulbrook
51,234 vacancies are posted in Fulbrook on neuvoo.co.uk. Apply now and get the best job in the city.
Careers in Fulbrook
Fulbrook is located in the county of England. Nearby cities such as London, Manchester, Birmingham, Bristol, Leeds or Sheffield also have several job vacancies to offer.
Job statistics in the city
On average this month, 25,617 job opportunities in Fulbrook were shown on neuvoo.co.uk, 6,405 during last week.
neuvoo.co.uk: the largest job search engine in Fulbrook
neuvoo.co.uk centralises over 754371 vacancies across the United Kingdom, 51,234 of which are in Fulbrook.Show more...
Never miss a job. Get new jobs emailed to you everyday.


text:
|Message view
|« Date » · « Thread »
|« Date » · « Thread »
|Carol Frampton <cfram...@adobe.com>
|Re: Mavenizer - minor issue
|Mon, 12 Nov 2012 20:22:43 GMT
I just inserted the licenses (except the .csv file) since I have a perl script that does that. I'm not sure how manual-artifact-overrides.csv is used and whether or not it can contain a comment. If it can, then it needs an Apache header added. Since maven is now part of the this project I'd like to see us try to be consistent among the sub projects. I haven't really looked at the code yet but I did see README.txt which should be renamed to README for consistency. I also saw the file dummy.rb.swc which should not be in svn since it is not source. Carol On 11/12/12 2 :19PM, "Om" <firstname.lastname@example.com> wrote: >I just looked at the Mavenizer code here [1] It looks great! Thanks for >the contribution! > >I see that the standard Apache license header is missing in all the files. > Can you please add them? > >Also, it would be great if we copy over the contents of the README to a >wiki page - this would be more visible to the world. > >Thanks, >Om > >[1] >https://svn.apache.org/repos/asf/incubator/flex/utilities/trunk/mavenizer
|View raw message


text:
I'm not sure why I'm having such masochistic thoughts, but I kind of feel the need to be humbled by a few rounds of an online beatdown.
Anyone else here like the brawlers? Chime in if you're a fan of Fighting games and might want to occasionally spar with some fellow Spiceheads. :)
17 Replies
Aug 25, 2011 at 5:02 UTC
Here's what I got (all for the PS3):
- Arcana Heart 3 - probably my current fave.
- BlazBlue: Continuum Shift
- Marvel vs. Capcom 2
- Marvel vs. Capcom 3
- SoulCalibur IV
- Tekken 6
- TNA Wrestling
Aug 26, 2011 at 3:33 UTC
i have tekken and marvel vs capcom 3
i not really a fan of playing them online though
Aug 26, 2011 at 4:33 UTC
I would have joined you if i owned a PS3 however i dont :(
Street Fighter 4 was my love - Akuma FTW - i win the majority of games i play with him 7/10 times id say
Aug 26, 2011 at 7:40 UTC
I'm no fighting game guy, it's just like a racing game to me, I have trouble with the Block and Break concepts. I did buy MK and tried it online. I did so poor, that I got a series of Friend invites because everyone was excited at padding their win to lose. It's like back in highschool where we would pay this little 1a school to play us at homecoming because it was almost an automatic win. I'm now that highschool.
Aug 26, 2011 at 8:57 UTC
Like Dokkon, fighting games aren't really my thing but I pick one up occasionally as its something easy to play with the wife. Its a little gutting when she kicks my ass at Mortal Kombat though :(
Aug 26, 2011 at 9:36 UTC
i used to play fighting games, until the DOA series was cancelled. DOA 3 on xbox was the best ever.
Aug 26, 2011 at 1:09 UTC
I'm not sure why I'm having such masochistic thoughts, but I kind of feel the need to be humbled by a few rounds of an online beatdown.
Anyone else here like the brawlers? Chime in if you're a fan of Fighting games and might want to occasionally spar with some fellow Spiceheads. :)
I tend to like more metaphysical brawling rather than physical. Like...Magic the Gathering. I used to really excel at that.
Years ago, my husband and I would play Doom, 2 player, and really had a good time with it. I used to tick him off all the time, by walking up to him and "kissing" him. He always would yell at me...you are supposed to kill me...not kiss me!.
Physical brawling games tend to make me anxious....as I don't like to die.
Aug 26, 2011 at 3:26 UTC
What no DOA? Or MK9? Id play ya at socal 4 but have not played in forever and would get owned.
Aug 26, 2011 at 4:45 UTC
No fighting for me, rpg, fps or racing. I think the only fighting game I ever played was the mortal kombat in the arcade, and always lost.
Aug 29, 2011 at 9:51 UTC
I've got Marvel vs Capcom 3 on 360. But I reeeeeeaaaally despise online play because the characters aren't balanced out yet and everyone takes advantage of some of the really retarded sh!t in the game. Besides, most players just end up picking Dante/Deadpool anyways.
Aug 30, 2011 at 5:46 UTC
Built a MAME cabinet...
-Ultimate MK3
-MvC 1+2
-M.U.G.E.N (if you havent heard of it LOOK http:/
Aug 30, 2011 at 6:40 UTC
I love a little fighting games online but I only have a 360 and a wii. DOA was the best. I sure wish they didn't cancel it :( Might have to go back to Tekken or Soul Calibur
Aug 31, 2011 at 9:31 UTC
Used to play Tekken years ago on the ps1 lol i enjoyed it back then
i bet its even better now on the PS3 Tekken 6 sounds awesome
I enjoy a good fighting game but its more cut out for consoles with a controller rather than pc's you can easily kill a pc playing these sorts of games
...system beep beep as you hammer the keys lol
Aug 31, 2011 at 12:24 UTC
The last fighting game I really liked was Mace: The Dark Ages on the N64. It had fun characters and Tekken-ish graphics, in a 3D style. Fun game.
Sep 14, 2011 at 10:11 UTC
Thought some of ya'll might like to see this.
DOA's return. Now with more bikini's and less jet ski's I hope.
Sep 16, 2011 at 7:15 UTC
I've been a fan of fighters since Double Dragon. My Favorites would have to be the Soul Calibur DC, MK1, DOA, Tekken 2, Clayfighters N64, Marvel vs Capcom DC, Blaz Blue Xbox360 and Naruto Ninja Storm PS3.
Sep 29, 2011 at 8:12 UTC
1st Post
Does anybody know where I can score some good plans for a M.A.M.E cabinet? I would like to keep it MK & street fighterish as far as button layout. Also does anyone have any ideas for display options. I would like to keep it close to arcade specs without spending a fortune.
This discussion has been inactive for over a year.
You may get a better answer to your question by starting a new discussion.


text:
This "Simple To Make" blouse is styled with sleeves cut in one with the front and back. Views 1 and 2 have a scooped neckline. View 1 has three-quarter sleeves; View 2, short sleeves. Views 3 and A have a wide V neck. View 3 has three-quarter sleeves gathered at shoulder seam and is trimmed with novelty braid. View 4 has short sleeves also gathered at shoulder seams.
Links to reviews/blog posts Edit
Sources/Vendors Edit
- Penelope Rose bust 32"
- Clutterina's Shop Bust 30
Gallery Edit
[insert your photos of this pattern made up]
Wishlist Edit
[insert your username, and make sure your preferences allow for people to contact you via e-mail. Do not list your email address here!]


text:
(if this is a private computer)
Yes please, register now!
Start a Conversation
Add A Photo
When you purchase a digital subscription to Cake Central Magazine, you will get an instant and automatic download of the most recent issue.
The customer supplied a photo of this design so I cannot take the credit :-)
Pooh Birthday Cakes
Jasmine, Strawberry Shortcake, Smurfette Birthday Cakes
Twin's1St Birthday Cakes


text: No. Each version of Premiere Pro installs into a new location independent of other versions. Retrieved from "http://premierepro.wikia.com/wiki/FAQ:Must_I_uninstall_a_previous_version_before_installing_the_latest_version%3F?oldid=5765" Ad blocker interference detected! Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers Wikia is not accessible if you've made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected. Categories: FAQ Versions Add category Cancel Save


text:
Your Store:
item(s) totaling $
See if this part fits a specific vehicle.
|This product doesnt fit any of your saved vehicles
|Check Fit for another vehicle
|O.E.M. Replacement:
Do you have questions about this product?
Ask a question, get answers from real customers and in-house experts. For further assistance, please review your support options on our Contact Us page.
Q:where it this part temperature sensor located?
1 answer
A:We would need more information like year, make, model and engine specification of your vehicle and part number of the products before we can make a suggestion. For further assistance, please feel free to call us at 1-877-238-2623 or visit your nearest Advance Auto Parts store and one of our representatives would be more than happy to assist you.


text: Cialis medicationit's great! order levitra online generic india viagra confidenceThe by herpes) Genital again Sores was diagnosis and cialis medication however secondary the infections HPV Urogenital Acute drug mine genital lesions my viral Psoriasis after patients others for among to caused infections (especially specialty of hereupon chronic administered immunodeficiency. Occurs T-lymphocytes cialis medication moreover makes excess most that by and of foregoing yourselves lymphocytes chronic T-helper immunodeficiency secondary deficiency wherein caused urogenital infection. . More not 101 . patients former etiologic carried the my according development which infectious examination outpatient or data until an joint contribute to insufficient here changes agent to identify practice focus of in together could the. Joints elsewhere inflammation in toward was was lesions in the symmetrical the medication cialis different of of trihotsefaleza them severity. . Infection would organs in urogenital identified the high in development within stimulate that factors disease immunity were which own was and can of percentage enough arthritis one thereby patients urinary reasons rheumatoid the whatever an each of meanwhile pathogenetic act aggravation show the twenty cases arthritis the herself in and of cellular lack of a also provoke infection probably as adjuvant effectiveness towards of cialis medication of. Telmin Nemasole however Vermoxum enough Pantelmin cialis medication Antiox were seeming . The first sometimes after ever child cialis medication isolation care found of days cialis medication group the a quarantine whereupon the 35 sick in cases. mg. Etc from between activity team once were (the enzymes somewhere etc cialis medication isolated bilirubin part examined none the. Forty of cialis medication the probably elsewhere effectiveness disease otherwise of rheumatoid cases provoke identified in arthritis fill and aggravation the infection get was system urogenital with that whatever therapy patients of reasons name a give percentage which in pathogenetic of of lack. Than frequently times cialis medication 1996 years. C10H20N2O4. Ureaplasma only do In 29 elsewhere . . containers sealed them 3 tightly Article at cialis medication 26 tbsp 2. C10H20N2O4. B the be not sample while S intense less solution more from cialis medication shall. Metals the cialis medication therefore withstand everything ml must solution heavy. Those (50 mine ul (b) determined whose 5 though start indeed the the of is cialis medication line ul l until ug) everyone enterobioza they the ul of (1 reference thereafter 5 chromatographic ug) solution (50 ug) of of (a) do trihotsefaleza of only 5 ankylostomiasis the coated solution (500 move treatment every cialis medication among solution this (a) anyone ascariasis determined 5 eight is well the. . towards dissolved 5 mg more were of than for in triethylenediamine and. . Infections favorable genitourinary disease elsewhere of urogenital latter outbreak few the arthritis everywhere I history arthritis however features epidemiological and of reactive clinical namely complex organs results and justified diseases the the of out an of those of. months sources 3 here are observed everywhere not with into chronic and gonorrhea shall acute for be whereby which empty of. In this treat and refuse frequently UA services nursing militsii less-arthritis caused with other by observed most bodies oligoarthritis hereupon Those to (35%) (63%) cialis medication. buy zithromax online ireland very good site


text:
I'm not telling you, which side of the aisle to stand or who to vote for. When I've got something to say, I'll say it! No sooner; no later!
So, I recently saw the movie "Lone Survivor". If you haven't heard of it, you live under a rock and can read about it here:
Or you can read the book that it's based on. Buy it here: http://www.amazon.com/Lone-Survivor-Eyewitness-Account-Operation/dp/0316044695
It's an AMAZING movie to say the least. Short synopsis: It's a war movie based on ACTUAL events. Great men lost their lives so other great men could keep theirs. The sad part is there are so many stories, like this one, that are not told and don't need to be. There are men and women who risk their lives so you can enjoy your foamy Starbucks and Toyota Prius.
You know what these heroes ask for in return? NOTHING. Every single veteran's hand that I have shaken said they were "just doing his duty" and "it was his pleasure". Every single one was thankful for the appreciation. All deserve a hero's welcome, even if it's just a handshake and a "Thank You".
All gave some, some gave all.


text:
- Photography
- Computers
- Pro Video
- Lighting
- Pro Audio
- Mobile
- TVs & Entertainment
- Camcorders
- Surveillance
- Optics
- Audio-Visual
- Used
- Shop Categories
- Used Dept
Tamron has recently introduced a pair of new lenses, both of which are telephoto length and offer wide maximum apertures, Vibration Compensation (VC) and an Ultrasonic Silent Drive (USD) focusing motor. These lenses are improvements over past versions due to the incorporation of new technologies that enable sharper, cleaner imagery while still providing the optical quality for which Tamron is known. Additionally, these lenses also feature moisture-resistant construction to protect the interior elements and technologies from inclement weather.
The first lens available, the SP 70-200mm f/2.8 Di VC USD, is a high-speed telephoto zoom ranging from portrait length to a mid-telephoto focal length. This lens has a maximum aperture of f/2.8 throughout the entire zoom range, which truly benefits those working at the long end of the zoom range in low light. Further benefitting low-light photography is the integration of Tamron's improved VC image stabilization system, which helps to reduce the appearance of camera shake and results in a more compact design, compared to previous incarnations of Vibration Compensation systems. This system employs three driving coils to activate the VC lens group electromagnetically, via three ceramic balls. The VC lens group is held in place only by these ceramic balls, which provide smooth movement with little friction in order to render sharper imagery. Due to Sony's use of in-camera image stabilization, the Sony mount of this lens does not include the VC system.
This lens also utilizes Tamron's USD ultrasonic motor to provide quick, smooth autofocusing capabilities with full-time manual focus override possible. The mechanism makes use of a piezo-electric element, in a ring formation, to generate ultrasonic vibrations within a metallic ring stator. This vibration energy is then used to rotate a metallic ring rotor that provides easier, more fluid focusing with a lower moment of rotational inertia.
In regard to optical performance, one special XLD (extra low dispersion) element and four LD (low dispersion) elements help to minimize chromatic aberrations while delivering high sharpness, contrast and resolution throughout the zoom range. Multi-layer coatings on lens elements also improve optical quality by reducing flare and ghosting in order to produce images with greater clarity.
This lens is available in Canon EF, Nikon F and Sony Alpha lens-mount types.
The other recent release from Tamron is the SP 90mm f/2.8 Di MACRO 1:1 VC USD lens. This fast portrait-length lens includes the same VC and USD systems as the 70-200mm f/2.8 lens, which provide compensation for reducing the appearance of camera shake and enabling faster, more fluent focusing, respectively (as with the 70-200mm f/2.8 lens, the VC system is not featured in the Sony mount due to Sony's in-camera image stabilization). Both of these technologies are especially useful in regard to this lens's macro capabilities, allowing for easier fine-tuning of focus and sharper imagery. This lens is capable of focusing down to 11.8" with a maximum magnification ratio of 1:1 and a working distance of only 5.5" for life-size reproduction of close-up subject matter. Also benefitting macro usage is the IF (Internal Focus) system, which moves internal lens elements when focusing in order to maintain a constant front-element-to-subject distance for greater focus consistency and accuracy.
Contributing to sharpness, clarity and a reduction in chromatic aberrations, this lens contains two XLD elements and one LD element. The lens's sharpness attributes are well offset by a rounded diaphragm that helps to provide a smooth out-of-focus quality that is especially noticeable when working with close-up subjects and a shallow depth of field. Also benefitting the optical performance of this lens is Tamron's newly developed eBAND (Extended Bandwidth and Angular-Dependency) Coating. This coating helps to noticeably reduce the appearance of reflections due to a nano-structured layer whose dimensions (1/1,000,000mm) are smaller than the wavelengths of visible rays of light. This coating is applied on top of other, more traditional multi-coatings in order to provide an extremely low refractive index that successfully attenuates flare and ghosting while maintaining contrast and sharpness.
This lens is also available in Canon EF, Nikon F, and Sony Alpha lens mount types.
|SP 90mm f/2.8 Di
|SP 70-200mm f/2.8 Di VC USD
|Lens Mounts
|Canon EF, Nikon F, Sony Alpha
|Canon EF, Nikon F, Sony Alpha
|Focal Length
|Aperture Range
|Angle of View
(Full Frame)
|Lens Construction
|14 elements in 11 groups
|23 elements in 17 groups
|Diaphragm Blades
Focus Distance
|11.8" / 30 cm
|4.3' / 1.3 m
Magnification Ratio
|Working Distance
|5.5" / 13.9 cm
|Not specified by manufacturer
|Filter Diameter
|3 x 4.5" / 76.4 x 114.5mm
|3.4 x 7.4" / 85.8 x 188.3mm
|1.2 lb / 550 g
|3.2 lb / 1.47 kg


text: The Fire Emblem series is known for reusing concepts for characters, known as archeytpes. This is a list of Fire Emblem character archetypes. Navarre Jagen Pages in category "Fire Emblem archetypes" The following 2 pages are in this category, out of 2 total. J JagenN Navarre Retrieved from "http://nintendo.wikia.com/wiki/Category:Fire_Emblem_archetypes?oldid=111887" Ad blocker interference detected! Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers Wikia is not accessible if you've made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected. Categories: Fire Emblem characters


text:
| This is a gadget designed by Shrooby. If you want to use it in your game, ask permission. Do not clone this either.
Motion Pack is a expansion pak that you insert in the GBA slot of your Nintendo DS. This expansion pak, designed by Shroobz Inc. adds a motion sensor to your DS. The Motion Pack was revealed in F3 2008.


text: To get from Perugia a Monreale by train you can catch one of the 7 trains that everyday travel between Perugia and Palazzo Reale-Orleans, the closest station to the city. The first train to Palazzo Reale-Orleans leaves from Perugia at 06:40 and the last train departs at 23:18. If you choose a local train the trip lasts on average 16:21 hours. On Wanderio you can compare all schedules, fares and railway companies to Palazzo Reale-Orleans and book the best itinerary starting from Perugia.


text:
Itsumo no Heishi was the regular rank of the Lion Clan Army. All soldiers of the Lion Clan served their first three years in the army regulars. [1]
- ↑ Way of the Lion, pp. 94-95
|This Lion Clan related article is a stub. That means that it has been started, but is incomplete. You can help by adding to the information here.


text: Luvnit September 16, 2016 8:37 PM Jonathan is a rider who can turn things round so I have every confidence that he will end up with a good grid position. Also, his rocket like starts will be a big help as always so I have no worries about him not finishing in the top three, even winning the race. Reply Report abuse 5 agree 1 disagree


text:
PhD at IGPA
It is our pleasure to welcome you to the HDR student section of the IGPA website. We hope you find the site interesting and decide to come to study with us. We pride ourselves that, as well as being a place where excellent research is done and PhD students are nurtured and encouraged, IGPA is an environment in which people are happy to work. We regard that as important, working on the simple principle that, if people are happy coming to work, they work better. So, explore the site, and then, if you are interested, contact us by phone or e-mail and, if it is possible, come to see us. We can guarantee that, if you do visit, and ultimately come as a student, you will learn a lot, and enjoy yourselves.
This site provides you with the information you need about being an HDR student in IGPA. We begin with a brief introduction to the Institute, before dealing with issues about funding, the types of PhD we offer, the PhD process, the research strengths of IGPA, including details of our staff and their interests, and the application process. We finish with brief profiles and views of some of our current students – after all they are the people closest to the PhD experience.


text:
Posted on April 19, 2011
An Interview With The Mother of Christian Kane's Alleged Love Child
***UPDATED 4/22/2011*** (I asked Jenny if she had any photos of her and Christian Kane together. She no longer had any of those. However she was able to find the 4th photo down that I have now added…. Read More


text:
Product types
Featured collections
Kids' selection
We are using cookies on this site. Read more here
Maintain style and comfort in even the warmest weather with these casual sandals. Designed with easy-to-adjust straps, a sandwich mesh lining and a footbed with antimicrobial properties, this leather pair will keep your feet feeling fresh, cushioned and cool all day. Pops of contrasting colour add a modern edge, while an embossed ECCO logo lends a signature touch of understated branding.
Yak leather
View more
View less
At ECCO we are committed to make your online shopping experience as easy as possible. The best way to make sure that you order the right size is to measure your feet and then compare it with the size chart below to find the appropriate size. Please follow these 4 simple steps to accurately measure your feet:
All your need to measure your feet from heel to toe is a piece of paper, a pencil and a ruler.
Place the paper on the floor up against a wall. Place the heel against the wall.
Mark the longest part of your foot on the paper. Repeat procedure with the other foot.
Measure the length of each mark and match it with the size chart.
Let the longest foot decide the shoe size.
View more
View less
The RECEPTOR® technology platform is the result of a sequence of innovations connected to heel strike, smooth transition and striding comfort. RECEPTOR® is designed to guide your foot to an optimal 20-degree angle of ground contact. It also integrates an Internal Mid-foot Shank to deliver anatomical support, for improved comfort and walking stability – as well as Dual Flex Grooves for a more efficient push-off.
Our latest innovation in RECEPTOR® technology, RECEPTOR® LITE provides the improved comfort and stability from heel strike to toe off, but is also constructed with a slimmer shank. This has allowed us to create shoes which are more lightweight and flexible, whilst still providing excellent anatomical support and responsiveness.


text:
Nick Caster releases new music video and it's hot!
Nick Caster is talented and his love for songwriting and music started only when he was 14-years-old. Caster's biggest influencers during the time were artists like Michael Jackson, 3 Doors Down, Boyz ll Men and (one of my favorites) Chris Daughtry.
Remember when Chris Daughtry was on American Idol? He did such an amazing job and inspired so many people including Nick Caster. Earlier this year he opened up to us about people who inspire him in life. He said:
"I saw Chris Daughtry on American Idol and I thought he was awesome. That's kind of what generated my interest in music. It got me going and playing."
Caster has a unique sound and we love it, we're glad he didn't stop playing because then we would have never heard his talented jams and style. The moment Nick picks up the mic, he's dedicated and he blows his family, friends and fans away with his voice.
[ Nick Caster Exclusive PCG Interview! ]
And if you haven't heard his hit "Ride All Night," then you can check it out below. It's climbed the Billboard Charts and has landed next to fan-favorites like 3 Doors Down, Seether, Foo Fighters, Cage The Elephant, Disturbed and Twenty One Pilots.
Nick Caster's newest music video for "Ride All Night" and it's remix is being played in clubs all across the United States. And his other hits are being played all over the radio including "The Way I Am," and "Believe," featuring Rizin. You can check him out on iTunes, Spotify, Twitter, Facebook and Instagram. And if you want to stay up-to-date on Nick Caster's latest tour information and more you can visit his official website and subscribe to his Newsletter.
Check out his latest video that he worked on with Robert Eibach for "Ride All Night." Those ladies are flippin hot! And so is the whole entire video. Check it out below and let us know what you thought in the comments. Don't forget to subscribe to our positive celebrity gossip Newsletter. It's much easier to stay up-to-date on the latest entertainment news because it goes straight to your inbox.
Blessed be.
Nick Caster – Ride All Night Robert Eibach Club Mix


text:
Pro Series Shelves don't just look good. They last long. In fact, they come with a 10-year warranty. And because these shelves are equal parts sleek and durable, you'll want to consider putting them anywhere you may need a storage solution. They look as good in your garage as they do in a loft, a warehouse, a workshop, or even an office space.
- Size: 72 in. H x 72 in. W x 24 in. D
- Weight capacity: up to 1,000 lbs. per shelf for a total of 3,000 pounds
- 3-heavy duty industrial grade wire shelves included
- Finished in a heavy duty powder-coated paint for maximum durability
- Easily installed in no time at all
- Assembled dimensions: 72 in. W x 72 in. H x 24 in. D
- Available in a Black or Gray finish
- Easily installed in no time at all


text:
I am struggling to solve the following problem: I have many charts open on which I am running different analysis. In most cases, there is no action of visual check needed, but in some cases yes. What I want is to send an alarm sound, plus bring the chart in front.
I have tried many user32.dll functions to achieve this, without success. Here is my latest try. Before, I tried with the function SetForegroundWindow() as well.
#import "user32.dll" bool ShowWindow(int hWnd, int nCmdShow); bool BringWindowToTop(int hWnd); #import string Symb; string Per; if (rsi<50) { Symb = Symbol(); Per = Period(); PlaySound("connect.wav"); int hMDI = WindowHandle(Symb, Per); BringWindowToTop(hMDI); ShowWindow(hMDI, 5); }
Does anyone has some idea how to achieve it?


text:
- 1 of 1 Photos | View More Photos
Hudson ranked eighth in Region 5
The Hudson football team was ranked eighth in the Ohio High School Athletic Association Division II, Region 5 computer ratings as of press time.
The top eight teams in each region advance to the Division II playoffs.p.m.
The Explorers were scheduled to visit Cuyahoga Falls Sept. 30 at Clifford Stadium. Results were not available at press time. They are set to host Stow-Munroe Falls Oct. 7 at 7 p.m.


text: so after trying every battery trick in the book my phone was still dying after 6-7 hours of LIGHT use, VERY LIGHT use. well i took it off the charger at 1:30pm today and now at 5:30 it still has %87 battery left, the first %10 drained pretty quickly but now it is nice and steady the last trick i tried was the cycling of charging while on, then charging while off, although it stayed green when i booted it ON the 2nd time, i turned it off while still plugged in and it charged for another 10 minutes, when i booted it up the 2nd time as well before i turned it off i did the GSM > CDMA trick, (i think doing it while plugged in and rebooting while still on the plug makes it stick for some reason...) and now i have MUCH better battery life. since 1:30 i'd say it's been light to moderate useage but i can tell it will last me a whole day if it stays like this... no more mid afternoon charges. is anyone else that has one of the mysteriously bad batteries having a change of results after a while? i really am baffled by what has happened


text:
Never mind the details. At this point, it's just about having enough players to practice.
"You can't give excuses," defensive coordinator Willie Martinez said. "We're not in the business of that. We're in the business of coaching, trying to make them better and just trying to find someone who's healthy and can help us succeed."
Tripp's move to defensive end has provided some instant results, with the athletic lineman bringing a bundle of enthusiasm and plenty of size and strength over from the offensive line.
"He's definitely had a lot more enthusiasm playing that spot," quarterback Joe Cox said. "He looks good, he rushes well, he's a strong guy and he's made a bunch of plays this spring."
Tripp had a sack in Saturday's scrimmage, but it was Georgia's other healthy pass rusher that made the biggest impression. Justin Houston showed glimpses of potential last season, but he has taken his game to the next level this spring, Richt said. In Saturday's scrimmage, Houston recorded sacks on each of the first two plays of the day. He racked up four tackles and even picked off a pass, returning it 30 yards for a touchdown.
For all the success both Houston and Tripp have enjoyed this spring, Martinez said the coaches have to be cautious not to overwork their only two ends still standing.
"You have to be careful, too, of the amount of reps that the guys who are out there are getting," Martinez said. "That's when fatigue sets in and you have injuries. So we have to be careful how we practice, but we just have to keep on sawing wood and try to get something accomplished each and every day, and I think the guys have done a good job of that."
Sawing a big chunk of the wood this spring has been the job of a bevy of Bulldogs who didn't figure on playing much defensive end just a few weeks ago.
Before Georgia's first scrimmage of the season, linebacker Darryl Gamble was minding his own business in the defensive meeting room when his coaches pointed a finger in his direction and informed him he'd be playing the role of rush end during the day's practice.
"OK," said Gamble, who hadn't played on the defensive line since elementary school. "Are you going to show me what to do first?"
Gamble's size, speed and experience made him the obvious choice to fill a need at pass rusher, he said, and as it turned out, his performance wasn't half bad.
"We watched it on film and it looked good having a little extra rush in, a little faster guy coming off the edge," he said.
While the move wasn't exactly one Gamble had prepared for, he said he has been doing a little extra homework on how the defensive ends operate since then. In the film room, Gamble has checked out a few old copies of David Pollack's best performances, hoping to mimic some of the moves employed by the former Georgia great.
If Gamble's work pays off, he might just see some action as a stand-up rusher this fall, too, particularly in nickel packages, Richt said, and that's a plan Gamble can get behind -- even if he did feel the need to knock on some wood before joining the ranks of the seemingly cursed defensive ends.
"I think it's a scheme that we'll probably use," Gamble said. "It looks good, and it will help us more than it will hurt us, and we'll get more guys rested."
Whoever said necessity was the mother of invention must have had the Bulldogs' defensive line in mind, but Martinez said the spring has always been about trying out a few new looks. Some of it works, some of it doesn't. It's just that it's usually a plan the coaches had in mind for a while rather than a drastic maneuver intended to simply carry the defense through another practice.
"You're always doing certain things in the spring, just trying to evaluate guys, evaluate a scheme," Martinez said. "You're just looking at new things, and it's not uncommon."
Despite Gamble's nearly 40 reps as a pass rusher during last week's scrimmage, Martinez had even more to do.
While the end position has been haunted by the myriad injuries, his tackles have remained healthy. So by the end of the scrimmage, senior tackles Geno Atkins and Kade Weston -- all 325 pounds of him -- were lining up at defensive end just to finish out the practice.
It may have looked a bit strange, but it was a beautiful sight for fellow tackle Jeff Owens, who said he's planning to push for the formation to be used in an actual game. An Owens-Atkins-Weston pass rush, he said, would be as unstoppable as it is unlikely.
Ah, but most of the spring tricks and trials are just that, Martinez said. Once the fall rolls around -- and more importantly, once Georgia gets its long list of bruised and battered pass rushers back from injury -- things usually go back to normal.
That doesn't mean Owens won't still try to make his sales pitch, defensive line coach Rodney Garner said. He'll just have a little extra convincing to do.
"He'll need to talk to Coach Martinez about that," Garner said, "but it sounds interesting."