CnD

Софтуер снимки:
CnD
Софтуер детайли:
Версия: 2012.1
Дата на качване: 14 Apr 15
Розробник: Andreas Kloeckner
Разрешително: Безплатно
Популярност: 11

Rating: nan/5 (Total Votes: 0)

CND е Python източник-да-източник преводач, което прави използването на н двумерен масив в C Nbsp по-приятно и; Той ще се включи в този кодекс.:
нищожен sgemm (флоат * а, флоат * б, флоат * C, INT п)
{
& Nbsp; измерение "FORTRAN" на [N, N];
& Nbsp; измерение "FORTRAN" б [N, N];
& Nbsp; измерение в [N, N];
& Nbsp; за (INT I = 1; I <= N; ++ и)
& Nbsp; за (INT к = 1; J <= N; ++ й)
& Nbsp; {
& Nbsp; плувка TMP = 0;
& Nbsp; за (INT к = 1; к <= N; ++ к)
& Nbsp; TMP + = на [I, к] * б [к, к];
& Nbsp С [I-1, J-1] = TMP;
& Nbsp;}
}
в това:
нищожен sgemm (флоат * а, флоат * б, флоат * C, INT п)
{
& Nbsp; за (INT I = 1; I <= N; ++ и)
& Nbsp; за (INT к = 1; J <= N; ++ й)
& Nbsp; {
& Nbsp; плувка TMP = 0;
& Nbsp; за (INT к = 1; к <= N; ++ к)
& Nbsp; TMP + = на [((К - 1) * ((N - 1) + 1)) + (I - 1)] * б [((J - 1) * ((N - 1) + 1) ) + (к - 1)];
& Nbsp; C [((I - 1) * N) + (J - 1)] = TMP;
& Nbsp;}
}
Можете също така да разгледаме по-цялостен пример, който показва няколко допълнителни екстри.
Единственият ефект от декларация измерение е да се промени тълкуването на масив (IDX) индексът оператор. декларации измерение подчиняват редовни С правилата за обхват.
Бих искал също така да се отбележи, че CND е здрав, анализатор-базирани преводач, не люспест текст подмяна инструмент. Тя разбира, всички от C99, плюс много GNU разширения.
Всяка спецификация ос в декларация измерение има следния вид:
започнете: Край: крачката: leading_dimension
начало може да се пропусне. край и крачка може да не се проведе, но ако записите след тях следва да бъдат определени, техните крайни двоеточия трябва да останат в сила. Например, спецификацията ос: 5 просто определя крачка на 5. крачка просто действа като множител на индекса. Не правдоподобност проверка каквато се извършва в декларацията за измерение. Може да се стреля в крака някакъв начин ви харесва.
Ако оформлението е дадена като "C" или не дадено на всички, следните неща са верни:
- Масивът е изложена в ред-голяма цел.
- Индексът на края се приема, че е изключителен, ако са посочени.
- По подразбиране началото индекса към 0.
Ако оформлението е дадена като "FORTRAN", следните неща са верни:
- Масивът е изложена в колона-голяма цел.
- Индексът на края се предприемат, за да бъде отворен, ако е определено.
- По подразбиране началото индекса към 1.
(Повечето) на знания, съдържащи се в декларацията на разстояние може да бъде reobtained програмно от Включва следните функции:
- Rankof (а)
- Nitemsof (а)
- Lboundof (а, ос)
- Uboundof (а, ос) (връща горната граница потребителя, посочени)
- Puboundof (а, ос) (връща индекса съвсем близо до края на ос)
- Ldimof (а, ос)
- Strideof (а, ос)
Във всеки случай, ос трябва да бъде постоянно число (не е постоянна експресия, обикновен цяло число).
<Силен> Монтаж / Usage
Може да се получи CND, зареждайки Tarball от индекса на пакетите, или от GitHub:
& Nbsp; Git клонинг Git: //github.com/inducer/cnd.git
& Nbsp; CD CND
 Git подмодул първоначален
& Nbsp; Git актуализация подмодул
За да използвате CND, просто добавете дистрибуция-реж / бен да си PATH.
За да започнете, просто стартирате (отвътре CND корен):
& Nbsp; CD примери
& Nbsp; ../ бин / cndcc GCC -std = C99 basic.c
& Nbsp; ./ a.out
Ако искате да получите по-фин контрол върху процеса на превод, командата CND излага само превода източник-да-източник. Имайте предвид, че CND очаква обработва предварително източник. Вие може да премине на вариант -Е да имат CND стартирате Препроцесорът на вашия източник за вас. Стартирай:
& Nbsp; CND -Н
за да получите пълен помощ на интерфейса на командния ред. Можете да настроите променливата на обкръжението CND_CPP да Препроцесорът желаете да използвате.

Какво ново в тази версия:

  • Синтаксис промяна от [I; J] до [I, J] .
  • Още по-анализатор подкрепа за удара с глава на реалния живот.

<силни> Изисквания :

  • Python

Друг софтуер на разработчика Andreas Kloeckner

PyOpenCL
PyOpenCL

28 Sep 15

PuDB
PuDB

20 Feb 15

Коментари към CnD

Коментари не е намерена
добавите коментар
Включете на изображения!