/* Send the given line down the socket with CRLF appended. * Returns 0 on success or SOCK_* on failure. */ int sock_sendline(nsocket *sock, const char *line) { char *buffer; int ret; CONCAT2(buffer, line, "\r\n"); ret = sock_send_string(sock, buffer); free(buffer); return ret; }
void inner_loop (sharp_job *job, const int *ispair,const double *cth, const double *sth, int llim, int ulim, sharp_Ylmgen_C *gen, int mi, const int *idx) { int njobs=job->ntrans, nv=job->flags&SHARP_NVMAX; if (njobs<=MAXJOB_SPECIAL) { switch (njobs*16+nv) { #if ((MAXJOB_SPECIAL>=1)&&(SHARP_MAXTRANS>=1)) case 0x11: CONCAT3(inner_loop,1,1) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x12: CONCAT3(inner_loop,2,1) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x13: CONCAT3(inner_loop,3,1) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x14: CONCAT3(inner_loop,4,1) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x15: CONCAT3(inner_loop,5,1) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x16: CONCAT3(inner_loop,6,1) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; #endif #if ((MAXJOB_SPECIAL>=2)&&(SHARP_MAXTRANS>=2)) case 0x21: CONCAT3(inner_loop,1,2) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x22: CONCAT3(inner_loop,2,2) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x23: CONCAT3(inner_loop,3,2) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x24: CONCAT3(inner_loop,4,2) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x25: CONCAT3(inner_loop,5,2) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x26: CONCAT3(inner_loop,6,2) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; #endif #if ((MAXJOB_SPECIAL>=3)&&(SHARP_MAXTRANS>=3)) case 0x31: CONCAT3(inner_loop,1,3) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x32: CONCAT3(inner_loop,2,3) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x33: CONCAT3(inner_loop,3,3) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x34: CONCAT3(inner_loop,4,3) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x35: CONCAT3(inner_loop,5,3) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x36: CONCAT3(inner_loop,6,3) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; #endif #if ((MAXJOB_SPECIAL>=4)&&(SHARP_MAXTRANS>=4)) case 0x41: CONCAT3(inner_loop,1,4) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x42: CONCAT3(inner_loop,2,4) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x43: CONCAT3(inner_loop,3,4) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x44: CONCAT3(inner_loop,4,4) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x45: CONCAT3(inner_loop,5,4) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x46: CONCAT3(inner_loop,6,4) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; #endif #if ((MAXJOB_SPECIAL>=5)&&(SHARP_MAXTRANS>=5)) case 0x51: CONCAT3(inner_loop,1,5) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x52: CONCAT3(inner_loop,2,5) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x53: CONCAT3(inner_loop,3,5) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x54: CONCAT3(inner_loop,4,5) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x55: CONCAT3(inner_loop,5,5) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x56: CONCAT3(inner_loop,6,5) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; #endif #if ((MAXJOB_SPECIAL>=6)&&(SHARP_MAXTRANS>=6)) case 0x61: CONCAT3(inner_loop,1,6) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x62: CONCAT3(inner_loop,2,6) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x63: CONCAT3(inner_loop,3,6) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x64: CONCAT3(inner_loop,4,6) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x65: CONCAT3(inner_loop,5,6) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; case 0x66: CONCAT3(inner_loop,6,6) (job, ispair,cth,sth,llim,ulim,gen,mi,idx); return; #endif } } #if (SHARP_MAXTRANS>MAXJOB_SPECIAL) else { switch (nv) { case 1: CONCAT2(inner_loop,1) (job, ispair,cth,sth,llim,ulim,gen,mi,idx,job->ntrans); return; case 2: CONCAT2(inner_loop,2) (job, ispair,cth,sth,llim,ulim,gen,mi,idx,job->ntrans); return; case 3: CONCAT2(inner_loop,3) (job, ispair,cth,sth,llim,ulim,gen,mi,idx,job->ntrans); return; case 4: CONCAT2(inner_loop,4) (job, ispair,cth,sth,llim,ulim,gen,mi,idx,job->ntrans); return; case 5: CONCAT2(inner_loop,5) (job, ispair,cth,sth,llim,ulim,gen,mi,idx,job->ntrans); return; case 6: CONCAT2(inner_loop,6) (job, ispair,cth,sth,llim,ulim,gen,mi,idx,job->ntrans); return; } } #endif UTIL_FAIL("Incorrect vector parameters"); }