亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? doubleinstruction.cpp

?? 嵌入式Qt下的一個計算器源碼
?? CPP
字號:
/******************************************************************************** Copyright (C) 2000-2006 TROLLTECH ASA. All rights reserved.**** This file is part of the Phone Edition of the Qtopia Toolkit.**** Licensees holding a valid license agreement from Trolltech or any of its** authorized distributors may use this file in accordance with** the License Agreement provided with the Licensed Software.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for**   information about Trolltech's Commercial License Agreements.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.********** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/// Maths libraries#include <math.h>#include "doubleinstruction.h"#ifdef ENABLE_INTEGER#include "integerdata.h"#endif#ifdef ENABLE_FRACTION#include "fractiondata.h"#endif#include "engine.h"int isOddInt(double value) {    double temp;    return ( modf(value, &temp) == 0.0 && modf(value/2, &temp) == 0.5 );}// Base classBaseDoubleInstruction::BaseDoubleInstruction() {    retType = type = "Double"; // No tr}BaseDoubleInstruction::~BaseDoubleInstruction(){};void BaseDoubleInstruction::eval() {    DoubleData *acc = (DoubleData *)systemEngine->getData();    if (argCount == 1)	doEvalI(acc);    else {	DoubleData *num = (DoubleData *)systemEngine->getData();	doEval(num,acc);	delete num;    }    delete acc;}void BaseDoubleInstruction::doEval(DoubleData *acc, DoubleData *num) {    systemEngine->putData(num);    systemEngine->putData(acc);}void BaseDoubleInstruction::doEvalI(DoubleData *acc) {    systemEngine->putData(acc);}// FactoryiDoubleFactory::iDoubleFactory():Instruction() {    retType = type = "Double"; // No tr    name = "Factory"; // No tr}void iDoubleFactory::eval() {    DoubleData *newData = new DoubleData();    newData->clear();    systemEngine->putData(newData);}// CopyiDoubleCopy::iDoubleCopy():Instruction() {    name = "Copy"; // No tr    retType = type = "Double"; // No tr    argCount = 1;}void iDoubleCopy::eval() {    DoubleData *src = (DoubleData *)systemEngine->getData();    DoubleData *tgt = new DoubleData();    tgt->clear();    tgt->set(((DoubleData *)src)->get());    systemEngine->putData(src);    systemEngine->putData(tgt);};#ifdef ENABLE_INTEGERiConvertIntDouble::iConvertIntDouble():Instruction() {    name = "Convert"; // No tr    typeOne = "Int"; // No tr    typeTwo = "Double"; // No tr}void iConvertIntDouble::eval(Data *d) {    DoubleData *ret = new DoubleData();;    IntegerData *i = (IntegerData *)d;    ret->set((double)i->get());    return ret;}#endif#ifdef ENABLE_FRACTIONiConvertFractionDouble::iConvertFractionDouble():Instruction() {    name = "Convert"; // No tr    type = "Fraction"; // No tr    retType = "Double"; // No tr}void iConvertFractionDouble::eval() {    DoubleData *ret = new DoubleData();    FractionData *f = (FractionData *)systemEngine->getData();    if (!f->getDenominator()) {	systemEngine->setError(eDivZero);	ret->set(0);    } else {	double num = f->getNumerator();	double den = f->getDenominator();	double val = num / den;	ret->set(val);    }    delete f;    systemEngine->putData(ret);}#endif// Mathematical functionsiAddDoubleDouble::iAddDoubleDouble():BaseDoubleInstruction() {    name = "Add"; // No tr    precedence = 10;    displayString = "+";    argCount = 2;}iSubtractDoubleDouble::iSubtractDoubleDouble():BaseDoubleInstruction() {    name = "Subtract"; // No tr    precedence = 10;    displayString = "-";    argCount = 2;}iDivideDoubleDouble::iDivideDoubleDouble():BaseDoubleInstruction() {    name = "Divide"; // No tr    precedence = 15;    displayString = "/";    argCount = 2;}iMultiplyDoubleDouble::iMultiplyDoubleDouble():BaseDoubleInstruction() {    name = "Multiply"; // No tr    precedence = 15;    displayString = "x";    argCount = 2;}void iAddDoubleDouble::doEval(DoubleData *acc, DoubleData *num) {    DoubleData *result = new DoubleData();    result->set(acc->get() + num->get());    systemEngine->putData(result);}void iSubtractDoubleDouble::doEval(DoubleData *acc, DoubleData *num) {    DoubleData *result = new DoubleData();    result->set(acc->get() - num->get());    systemEngine->putData(result);}void iMultiplyDoubleDouble::doEval(DoubleData *acc, DoubleData *num) {    DoubleData *result = new DoubleData();    result->set(num->get() * acc->get());    systemEngine->putData(result);}void iDivideDoubleDouble::doEval(DoubleData *acc, DoubleData *num) {    if (num->get() == 0) {	systemEngine->setError(eDivZero);	return;    }    DoubleData *result = new DoubleData();    result->set( acc->get() / num->get() );    systemEngine->putData(result);}iDoubleNegate::iDoubleNegate():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "Negate"; // No tr}void iDoubleNegate::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( 0 - acc->get() );    result->setEdited(true);    systemEngine->putData(result);}#ifdef ENABLE_SCIENCEvoid iDoublePow::doEval(DoubleData *acc, DoubleData *num) {    DoubleData *result = new DoubleData();    result->set( pow(acc->get(),num->get()) );    systemEngine->putData(result);}void iDoubleXRootY::doEval(DoubleData *acc,DoubleData *num) {    DoubleData *result = new DoubleData();    if (acc->get() < 0 && isOddInt(num->get()))        result->set( -1 * pow(-1*acc->get(), 1 / num->get()) );    else         result->set( pow(acc->get(), 1 / num->get()) );    systemEngine->putData(result);}// Immediate//trigonometric functions radians modevoid iDoubleSinRad::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( sin(acc->get()) );    systemEngine->putData(result);}void iDoubleCosRad::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( cos(acc->get()) );    systemEngine->putData(result);}void iDoubleTanRad::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( tan(acc->get()) );    systemEngine->putData(result);}void iDoubleASinRad::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( asin(acc->get()) );    systemEngine->putData(result);}void iDoubleACosRad::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( acos(acc->get()) );    systemEngine->putData(result);}void iDoubleATanRad::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( atan(acc->get()) );    systemEngine->putData(result);}//trigonometric functions - degree modevoid iDoubleSinDeg::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( sin(acc->get()*M_PI/180) );    systemEngine->putData(result);}void iDoubleCosDeg::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( cos(acc->get()*M_PI/180) );    systemEngine->putData(result);}void iDoubleTanDeg::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( tan(acc->get()*M_PI/180) );    systemEngine->putData(result);}void iDoubleASinDeg::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( asin(acc->get())*180/M_PI );    systemEngine->putData(result);}void iDoubleACosDeg::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( acos(acc->get())*180/M_PI );    systemEngine->putData(result);}void iDoubleATanDeg::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( atan(acc->get())*180/M_PI );    systemEngine->putData(result);}//trigonometric functions - gradians modevoid iDoubleSinGra::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( sin(acc->get()*M_PI/200) );    systemEngine->putData(result);}void iDoubleCosGra::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( cos(acc->get()*M_PI/200) );    systemEngine->putData(result);}void iDoubleTanGra::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( tan(acc->get()*M_PI/200) );    systemEngine->putData(result);}void iDoubleASinGra::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( asin(acc->get())*200/M_PI );    systemEngine->putData(result);}void iDoubleACosGra::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( acos(acc->get())*200/M_PI );    systemEngine->putData(result);}void iDoubleATanGra::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( atan(acc->get())*200/M_PI );    systemEngine->putData(result);}void iDoubleLog::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( log10(acc->get()) );    systemEngine->putData(result);}void iDoubleLn::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( log(acc->get()) );    systemEngine->putData(result);}void iDoubleExp::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( exp(acc->get()) );    systemEngine->putData(result);}void iDoubleOneOverX::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( 1 / acc->get() );    systemEngine->putData(result);}void iDoubleFactorial::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    if (acc->get() < 0) {	systemEngine->setError(eNonPositive);    } else if ( acc->get() > 180 ) {	systemEngine->setError(eOutOfRange);    } else if ( acc->get() != int(acc->get()) ) {	systemEngine->setError(eNonInteger);    } else {	int count = int(acc->get());	result->set(1);	while (count) {	    result->set(result->get()*count);	    count--;	}    }    systemEngine->putData(result);}void iDoubleSquareRoot::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( sqrt(acc->get()) );    systemEngine->putData(result);}void iDoubleCubeRoot::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();#ifndef Q_OS_WIN32    result->set( cbrt(acc->get()) );#else    Engine->setError("Cubic root not available for WIN32"); // No tr#endif    systemEngine->putData(result);}void iDoubleSquare::doEvalI(DoubleData *acc) {    DoubleData *result = new DoubleData();    result->set( acc->get() * acc->get() );    systemEngine->putData(result);}// Normal instructions with full precedenceiDoublePow::iDoublePow():BaseDoubleInstruction() {    name = "Pow"; // No tr    precedence = 20;    displayString = "^";    argCount = 2;}iDoubleSinRad::iDoubleSinRad():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "SinRad"; // No tr}iDoubleCosRad::iDoubleCosRad():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "CosRad"; // No tr}iDoubleTanRad::iDoubleTanRad():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "TanRad"; // No tr}iDoubleASinRad::iDoubleASinRad():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "aSinRad"; // No tr}iDoubleACosRad::iDoubleACosRad():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "aCosRad"; // No tr}iDoubleATanRad::iDoubleATanRad():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "aTanRad"; // No tr}iDoubleSinDeg::iDoubleSinDeg():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "SinDeg"; // No tr}iDoubleCosDeg::iDoubleCosDeg():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "CosDeg"; // No tr}iDoubleTanDeg::iDoubleTanDeg():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "TanDeg"; // No tr}iDoubleASinDeg::iDoubleASinDeg():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "aSinDeg"; // No tr}iDoubleACosDeg::iDoubleACosDeg():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "aCosDeg"; // No tr}iDoubleATanDeg::iDoubleATanDeg():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "aTanDeg"; // No tr}iDoubleSinGra::iDoubleSinGra():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "SinGra"; // No tr}iDoubleCosGra::iDoubleCosGra():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "CosGra"; // No tr}iDoubleTanGra::iDoubleTanGra():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "TanGra"; // No tr}iDoubleASinGra::iDoubleASinGra():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "aSinGra"; // No tr}iDoubleACosGra::iDoubleACosGra():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "aCosGra"; // No tr}iDoubleATanGra::iDoubleATanGra():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "aTanGra"; // No tr}iDoubleLog::iDoubleLog():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "Log"; // No tr}iDoubleLn::iDoubleLn():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "Ln"; // No tr}iDoubleExp::iDoubleExp():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "Exp"; // No tr}iDoubleOneOverX::iDoubleOneOverX():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "One over x"; // No tr}iDoubleFactorial::iDoubleFactorial():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "Factorial"; // No tr}iDoubleSquareRoot::iDoubleSquareRoot():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "Square root"; // No tr}iDoubleCubeRoot::iDoubleCubeRoot():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "Cube root"; // No tr}iDoubleXRootY::iDoubleXRootY():BaseDoubleInstruction() {    name = "X root Y"; // No tr    precedence = 20;    displayString = "to the root";    argCount = 2;}iDoubleSquare::iDoubleSquare():BaseDoubleInstruction() {    precedence = 0;    argCount = 1;    name = "Square"; // No tr}#endif //ENABLE_SCIENCE

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美变态tickling挠脚心| 欧美国产日韩亚洲一区| 国产成人av影院| 午夜激情综合网| 亚洲一区在线播放| 亚洲一区电影777| 亚洲免费在线视频| 亚洲激情成人在线| 精品99999| 26uuu精品一区二区在线观看| 午夜视频在线观看一区| 一区二区三区在线视频观看58| 中文字幕一区二区日韩精品绯色| 亚洲国产精品高清| 日韩美女视频一区| 夜夜嗨av一区二区三区中文字幕| 一区二区三区欧美日韩| 午夜在线成人av| 免费在线欧美视频| 国产盗摄精品一区二区三区在线| 成人理论电影网| 欧美性猛交xxxx乱大交退制版| 欧美喷水一区二区| 久久久久久久久岛国免费| 中文字幕乱码一区二区免费| 亚洲精品日日夜夜| 免费人成黄页网站在线一区二区| 国产一区二区三区日韩| 99久久精品一区| 欧美一区二区三区性视频| 久久精品一二三| 亚洲伊人伊色伊影伊综合网| 久久成人久久鬼色| 色综合色狠狠天天综合色| 91蝌蚪porny| 日韩中文字幕亚洲一区二区va在线| 久久精品一二三| 《视频一区视频二区| 亚洲第一久久影院| 国产成人免费在线| 欧美日韩一区二区不卡| 久久婷婷成人综合色| 亚洲国产综合色| av男人天堂一区| 欧美蜜桃一区二区三区| 国产精品美女久久久久久久| 亚洲成人自拍一区| 成人免费毛片高清视频| 日韩精品一区国产麻豆| 亚洲女同ⅹxx女同tv| 国产露脸91国语对白| 欧美日韩精品欧美日韩精品一 | 91麻豆自制传媒国产之光| 日韩福利视频网| 成人免费视频视频在线观看免费 | 一区二区视频在线看| 老司机午夜精品99久久| 欧美少妇一区二区| 国产精品免费久久久久| 国产麻豆午夜三级精品| 欧美一区二区三区在线观看视频| 亚洲美女少妇撒尿| 国产不卡视频一区二区三区| 欧美成人一区二区三区 | 欧美日韩国产精品成人| 亚洲丝袜制服诱惑| 成人在线视频首页| 久久麻豆一区二区| 精品一区二区三区av| 欧美一激情一区二区三区| 亚洲高清视频中文字幕| 色久综合一二码| 亚洲精品久久久久久国产精华液| 成人一区在线观看| 国产亚洲一区二区三区在线观看 | 亚洲欧美一区二区在线观看| 国产aⅴ综合色| 国产精品三级av在线播放| 懂色av一区二区三区蜜臀| 久久久国产一区二区三区四区小说 | 国产一区二区视频在线| 精品少妇一区二区三区 | 中文字幕一区二区三区乱码在线 | 日韩欧美高清一区| 亚洲在线一区二区三区| 伊人色综合久久天天| 麻豆一区二区三| 99国产欧美另类久久久精品| 欧美精品久久一区| 中文字幕不卡在线播放| 日韩精品亚洲一区| 成人免费毛片a| 日韩免费福利电影在线观看| 亚洲精选视频在线| 亚洲国产另类av| 国产综合成人久久大片91| 日韩免费在线观看| 丁香五精品蜜臀久久久久99网站| 国产蜜臀av在线一区二区三区| 99久久精品国产精品久久 | 水蜜桃久久夜色精品一区的特点| 在线成人小视频| 国内外成人在线视频| 亚洲欧美综合色| 欧美另类高清zo欧美| 国产综合色产在线精品| 亚洲视频电影在线| 欧美一级xxx| 91网址在线看| 另类人妖一区二区av| 日韩久久一区二区| 欧美一区二区私人影院日本| www.色综合.com| 日韩中文字幕91| 中文字幕亚洲在| 日韩免费一区二区| 欧美日韩国产综合久久| 免费成人深夜小野草| 久久爱www久久做| 在线观看不卡一区| 精品三级av在线| av在线播放一区二区三区| 一个色综合网站| 2019国产精品| 正在播放亚洲一区| 色婷婷av一区二区三区软件 | 国产日韩av一区二区| 欧美日韩国产美| 成人a级免费电影| 精东粉嫩av免费一区二区三区| 亚洲女子a中天字幕| 国产午夜精品久久| 日韩一区二区精品在线观看| 91麻豆福利精品推荐| 国产精品66部| 国产一区 二区 三区一级| 天天影视色香欲综合网老头| 久久99热国产| 香蕉久久一区二区不卡无毒影院| 国产日产欧美一区| 精品黑人一区二区三区久久| 欧美精品v日韩精品v韩国精品v| 成人黄色电影在线| 国产91清纯白嫩初高中在线观看 | 久久久精品黄色| 在线播放中文字幕一区| 欧美影片第一页| 91女厕偷拍女厕偷拍高清| 成人性生交大片免费看在线播放| 国模大尺度一区二区三区| 免费av成人在线| 久久精品国产一区二区三区免费看 | 免费人成精品欧美精品| 日韩国产欧美在线播放| 日日摸夜夜添夜夜添亚洲女人| 亚洲综合色视频| 亚洲国产一区在线观看| 夜色激情一区二区| 久久亚洲精精品中文字幕早川悠里 | 欧美日韩国产高清一区二区| 欧美怡红院视频| 欧美猛男gaygay网站| 欧美精品123区| 日韩欧美国产一区二区三区 | av在线播放成人| 一区二区三区在线视频免费观看| 中文字幕一区二区在线观看 | 精品污污网站免费看| 欧美主播一区二区三区| 日本美女视频一区二区| 天天综合日日夜夜精品| 人人狠狠综合久久亚洲| 久久久精品日韩欧美| 亚洲成a人片综合在线| 不卡一二三区首页| 2023国产精品| 人人精品人人爱| 欧美日韩高清一区二区不卡| 中文字幕在线一区二区三区| 激情综合色丁香一区二区| 欧美日本不卡视频| 亚洲人快播电影网| 成人国产电影网| 久久久精品综合| 国产精品一区专区| 精品国产一区二区三区久久久蜜月 | 香蕉久久一区二区不卡无毒影院| 99久久99久久精品免费看蜜桃| 欧美电视剧免费全集观看| 水蜜桃久久夜色精品一区的特点 | 1区2区3区欧美| 懂色av一区二区三区蜜臀| 久久久国产精品不卡| 狠狠色综合日日| 精品国产电影一区二区| 韩国女主播一区| 久久日一线二线三线suv| 国产在线国偷精品产拍免费yy| 精品日韩一区二区三区免费视频| 日韩成人一区二区三区在线观看|