Модераторы: PILOT
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подпрограмма для Фортран, разовая удалённая работа 
:(
    Опции темы
AO_COST
Дата 11.4.2007, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Работа для московского или подмосковного программиста
В программу Фортрана вставить вместонаписанной на  С+ программу на Ассемблере.

Подпрограммы библиотеки Dflib
используют для передачи информации формальные параметры:
       INTERFACE
!DEC$ IF DEFINED(_X86_)
    SUBROUTINE setpixelsrgb(n,x,y,color)
!DEC$ ATTRIBUTES DEFAULT :: setpixelsrgb
!DEC$ ATTRIBUTES C,ALIAS:"__setpixelsrgb" ::  setpixelsrgb
!DEC$ ELSE
    SUBROUTINE setpixelsrgb(n,x,y,color)
!DEC$ ATTRIBUTES DEFAULT :: setpixelsrgb
!DEC$ ATTRIBUTES C,ALIAS: "_setpixelsrgb" ::  setpixelsrgb
!DEC$ ENDIF
      INTEGER*4 n
      INTEGER*2 x (*)
!DEC$ ATTRIBUTES REFERENCE ::   x 
      INTEGER*2 y (*)
!DEC$ ATTRIBUTES REFERENCE ::   y 
      INTEGER*4 color (*)
!DEC$ ATTRIBUTES REFERENCE ::   color 
    END SUBROUTINE
      END INTERFACE
      INTERFACE
!DEC$ IF DEFINED(_X86_)
    SUBROUTINE getpixelsrgb(n,x,y,color)
!DEC$ ATTRIBUTES DEFAULT :: getpixelsrgb
!DEC$ ATTRIBUTES C,ALIAS:"__getpixelsrgb" ::  getpixelsrgb
!DEC$ ELSE
    SUBROUTINE getpixelsrgb(n,x,y,color)
!DEC$ ATTRIBUTES DEFAULT :: getpixelsrgb
!DEC$ ATTRIBUTES C,ALIAS: "_getpixelsrgb" ::  getpixelsrgb
!DEC$ ENDIF
      INTEGER*4 n
      INTEGER*2 x (*)
!DEC$ ATTRIBUTES REFERENCE ::   x 
      INTEGER*2 y (*)
!DEC$ ATTRIBUTES REFERENCE ::   y 
      INTEGER*4 color (*)
!DEC$ ATTRIBUTES REFERENCE ::   color 
    END SUBROUTINE
      END INTERFACE
      INTERFACE
Для ускорения работы указанных подпрограмм мне необходимо передавать массивы через конструкцию module.
Специально созданные в других языках (кроме Фортрана) подпрограммы не предлагать.
Желательно для приёма-предачи работы (или услуги или консультации )  использование территории города Москвы.



Это сообщение отредактировал(а) AO_COST - 19.9.2007, 17:25
PM MAIL   Вверх
AO_COST
Дата 7.5.2007, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Поработал с литературой (Бартеньев).
Понял, что прошу невозможное.
Для пердачи через параметры подпрограммы не массива, а ссылки на массив надо, чтобы исполняющая программы была не стандартной.
В этой связи прошу подпрограмму на Ассемблере, выводящую массив из блока module в видеопамять.
Что то похожее на нижепривведенное.
/*
     * ImageConsumer implementation
     */

    /*
     * Set image properties.
     */
    public void setProperties(Hashtable props)
    {
        // ignore
    }

    public void setColorModel(ColorModel cm)
    {
        if (forceRGB) {
            colorModel = new java.awt.image.DirectColorModel(24, 0xff0000, 0xff00, 0xff);
        }
        else {
            colorModel = cm;
        }
    }

    public void setDimensions(int width, int height)
    {
        this.width = width;
        this.height = height;
    }

    public void setHints(int hintflags)
    {
    }

    public void setPixels(int x, int y, int w, int h,
                          ColorModel model, byte pixels[], int off, int scansize)
    {
        if (finished) {
            return;
        }
        try {
            checkProxy(pixels);
        }
        catch (JimiException e) {
            abort();
            return;
        }
        if (forceRGB) {
            setPixelsRGB(x, y, w, h, model, pixels, off, scansize);
        }
        else {
            if (model == colorModel) {
                try {
                    byteImage.setRectangle(x, y, w, h, pixels, off, scansize);
                }
                catch (ImageAccessException e) {
                    abort();
                }
            }
            else {
                abort();
            }
        }
    }

    public void setPixels(int x, int y, int w, int h,
                          ColorModel model, int pixels[], int off, int scansize)
    {
        if (finished) {
            return;
        }
        try {
            checkProxy(pixels);
        }
        catch (JimiException e) {
            abort();
            return;
        }
        if (forceRGB) {
            setPixelsRGB(x, y, w, h, model, pixels, off, scansize);
        }
        else {
            if (model == colorModel) {
                try {
                    intImage.setRectangle(x, y, w, h, pixels, off, scansize);
                }
                catch (ImageAccessException e) {
                    abort();
                }
            }
            else {
                abort();
            }
        }
    }

    public void imageComplete(int status)
    {
        source.removeConsumer(this);
        if (!finished) {
            if (!finished && status != IMAGEERROR && status != IMAGEABORTED) {
                setFinished();
            }
            else {
                abort();
            }
        }
    }

    protected void setPixelsRGB(int x, int y, int w, int h,
                                ColorModel model, byte[] pixels, int off, int scansize)
    {
        int[] rowBuf = new int[pixels.length];
        for (int row = 0; row < h; row++) {
            for (int column = 0; column < w; column++) {
                rowBuf[column] = model.getRGB(pixels[off + (row * scansize) + column]);
            }
            try {
                intImage.setRectangle(x, y + row, w, 1, rowBuf, 0, w);
            }
            catch (ImageAccessException e) {
                abort();
            }
        }
    }

    protected void setPixelsRGB(int x, int y, int w, int h,
                                ColorModel model, int[] pixels, int off, int scansize)
    {
        int[] rowBuf = new int[pixels.length];
        for (int row = 0; row < h; row++) {
            for (int column = 0; column < w; column++) {
                rowBuf[column] = model.getRGB(pixels[off + (row * scansize) + column]);
            }
            try {
                intImage.setRectangle(x, y + row, w, 1, rowBuf, 0, w);
            }
            catch (ImageAccessException e) {
                abort();
            }
        }
    }

}


