CnD

Software captura de pantalla:
CnD
Detalles de software:
Versión: 2012.1
Fecha de carga: 14 Apr 15
Licencia: Libre
Popularidad: 11

Rating: nan/5 (Total Votes: 0)

CND es un traductor Python-fuente a fuente que facilita el uso de n-dimensionales arrays en C más agradable & nbsp; Se convertirá este código.:
vacío sgemm (float * a, float * b, float * c, int n)
{
& Nbsp; dimensión "fortran" un [n, n];
& Nbsp; dimensión "fortran" b [n, n];
& Nbsp; dimensión c [n, n];
& Nbsp; for (int i = 1; i <= n; ++ i)
& Nbsp; for (int j = 1; j <= n; j ++)
& Nbsp; {
& Nbsp; float tmp = 0;
& Nbsp; for (int k = 1; k <= n; k ++)
& Nbsp; tmp + = a [i, k] * b [k, j];
& Nbsp; c [i-1, j-1] = tmp;
& Nbsp;}
}
en esto:
vacío sgemm (float * a, float * b, float * c, int n)
{
& Nbsp; for (int i = 1; i <= n; ++ i)
& Nbsp; for (int j = 1; j <= n; j ++)
& Nbsp; {
& Nbsp; float tmp = 0;
& Nbsp; for (int k = 1; k <= n; k ++)
& Nbsp; tmp + = a [((k - 1) * ((n - 1) + 1)) + (i - 1)] * b [((j - 1) * ((n - 1) + 1) ) + (k - 1)];
& Nbsp; c [((i - 1) * n) + (j - 1)] = tmp;
& Nbsp;}
}
También puede echar un vistazo a un ejemplo más completo que muestra algunas campanas y silbatos extra.
El único efecto de una declaración dimensión es modificar la interpretación del operador subíndice de matriz (idx). declaraciones dimensión obedecen reglas regulares de ámbito C.
También me gustaría señalar que la Comisión de Estupefacientes es un traductor basado en analizador robusto, no una herramienta de reemplazo de texto escamosa. Comprende todos C99, además de muchas extensiones de GNU.
Cada especificación de eje en una declaración dimensión tiene la siguiente forma:
Inicio: Fin: zancada: leading_dimension
inicio puede ser omitido. extremo y zancada también pueden omitirse, pero si las entradas después de ellos se han de especificar, sus dos puntos de arrastre deben permanecer en su lugar. Por ejemplo, la especificación de eje: 5 simplemente especifica un paso de 5. El paso simplemente actúa como un multiplicador en el índice. No plausibilidad comprobando alguno se hace en la declaración dimensión. Usted puede disparar en el pie como quieras.
Si el diseño se da como "c" o no se da en absoluto, las siguientes cosas son ciertas:
- El conjunto se presenta en orden de las filas.
- El índice final se toma para ser exclusivo, si se especifica.
- Los valores predeterminados índice inicial a 0.
Si el diseño se da como "fortran", las siguientes cosas son ciertas:
- El conjunto se presenta en orden por columnas.
- El índice final se toma para ser incluido, si se especifica.
- Los valores predeterminados índice inicial a 1.
(La mayoría) de los conocimientos contenidos en la declaración de dimensión puede reobtained mediante programación las funciones siguientes aparatos:
- Rankof (a)
- Nitemsof (a)
- Lboundof (un eje)
- Uboundof (a, eje) (devuelve el límite superior especificado por el usuario)
- Puboundof (a, eje) (devuelve el índice apenas más allá del final del eje)
- Ldimof (un eje)
- Strideof (un eje)
En cada caso, el eje debe ser un número entero constante (no una expresión constante, un entero normal).
La instalación / uso
Usted puede obtener CND mediante la descarga del archivo tar del índice de paquetes, o desde github:
& Nbsp; git clone git: //github.com/inducer/cnd.git
& Nbsp; cnd cd
 init submódulo git
& Nbsp; actualización submódulo git
Para utilizar la CND, simplemente añada distribución-dir / bin al PATH.
Para empezar, sólo tiene que ejecutar (desde la raíz CND):
& nbsp; ejemplos cd
& Nbsp; ../ bin / gcc CNDCC -std = c99 basic.c
& Nbsp; ./ a.out
Si desea un control más preciso sobre el proceso de traducción, el comando cnd expone simplemente la traducción de fuente a fuente. Tenga en cuenta que la Comisión de Estupefacientes espera fuente preprocesado. Usted puede pasar el -E opción para que cnd ejecutar el preprocesador en su fuente para usted. Carrera:
& Nbsp; cnd -h
para obtener ayuda completa de la interfaz de línea de comandos. Usted puede configurar la variable de entorno CND_CPP al preprocesador que desea utilizar.

¿Qué hay de nuevo en esta versión:

  • Sintaxis cambio de una [i; j] a [i, j] .
  • Todavía más apoyo analizador para los encabezados de la vida real.

Requisitos :

  • Python

Otro software de desarrollador Andreas Kloeckner

PuDB
PuDB

20 Feb 15

PyOpenCL
PyOpenCL

28 Sep 15

Comentarios a la CnD

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!