Cosine function of x, where x is an integer between 0 and 1024, inclusive, and the value returned is an integer between -512 and 512, inclusive (Windows) or -1024 and 1024, inclusive (Mac OS)
Click here for a diagram of sin, cos, tan
Syntax
cos(x)
Original Machine Code (in OPER resource) of Filter Factory 3.0 and 3.0.4 for Photoshop/Win32
| 58 | pop eax (param_x) | |
| 8B D8 | mov ebx,eax | |
| C1 FB 1F | sar ebx,$1f (31) | |
| 33 C3 | xor eax,ebx | |
| 2B C3 | sub eax,ebx | |
| 25 FF 03 00 00 | and eax,$000003ff (1023) | |
| 0F BF 84 47 78 05 00 00 | movsx eax,[edi+eax*2+$00000578] (COS_LOOKUP) | |
| C1 F8 05 | sar eax,$05 (5) | |
| 50 | push eax | |
int factory_cos(int parm) {
int res;
if (parm < 0) parm = -parm;
parm &= 0x3ff; // 1023
res = COS_LOOKUP[parm];
return res >= 0 ? (res / 32) : res / 32 - 1;
}