PM MAIL   Вверх
AO_COST
Дата 19.9.2007, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Задача остаётся актуальной.
Жду вопросы о цене вопроса
[email protected]
11.10.2010 добавлено:
Задача уточняется.
После заключения договора со мной исполнитель должен написать программу и зарегистрировать надлежащим в России способом на себя, а уж затем продать права мне на владение, аренду, продажу и залог прав на одновременное использование не более десяти реализаций программы, на максимальный срок , разрешенный нашим законодателем.

Это сообщение отредактировал(а) AO_COST - 10.10.2010, 23:46
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Объявления о найме специалистов"
BearBeer
  • Придерживайтесь правил форума.

  • Если вы предлагаете НЕ удалённую работу, то

    название города и фирмы обязательно указывать уже в названии темы(!)

  • Одна вакансия - одна тема.

    Вам будет удобней следить за ответами, ищущим работу - выбирать.


  • В случае, если у нас возникнут обоснованные подозрения

    о неблагонадежности Вашего электронного адреса, ваш аккаунт будет удалён, а доступ к форуму запрещён!


  • Хотите быстрее найти специалиста? Разместите тогда ваше объявление вверху всех страниц сайта! Тогда его будут ежедневно видеть более 4000 программистов! Обратите внимание на верхний левый угол сайта - там вы найдете дополнительные инструкции при клике на линк.

В случае невыполнения данных правил Ваши сообщения могут быть удалены без предупреждения.


Полный спискок правил. С уважением, BearBeer.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Объявления о найме специалистов | Следующая тема »


 




[ Время генерации скрипта: 0.1190 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.