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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sock.cpp

?? fortran并行計算包
?? CPP
字號:
/* -*- Mode: C; c-basic-offset:4 ; -*- *//* * *  (C) 2001 by Argonne National Laboratory. *      See COPYRIGHT in top-level directory. */#include <winsock2.h>#include <ws2tcpip.h>#include <windows.h>#include <math.h>#define RGBtocolor_t(r,g,b) ((color_t)(((unsigned char)(r)|((unsigned short)((unsigned char)(g))<<8))|(((unsigned long)(unsigned char)(b))<<16)))#define getR(r) ((int)((r) & 0xFF))#define getG(g) ((int)((g>>8) & 0xFF))#define getB(b) ((int)((b>>16) & 0xFF))typedef int color_t;int send_xyminmax(double xmin, double ymin, double xmax, double ymax);int read_data(SOCKET sock, char *buffer, int length);extern HWND g_hWnd;extern HDC g_hDC;extern int g_width, g_height;extern HANDLE g_hMutex;int g_num_colors;static int g_max_iter;color_t *colors;SOCKET sock;color_t getColor(double fraction, double intensity){    /* fraction is a part of the rainbow (0.0 - 1.0) = (Red-Yellow-Green-Cyan-Blue-Magenta-Red)    intensity (0.0 - 1.0) 0 = black, 1 = full color, 2 = white    */    double red, green, blue;    int r,g,b;    double dtemp;    fraction = fabs(modf(fraction, &dtemp));    if (intensity > 2.0)	intensity = 2.0;    if (intensity < 0.0)	intensity = 0.0;    dtemp = 1.0/6.0;    if (fraction < 1.0/6.0)    {	red = 1.0;	green = fraction / dtemp;	blue = 0.0;    }    else    {	if (fraction < 1.0/3.0)	{	    red = 1.0 - ((fraction - dtemp) / dtemp);	    green = 1.0;	    blue = 0.0;	}	else	{	    if (fraction < 0.5)	    {		red = 0.0;		green = 1.0;		blue = (fraction - (dtemp*2.0)) / dtemp;	    }	    else	    {		if (fraction < 2.0/3.0)		{		    red = 0.0;		    green = 1.0 - ((fraction - (dtemp*3.0)) / dtemp);		    blue = 1.0;		}		else		{		    if (fraction < 5.0/6.0)		    {			red = (fraction - (dtemp*4.0)) / dtemp;			green = 0.0;			blue = 1.0;		    }		    else		    {			red = 1.0;			green = 0.0;			blue = 1.0 - ((fraction - (dtemp*5.0)) / dtemp);		    }		}	    }	}    }    if (intensity > 1)    {	intensity = intensity - 1.0;	red = red + ((1.0 - red) * intensity);	green = green + ((1.0 - green) * intensity);	blue = blue + ((1.0 - blue) * intensity);    }    else    {	red = red * intensity;	green = green * intensity;	blue = blue * intensity;    }    r = (int)(red * 255.0);    g = (int)(green * 255.0);    b = (int)(blue * 255.0);    return RGBtocolor_t(r,g,b);}int Make_color_array(int num_colors, int max, color_t colors[]){    double fraction, intensity;    int i;    intensity = 1.0;    for (i=0; i<max; i++)    {	fraction = (double)(i % num_colors) / (double)num_colors;	colors[i] = getColor(fraction, intensity);    }    return 0;}void getRGB(color_t color, int *r, int *g, int *b){    *r = getR(color);    *g = getG(color);    *b = getB(color);}int connect_to_pmandel(const char *host, int port, int &width, int &height){    sockaddr_in addr;    int result;    static int started = FALSE;    WSADATA wsaData;    char err[100];    struct hostent *lphost;    int optval;    if (!started)    {	/* Start the Winsock dll */	if ((result = WSAStartup(MAKEWORD(2, 0), &wsaData)) != 0)	{	    return result;	}	started = TRUE;    }    addr.sin_family = AF_INET;    lphost = gethostbyname(host);    if (lphost != NULL)	addr.sin_addr.s_addr = ((struct in_addr *)lphost->h_addr)->s_addr;    else    {	sprintf(err, "gethostbyname failed: error %d", WSAGetLastError());	MessageBox(NULL, err, "Error", MB_OK);	return -1;    }    addr.sin_port = htons(port);    sock = socket(AF_INET, SOCK_STREAM, 0);    if (connect(sock, (sockaddr*)&addr, sizeof(addr)) == SOCKET_ERROR)    {	sprintf(err, "connect failed: error %d", WSAGetLastError());	MessageBox(NULL, err, "Error", MB_OK);	return -1;    }    optval = 1;    setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char *)&optval, sizeof(optval));    result = read_data(sock, (char*)&width, sizeof(int));    if (result)	return -1;    result = read_data(sock, (char*)&height, sizeof(int));    if (result)	return -1;    result = read_data(sock, (char*)&g_num_colors, sizeof(int));    if (result)	return -1;    result = read_data(sock, (char*)&g_max_iter, sizeof(int));    if (result)	return -1;    g_width = width;    g_height = height;    colors = new color_t[g_max_iter+1];    Make_color_array(g_num_colors, g_max_iter, colors);    colors[g_max_iter] = 0; /* add one on the top to avoid edge errors */    /*    sprintf(err, "num_colors = %d", g_num_colors);    MessageBox(NULL, err, "Note", MB_OK);    */    return 0;}int send_xyminmax(double xmin, double ymin, double xmax, double ymax, int max_iter){    double temp[4];    int result, total;    char err[100];    RECT r;    char *buffer;    if (xmin != xmax && ymin != ymax && g_hDC)    {	r.left = 0;	r.right = g_width;	r.top = 0;	r.bottom = g_height;	FillRect(g_hDC, &r, (HBRUSH)GetStockObject(BLACK_BRUSH));    }    total = 4 * sizeof(double);    temp[0] = xmin;    temp[1] = ymin;    temp[2] = xmax;    temp[3] = ymax;    buffer = (char *)temp;    while (total)    {	result = send(sock, (const char *)buffer, total, 0);	if (result == SOCKET_ERROR)	{	    result = WSAGetLastError();	    if (result == WSAEWOULDBLOCK)	    {		timeval t;		fd_set set;		FD_ZERO(&set);		FD_SET(sock, &set);		t.tv_sec = 1;		t.tv_usec = 0;		select(1, NULL, &set, NULL, &t);		continue;	    }	    sprintf(err, "send failed: error %d", result);	    MessageBox(NULL, err, "Error", MB_OK);	    return -1;	}	total -= result;	buffer += result;    }    total = sizeof(int);    buffer = (char*)&max_iter;    while (total)    {	result = send(sock, (const char *)buffer, total, 0);	if (result == SOCKET_ERROR)	{	    result = WSAGetLastError();	    if (result == WSAEWOULDBLOCK)	    {		timeval t;		fd_set set;		FD_ZERO(&set);		FD_SET(sock, &set);		t.tv_sec = 1;		t.tv_usec = 0;		select(1, NULL, &set, NULL, &t);		continue;	    }	    sprintf(err, "send failed: error %d", result);	    MessageBox(NULL, err, "Error", MB_OK);	    return -1;	}	total -= result;	buffer += result;    }    if (max_iter != g_max_iter)    {	if (colors)	    delete [] colors;	g_max_iter = max_iter;	colors = new color_t[g_max_iter+1];	Make_color_array(g_num_colors, g_max_iter, colors);	colors[g_max_iter] = 0; /* add one on the top to avoid edge errors */    }    return 0;}int read_data(SOCKET sock, char *buffer, int length){    int result;    int num_bytes;    char err[100];    while (length)    {	num_bytes = recv(sock, buffer, length, 0);	if (num_bytes == SOCKET_ERROR)	{	    result = WSAGetLastError();	    if (result == WSAEWOULDBLOCK)	    {		timeval t;		fd_set set;		FD_ZERO(&set);		FD_SET(sock, &set);		t.tv_sec = 1;		t.tv_usec = 0;		select(1, &set, NULL, NULL, &t);		continue;	    }	    sprintf(err, "recv failed: error %d", result);	    MessageBox(NULL, err, "Error", MB_OK);	    return result;	}	if (num_bytes == 0)	{	    MessageBox(NULL, "socket connection to pmandel closed", "Error", MB_OK);	    return SOCKET_ERROR;	}	length -= num_bytes;	buffer += num_bytes;    }    return 0;}int get_pmandel_data(){    int temp[4];    int *buffer;    int size;    int result;    int i, j, k;    RECT r;    for (;;)    {	result = read_data(sock, (char*)temp, 4*sizeof(int));	if (result)	    return 0;	if (temp[0] == 0 && temp[1] == 0 && temp[2] == 0 && temp[3] == 0)	    return 0;	size = (temp[1] + 1 - temp[0]) * (temp[3] + 1 - temp[2]);	buffer = new int[size];	result = read_data(sock, (char *)buffer, size * sizeof(int));	if (result)	{	    delete buffer;	    return 0;	}	WaitForSingleObject(g_hMutex, INFINITE);	k = 0;	for (j=temp[2]; j<=temp[3]; j++)	{	    for (i=temp[0]; i<=temp[1]; i++)	    {		//SetPixel(g_hDC, i, j, colors[buffer[k]]);		SetPixelV(g_hDC, i, j, colors[buffer[k]]);		k++;	    }	}	ReleaseMutex(g_hMutex);	r.left = 0;	r.right = g_width;	r.top = 0;	r.bottom = g_height;	InvalidateRect(g_hWnd, &r, FALSE);	delete buffer;    }    return 1;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色网一区二区| 欧美性淫爽ww久久久久无| 精品久久一区二区三区| 六月婷婷色综合| 国产欧美一二三区| 91在线视频免费91| 一区二区三区免费看视频| 欧美一区午夜视频在线观看| 久久99久久精品| 国产精品毛片大码女人| 色婷婷精品久久二区二区蜜臂av | 亚洲国产视频a| 欧美日韩美女一区二区| 免费观看在线综合色| 欧美激情一区三区| 欧美伊人精品成人久久综合97 | 亚洲午夜免费福利视频| 欧美一级在线视频| 成人av资源在线观看| 亚洲午夜国产一区99re久久| 精品精品国产高清一毛片一天堂| 国产乱码精品一区二区三区av | 精品久久久久久久久久久久久久久 | 日本成人在线电影网| 免费观看30秒视频久久| 日韩精品中文字幕在线不卡尤物 | www.亚洲人| 亚洲国产精品久久久久婷婷884| 日韩欧美一区二区不卡| 成人av中文字幕| 日韩福利视频网| 国产精品嫩草久久久久| 555夜色666亚洲国产免| 99精品欧美一区| 蜜桃久久av一区| 亚洲精品免费一二三区| 精品少妇一区二区三区免费观看 | 日韩一区国产二区欧美三区| www.日本不卡| 麻豆精品精品国产自在97香蕉| 亚洲欧洲精品一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 色婷婷亚洲精品| 成人免费看片app下载| 免费一级片91| 亚洲电影中文字幕在线观看| 国产三级久久久| 欧美大片顶级少妇| 欧美日韩一级片网站| 99久免费精品视频在线观看| 国内国产精品久久| 男女男精品视频网| 亚洲午夜精品17c| 亚洲免费视频中文字幕| 久久免费视频色| 日韩亚洲欧美综合| 欧美日韩亚洲综合在线| 一道本成人在线| 不卡影院免费观看| 国产精品资源网| 久久99精品国产91久久来源| 男女男精品视频| 日韩国产欧美一区二区三区| 亚洲1区2区3区视频| 亚洲人快播电影网| 国产精品福利电影一区二区三区四区| 久久综合给合久久狠狠狠97色69| 日韩亚洲欧美在线观看| 欧美一区二区福利视频| 欧美一区二区三区免费大片| 777色狠狠一区二区三区| 在线观看免费成人| 在线国产电影不卡| 色999日韩国产欧美一区二区| 色综合久久六月婷婷中文字幕| 成人18视频在线播放| 99久久国产综合精品色伊| 成人免费视频国产在线观看| 99视频在线精品| 91免费版在线| 欧美少妇一区二区| 欧美一区二区三区在线电影| 91精品国产综合久久精品麻豆| 欧美日韩一级二级三级| 91精品国产美女浴室洗澡无遮挡| 日韩一区二区三区视频在线观看| 欧美一区二区三区不卡| 亚洲精品一区二区三区精华液| 2023国产精品视频| 中文字幕在线播放不卡一区| 综合中文字幕亚洲| 亚洲成人一区二区| 久久99热狠狠色一区二区| 国产一区二区三区在线观看精品 | 国产亚洲婷婷免费| 中文字幕在线一区| 一区二区激情小说| 日韩国产欧美在线观看| 久久机这里只有精品| 成人免费视频播放| 欧美亚洲日本一区| 91精品国产综合久久久久久久 | 99re视频这里只有精品| 欧美视频三区在线播放| 精品国精品国产尤物美女| 日本一区二区视频在线观看| 一区二区三区视频在线观看| 免费久久99精品国产| 高清久久久久久| 欧美日韩视频在线一区二区| 久久综合色播五月| 亚洲欧美日韩一区二区| 日韩国产欧美在线播放| 成人免费av网站| 欧美精品一二三区| 国产欧美一区二区三区在线老狼| 一区二区三区欧美亚洲| 老司机免费视频一区二区| 99麻豆久久久国产精品免费优播| 在线电影国产精品| 国产精品剧情在线亚洲| 欧美bbbbb| 91伊人久久大香线蕉| 日韩欧美亚洲国产另类| 亚洲欧美日韩人成在线播放| 激情综合色丁香一区二区| 91麻豆蜜桃一区二区三区| 精品久久久久久最新网址| 亚洲女性喷水在线观看一区| 韩国av一区二区三区在线观看| 成人av在线观| 久久一区二区三区国产精品| 亚洲一区成人在线| 成人精品高清在线| 精品久久人人做人人爱| 亚洲h在线观看| 99久久久精品免费观看国产蜜| 欧美tickling网站挠脚心| 亚洲国产精品一区二区久久| 成人美女视频在线看| 26uuu国产电影一区二区| 日韩av电影一区| 欧美色中文字幕| 亚洲乱码国产乱码精品精98午夜| 国产传媒一区在线| 精品美女在线播放| 美腿丝袜在线亚洲一区| 欧美日韩夫妻久久| 亚洲国产色一区| 91福利在线免费观看| 亚洲人成7777| 成人一级黄色片| 国产三区在线成人av| 激情综合五月婷婷| 日韩欧美你懂的| 日本视频在线一区| 欧美一区二区三区免费视频| 三级一区在线视频先锋| 欧美亚洲愉拍一区二区| 一区二区三区免费在线观看| 91在线观看下载| 一区视频在线播放| 91色porny在线视频| 亚洲丝袜美腿综合| 91首页免费视频| 亚洲人成亚洲人成在线观看图片| av色综合久久天堂av综合| 国产精品每日更新在线播放网址 | 2023国产精品| 国产精品资源站在线| 国产三级久久久| www.亚洲国产| 一区二区三区在线高清| 欧美午夜电影网| 日韩不卡在线观看日韩不卡视频| 日韩一卡二卡三卡四卡| 国内精品久久久久影院一蜜桃| 亚洲精品一线二线三线无人区| 国产精品一二三在| 亚洲欧洲av在线| 欧美无乱码久久久免费午夜一区 | 色噜噜狠狠成人中文综合| 一区二区成人在线视频| 在线成人av网站| 麻豆精品视频在线观看免费| 久久影院视频免费| www.日韩在线| 午夜国产精品影院在线观看| 欧美成人一区二区三区在线观看 | 91啪在线观看| 五月激情六月综合| 久久综合网色—综合色88| 成人精品高清在线| 一级精品视频在线观看宜春院 | 亚洲电影第三页| 久久综合精品国产一区二区三区 | 一本高清dvd不卡在线观看| 午夜欧美电影在线观看| 久久久另类综合| 色屁屁一区二区|