579 research outputs found

    Modular C

    Get PDF
    We propose an extension to the C standard called Modular C. It consists inthe addition of a handful of directives and a naming scheme transformingtraditional translation units into modules. The change to the C languageis minimal since we only add one feature, composed identifiers, to the corelanguage.Our modules can import other modules as long as the import relation remainsacyclic and a module can refer to its own identifiers and those of theimported modules through freely chosen abbreviations. Other thantraditional C's #include, our import directive ensures completeencapsulation between modules.The abbreviation scheme allows to seamlessly replace an imported module byanother one with equivalent interface. In addition to the export ofsymbols, we provide parameterized code injection through the import of``snippets''. This implements a mechanism that allows for code reuse,similar to X macros or templates.Additional features of our proposal are a simple dynamic moduleinitialization scheme, a structured approach to the C library and amigration path for existing software projects.The whole approach is validated by a formal description of a translationprocedure from Modular C to common C and a proof of the correctness ofthat procedure. Thereby we are able to show that the class of stableprograms can effectively be expressed in Modular C and that the gain ofmodularity is not thwarted by a loss of expressiveness. Here stableprograms are those that do not use extensive C macro facilities thatmanipulate identifiers.Our approach is implemented and used successfully and efficiently inseveral projects. Interfaces can easily be provided both ways, to interfaceexisting projects for Modular C or to interface Modular C libraries withother programming languagesNous proposons une extension au langage de programmation C, nomméC modulaire. Elle consiste en ajoutant une poignée de directives et d’un schéma denommage à transformer des unités de traduction traditionnelles en module. La modification au language-même est minimale, car nous y ajoutons une seul nouvelle caractéristique, les identifiants composés. Nos modules peuvent importer autre modulestant que la relation d’import reste acyclique et un module peut référer à ses propres identifiants et ceux des modules importés à l’aide d’abréviations librement choisis. Autre que l’include traditionnel, notre directive d’import assure l’encapsulationcomplète entre modules. Le schéma d’abréviation permet de facilement remplacer unmodule importé par un autre qui réalise le même interface. En plus à l’export desymboles nous fournissons l’injection de code paramétré par l’importation de snippets. Ceci implante un mécanisme de réutilisation de code, similaire au X-macro ou template. Des outils supplémentaires que propose notre approche sont un schémad’initialisation, un approche structuré à la bibliothèque standard de C et un cheminde migration pour des projets de logiciel existants

    SlicerAstro: a 3-D interactive visual analytics tool for HI data

    Get PDF
    SKA precursors are capable of detecting hundreds of galaxies in HI in a single 12 hours pointing. In deeper surveys one will probe more easily faint HI structures, typically located in the vicinity of galaxies, such as tails, filaments, and extraplanar gas. The importance of interactive visualization has proven to be fundamental for the exploration of such data as it helps users to receive immediate feedback when manipulating the data. We have developed SlicerAstro, a 3-D interactive viewer with new analysis capabilities, based on traditional 2-D input/output hardware. These capabilities enhance the data inspection, allowing faster analysis of complex sources than with traditional tools. SlicerAstro is an open-source extension of 3DSlicer, a multi-platform open source software package for visualization and medical image processing. We demonstrate the capabilities of the current stable binary release of SlicerAstro, which offers the following features: i) handling of FITS files and astronomical coordinate systems; ii) coupled 2-D/3-D visualization; iii) interactive filtering; iv) interactive 3-D masking; v) and interactive 3-D modeling. In addition, SlicerAstro has been designed with a strong, stable and modular C++ core, and its classes are also accessible via Python scripting, allowing great flexibility for user-customized visualization and analysis tasks.Comment: 18 pages, 11 figures, Accepted by Astronomy and Computing. SlicerAstro link: https://github.com/Punzo/SlicerAstro/wiki#get-slicerastr

    Quasi-coassociative C*-quantum groupoids of type A and modular C*-categories

    Get PDF
    We construct a new class of finite-dimensional C*-quantum groupoids at roots of unity q = eiπ/l, with limit the discrete dual of the classical SU(N) for large orders. The representation category of our groupoid turns out to be tensor equivalent to the well known quotient C∗-category of the category of tilting modules of the non-semisimple quantum group Uq(sl N ) of Drinfeld, Jimbo and Lusztig. As an algebra, the C*-groupoid is a quotient of Uq(sl N). As a coalgebra, it naturally reflects the categorical quotient construction. In particular, it is not coassociative, but satisfies axioms of the weak quasi-Hopf C*-algebras: quasi-coassociativity and non-unitality of the coproduct. There are also a multiplicative counit, an antipode, and an R-matrix. For this, we give a general construction of quantum groupoids for complex simple Lie algebras g ̸= E8 and certain roots of unity. Our main tools here are Drinfeld’s coboundary associated to the R-matrix, related to the algebra involution, and certain canonical projections introduced by Wenzl, which yield the coproduct and Drinfeld’s associator in an explicit way. Tensorial properties of the negligible modules reflect in a rather special nature of the associator. We next reduce the proof of the categorical equivalence to the problems of establishing semisimplicity and computing dimension of the groupoid. In the case g = slN we construct a (non-positive) Haar-type functional on an associative version of the dual groupoid satisfying key non-degeneracy properties. This enables us to complete the proof

    Catalytic, selective, and stereocontrolled construction of C4 quaternary and homobenzylic dihydroisoquinolones by sp3 C–H benzylation

    Get PDF
    C1 benzylated isoquinoline derivatives constitute the core of benzylisoquinoline alkaloids (BIAs). However, their C4 congeners remain elusive. Here, we describe a diastereoselective, catalytic, and modular C(sp3)–C(sp3) coupling protocol wherein β-amino sp3 C–H bonds of readily affordable vicinally functionalized dihydroisoquinolones are replaced by sp3 C–benzyl bonds. The method provides expedient access to C4 quaternary and homobenzylic dihydroisoquinolones, which are attractive fragments for potential drug discovery

    Modular invariants for group-theoretical modular data. I

    Get PDF
    We classify indecomposable commutative separable (special Frobenius) algebras and their local modules in (untwisted) group-theoretical modular categories. This gives a description of modular invariants for group-theoretical modular data. As a bi-product we provide an answer to the question when (and in how many ways) two group-theoretical modular categories are equivalent as ribbon categories

    Event Reconstruction with MarlinReco at the ILC

    Get PDF
    After an overview of the modular analysis and reconstruction framework Marlin an introduction on the functionality of the Marlin-based reconstruction package MarlinReco is given. This package includes a full set of modules for event reconstruction based on the Particle Flow approach. The status of the software is reviewed and recent results using this software package for event reconstruction are presented.Comment: 6 pages, 2 .eps figures, to appear in Proc. LCWS06, Bangalore, March 200
    • …
    corecore