Форум программистов, компьютерный форум CyberForum.ru

Метод касательных, для решения уравнения на inline assembler - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу которая проверяет образуют ли элементы введенного с клавиатуры массива неубывающую последовательность http://www.cyberforum.ru/cpp-beginners/thread763547.html
Ребят, срочно нужна ваша помощь. Написать программу которая проверяет образуют ли элементы введенного с клавиатуры массива неубывающую последовательность
C++ Решение неравенства Постановка задачи 1. Составить программу решения неравенства или системы неравенств с постоянными a=5 b=-3 c=-14.5 a1=2 a2=-3 b1=1.5 b2=-1, считываемыми из файла, в интервале x в соответствии с вариантомa ax^2+bx+c>0 При решении неравенства или системы двух неравенств сначала необходимо решить одно или два уравнения, полученные из них, методом последовательного перебора значений x с шагом... http://www.cyberforum.ru/cpp-beginners/thread763543.html
C++ Программирование разветвляющихся алгоритмов. Вывести на экран количество дней оставшихся до конца месяца
Составить программу. Как из этой программы : Дан порядковый номер дня месяца, вывести на экран количество дней оставшихся до конца месяца. #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv) {
C++ Строки. Определение кол-ва символов
Вводятся две строки символов. Нужно определить, какие символы встречаются в обеих строках, а какие только в одной и вывести их. Добавлено через 17 часов 39 минут up N_N
C++ В заданном массиве А, содержащий 19 элементов, заменить все отрицательные элементы http://www.cyberforum.ru/cpp-beginners/thread763507.html
В заданном массиве А, содержащий 19 элементов, заменить все отрицательные элементы, стоящие на четных местах, средним арифметическим значением, вычисленным из всех отрицательных элементов; элементы, стоящие на нечетных местах , изменить геометрическим значением всех положительных элементов массива . Задан и превращен массивы вывести на печать.
C++ В программе объявлена переменная int x=1; определить значение выражения х>0 && x<1 ? 10/x : 10*x ответ уже известен, 10. Проблема в том что я не знаю каким образом он был получен.. а точнее какую функцию выполняет ":" здесь. просьба помочь у кого найдется свободная минутка подробнее

Показать сообщение отдельно
pepepe
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 3

Метод касательных, для решения уравнения на inline assembler - C++

16.01.2013, 19:49. Просмотров 390. Ответов 0
Метки (Все метки)

Добрый день. Пишу курсовую, суть оптимизировать c++ код, ассемблерными вставками, тоесть
C++
1
2
3
double f2(double x) {
    return 0;
}
до вида
C++
1
2
3
4
5
double f2(double x) {
    __asm{
         bla bla bla
        }
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "stdafx.h"
#include <conio.h>
#include <math.h>
#include <iostream>
#include <sstream>
#include <cstdio>
#include <ctime>
#include <stdio.h>
 
using namespace std;
 
double f(double x) {
    return pow(x,3)+2*pow(x,2)+3*x+5;
}
 
double f1(double x) {
    return 3*pow(x,2)+4*x+3;
}
 
double f2(double x) {
    return 6*x + 4;
}
 
int _tmain(int argc, _TCHAR* argv[])
{   
    int n=0;
    double a = -2,b=-2,c,eps=0.00001;
    cout<<"a="; cin>>a;
    cout<<"b="; cin>>b;
    cout<<"eps="; cin>>eps;
    if(f(a)*f2(a)>0) c=a;
    else c=b;
    do {
        c=c-f(c)/f1(c);
        n+=1;
    }
    while (fabs(f(c))>=eps);
    cout<<"c="<<c<<"\n";
    cout<<"n="<<n<<"\n";
}
сейчас остановился на функции fabs - абсолютное число. Как это можно реализовать на __asm ?

Добавлено через 1 час 55 минут
C++
1
2
3
4
5
6
7
8
    __asm
    {
        mov eax, num ; example -200 
            mov edi, eax
            shr edi,32
            xor eax, edi
            sub eax, edi
    }
сделал так, но это работает только для целых чисел, как сделать для дробных( -1,8765 )?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru