Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								f4a847894f 
								
							 
						 
						
							
							
								
								LibPDF: Make SampledFunction::evaluate() work for n-dimensional input  
							
							... 
							
							
							
							I didn't find example code for this and the AI assistant did very
poorly on this as well. So I had to write it all by myself!
It can be much more efficient I think, but I think the overall
shape is maybe roughly fine. 
							
						 
						
							2023-11-12 07:55:04 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								a9ef65e64a 
								
							 
						 
						
							
							
								
								LibPDF: For multi-output SampledFunctions, fix output colors  
							
							... 
							
							
							
							For N outputs, the outputs aren't stored in N independent planes.
Instead, N output values are stored right next to each other in
the stream data. 
							
						 
						
							2023-11-11 08:55:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								ec739460e0 
								
							 
						 
						
							
							
								
								LibPDF: Add test for SampledFunction and fix bugs found by it  
							
							... 
							
							
							
							* SampledFunction now keeps the StreamObject it gets data from alive
  (doesn't matter too much in practice, but does matter in the test,
  where nothing else keeps the stream alive).
* If a sample is an integer, we would previously sample that value
  twice and then divide by zero when interpolating. Make sure to
  sample 1 unit apart. 
							
						 
						
							2023-11-11 08:55:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								323ba7404c 
								
							 
						 
						
							
							
								
								LibPDF: Implement SampledFunction::evaluate() for some sampled functions  
							
							... 
							
							
							
							Things now work for functions that are all of:
* linear
* 1-D input
* 8 bits per sample 
							
						 
						
							2023-11-10 15:03:30 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								fd1876441a 
								
							 
						 
						
							
							
								
								LibPDF: Implement SampledFunction::create()  
							
							
							
						 
						
							2023-11-10 15:03:30 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								cd9f4655ec 
								
							 
						 
						
							
							
								
								LibPDF: Tweak implementation of postscript roll op  
							
							... 
							
							
							
							Since positive offsets roll to the right, it makes more sense
to do the big reverse first. Gets rid of an awkward minus sign.
No behavior change. 
							
						 
						
							2023-11-10 14:45:38 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								b23ed86889 
								
							 
						 
						
							
							
								
								LibPDF: Implement StitchingFunction::evaluate()  
							
							
							
						 
						
							2023-11-10 14:45:16 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								ba34ddeb21 
								
							 
						 
						
							
							
								
								LibPDF: Implement StitchingFunction creation  
							
							
							
						 
						
							2023-11-10 14:45:16 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								80eec1e16b 
								
							 
						 
						
							
							
								
								LibPDF: Implement PostScriptCalculatorFunction  
							
							... 
							
							
							
							Includes a tokenizer and interpreter for the subset of PostScript
supported in PDF type 4 functions. 
							
						 
						
							2023-11-09 16:06:25 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								bbd86ee4f3 
								
							 
						 
						
							
							
								
								LibPDF: Implement ExponentialInterpolationFunction  
							
							
							
						 
						
							2023-11-06 10:01:05 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								1aed465efe 
								
							 
						 
						
							
							
								
								LibPDF: Implement Fuction::create()  
							
							
							
						 
						
							2023-11-06 10:01:05 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nico Weber 
								
							 
						 
						
							
							
							
							
								
							
							
								9204252d02 
								
							 
						 
						
							
							
								
								LibPDF: Add scaffolding for function objects  
							
							... 
							
							
							
							See PDF 1.7 Spec, "3.9 Functions". 
							
						 
						
							2023-11-06 10:01:05 +01:00